Adds a few JSCore symbol exports that the wx port needs access.
Created attachment 124441 [details] Patch
Also, wanted to note that wxWebKit needs to have RTTI enabled since wx itself does. I wasn't sure if we wanted to actually introduce some WTF_RTTI_EXPORT macro since it's only this one case so far and I'm not sure which, if any, other ports are turning on RTTI.
Besides RTTI, I'm curious why wx port requires extra, C++ level API to be exported. Can these be part of C API ideally? Or is there any reason preventing it?
(In reply to comment #3) > Besides RTTI, I'm curious why wx port requires extra, C++ level API to be exported. > Can these be part of C API ideally? Or is there any reason preventing it? While the unresolved symbols do trigger for the wx port, they are not found anywhere in the wx layer. All the references to these symbols appear to be in the jsc test harness and the WebCore JS bindings. I am posting the exact linker output for the jsc and libwxwebkit.dylib targets below to show what source files are referencing those symbols. It's certainly possible this could be related to configuration differences, like with the RTTI problem, but I would actually think allocateSlowCase and toStringSlowCase would be pretty obvious targets for exporting, so I'm more curious as to how it is that the other ports do not need to export these symbols. (All other to<Whatever>SlowCase methods in JSString are exported, for example.) I also, as a sanity check, checked that the Apple Mac port's JSArrayBufferView.cpp and the wx Mac port's JSArrayBufferView.cpp were identical, so I don't think it's that the wx port's DerivedSources are somehow different. Anyway, here's the linker output for wx without the added symbol exports: linker errors for jsc: Undefined symbols for architecture i386: "JSC::MarkedSpace::allocateSlowCase(JSC::MarkedSpace::SizeClass&)", referenced from: JSC::MarkedSpace::allocate(JSC::MarkedSpace::SizeClass&)in jsc_2.o "JSC::JSValue::toStringSlowCase(JSC::ExecState*) const", referenced from: JSC::JSValue::toString(JSC::ExecState*) constin jsc_2.o ld: symbol(s) not found for architecture i386 collect2: ld returned 1 exit status linker errors for libwxwebkit.dylib: Undefined symbols for architecture i386: "JSC::MarkedSpace::allocateSlowCase(JSC::MarkedSpace::SizeClass&)", referenced from: JSC::MarkedSpace::allocate(JSC::MarkedSpace::SizeClass&)in JSArrayBuffer_1.o JSC::MarkedSpace::allocate(JSC::MarkedSpace::SizeClass&)in JSArrayBufferView_1.o JSC::MarkedSpace::allocate(JSC::MarkedSpace::SizeClass&)in JSAttr_1.o JSC::MarkedSpace::allocate(JSC::MarkedSpace::SizeClass&)in JSBarInfo_1.o JSC::MarkedSpace::allocate(JSC::MarkedSpace::SizeClass&)in JSBeforeLoadEvent_1.o JSC::MarkedSpace::allocate(JSC::MarkedSpace::SizeClass&)in JSBlob_1.o JSC::MarkedSpace::allocate(JSC::MarkedSpace::SizeClass&)in JSCDATASection_1.o ... "JSC::JSValue::toStringSlowCase(JSC::ExecState*) const", referenced from: JSC::JSValue::toString(JSC::ExecState*) constin JSBeforeLoadEvent_1.o JSC::JSValue::toString(JSC::ExecState*) constin JSCSSMediaRule_1.o JSC::JSValue::toString(JSC::ExecState*) constin JSCSSPrimitiveValue_1.o JSC::JSValue::toString(JSC::ExecState*) constin JSCSSStyleDeclaration_1.o JSC::JSValue::toString(JSC::ExecState*) constin JSCSSStyleSheet_1.o JSC::JSValue::toString(JSC::ExecState*) constin JSCanvasGradient_1.o JSC::JSValue::toString(JSC::ExecState*) constin JSCanvasRenderingContext2D_1.o ... "typeinfo for WTF::ArrayBufferView", referenced from: typeinfo for WTF::TypedArrayBase<float>in JSFloat32Array_1.o typeinfo for WTF::TypedArrayBase<double>in JSFloat64Array_1.o typeinfo for WTF::TypedArrayBase<short>in JSInt16Array_1.o typeinfo for WTF::TypedArrayBase<int>in JSInt32Array_1.o typeinfo for WTF::TypedArrayBase<signed char>in JSInt8Array_1.o typeinfo for WTF::TypedArrayBase<unsigned short>in JSUint16Array_1.o typeinfo for WTF::TypedArrayBase<unsigned int>in JSUint32Array_1.o ... ld: symbol(s) not found for architecture i386 collect2: ld returned 1 exit status
Comment on attachment 124441 [details] Patch I'll post an updated patch after the changes in Bug 77507 have landed.
Created attachment 125014 [details] Patch
Comment on attachment 125014 [details] Patch Looks good. I'm sorry for my slow response...
It was a lot faster than mine! :) Sorry, I have been swamped recently. However, I did finally manage to land it in r109224, thanks! Next patch should be "flipping the switch" to use the macros for wx port!