PATCH: Fix DLL constructors on OpenBSD

Boaz Harrosh boaz at hishome.net
Sun Jan 4 08:12:55 CST 2004


Dear Alexandre
  Please explain in a few words what you're going to do. Is this going 
to effect C++ Global data constructors as well.
I'm Just working, well more like fumbling, on a problem in STLPort with 
global initialization of cout cin cerror (stdout stdin stderror).
Is it possible that, while in a global C++ constructor, I am meeting an 
uninitialized DLL Jump table (I'm not sure what is the official name for 
it). Is the jump table initialized after the glib c "global_ctors_aux" 
chain?

Alexandre Julliard wrote:

>wiml at underhill.hhhh.org (Wim Lewis) writes:
>
>  
>
>>What is it that _init() does on Linux, that the DLL init code needs
>>to run first? I'd be interested in trying to write an autoconf test
>>or something, if possible.
>>    
>>
>
>I believe there was a problem with constructors being called in
>reverse link order. Also any object file of the dll can potentially
>have a .init section which would then break badly. Anyway, that
>constructor stuff is going to change, because we need to intercept
>constructors and run them from the dll entry point. I'm working on a
>patch to do that, which will hopefully solve your problem at the same
>time.
>
>  
>



More information about the wine-devel mailing list