From: sos AT prospect DOT com DOT ru (Sergey Okhapkin) Subject: RE: Can't Reference Stderr from a DLL 13 Mar 1997 11:54:02 -0800 Approved: cygnus DOT gnu-win32 AT cygnus DOT com Distribution: cygnus Message-ID: <01BC2FA2.414464E0.cygnus.gnu-win32@gater.krystalbank.msk.ru> Original-To: "gnu-win32 AT cygnus DOT com" , "'John Cerney'" Encoding: 31 TEXT Original-Sender: owner-gnu-win32 AT cygnus DOT com John Cerney wrote: > I've run into problem trying to build a dynamic lib version of perl5.003_25. > > Looking at the cygwin.dll source code, it appears that stderr is translated to > _impure_ptr->stderr by the defines inside of the include. _impure_ptr > is defined in libccrt0.cc inside of cygwin.dll, which also references main(). > Does the linker try to resolve all references in an object file, even if you > just refer to one variable that is defined in it? > > I have tried building the DLL using the --noinhibit-exec linker option. The dll > is built in this case, but the main.exe executable crashes with a seg fault. > This is due to _impure_ptr in a main program and in DLL are _different_ variables! And _impure_ptr in a DLL is not initialised to point to reent_data structure in a main program. I have the same troubles with X libraries builded as DLL. I already wrote mr. Noer about this bug, no answer for a now... -- Sergey Okhapkin Moscow, Russia Looking for a job. - For help on using this list, send a message to "gnu-win32-request AT cygnus DOT com" with one line of text: "help".