This is the mail archive of the
mailing list for the Cygwin project.
RE: Can't Reference Stderr from a DLL
- To: "gnu-win32 at cygnus dot com" <gnu-win32 at cygnus dot com>, Sergey Okhapkin<sos at prospect dot com dot ru>
- Subject: RE: Can't Reference Stderr from a DLL
- From: John Cerney <j-cerney1 at ti dot com>
- Date: Mon, 17 Mar 1997 11:29:48 -0800
- Conversation-Id: <01BC2FA2.414464E0@gater.krystalbank.msk.ru>
- Reply-To: John Cerney <j-cerney1 at ti dot com>
> From: Sergey Okhapkin <email@example.com>, on 3/13/97 11:32 AM:
> John Cerney wrote:
> > I've run into problem trying to build a dynamic lib version of
> > Looking at the cygwin.dll source code, it appears that stderr is
> translated to
> > _impure_ptr->stderr by the defines inside of the <stdio.h> include.
> > is defined in libccrt0.cc inside of cygwin.dll, which also references
> > Does the linker try to resolve all references in an object file, even if
> > 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
> 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.
Thanks for the input on the problem. I ended up puting in a impure_ptr
routine that is called by my main program before it uses any functions in a
Now I have another problem:
Have you had any luck exporting global data variables from/to a DLL?
Dlltool seems to treat all exports as function names. i.e. they show up as 'T
_VariableName' when you do a 'nm libname.a', where libname.a is the import lib
generated by dlltool. If you do a 'nm libname.o' (libname.o is the object code
for the dll) the global variable shows up properly as 'D _VariableName'.
For help on using this list, send a message to
"firstname.lastname@example.org" with one line of text: "help".