[webkit-dev] What is WebCore.order used for?

Maciej Stachowiak mjs at apple.com
Sun Jun 28 16:14:10 PDT 2009


On Jun 28, 2009, at 3:26 PM, Drew Wilson wrote:

> I'm adding the initial APIs for SharedWorkers, which require me to  
> add a couple of .idl files, as well as implementations in WebCore/ 
> workers and JS bindings in bindings/js.
>
> I'm getting a bunch of weird link errors which I haven't figured out:
>
>    
> "__ZN7WebCore23JSSharedWorkerPrototype4selfEPN3JSC9ExecStateEPNS1_14JSGlobalObjectE 
> ", referenced from:
>        
> __ZN7WebCore25JSSharedWorkerConstructorC1EPN3JSC9ExecStateEPNS_17JSDOMGlobalObjectE 
>  in JSSharedWorkerConstructor.o
>        
> __ZN7WebCore25JSSharedWorkerConstructorC2EPN3JSC9ExecStateEPNS_17JSDOMGlobalObjectE 
>  in JSSharedWorkerConstructor.o
>
> I note that there are a number of Worker symbols in WebCore.order,  
> and I'm wondering if I might need to add SharedWorker symbols in  
> there as well - is there any documentation for what WebCore.order is  
> used for, and when/how to update it?

Others have explained that these errors are likely not from the .order  
file. I don't think they relate to exports either. Exports would only  
be relevant if an external module linking to WebCore was failing to  
resolve the symbol, or if the .exp file was cited as referencing a  
missing symbol.

It seems like the cited symbol is simply missing at link time, either  
because a file is missing from the build or because the code generator  
failed to produce the required definition. Specifically, it's  
complaining that this function is missing:

WebCore::JSSharedWorkerPrototype::self(JSC::ExecState*,  
JSC::JSGlobalObject*)

And it's called from this function:

WebCore 
::JSSharedWorkerConstructor 
::JSSharedWorkerConstructor(JSC::ExecState*,  
WebCore::JSDOMGlobalObject*)

I found this out using c++filt.

My guess is you may have forgotten to add the autogenerated bindings  
files to the build, so the handwritten parts of the bindings find the  
headers but can't resolve the symbols at link time.

Regards,
Maciej



More information about the webkit-dev mailing list