gcc-patches@gcc.gnu.org
[Top] [All Lists]

Re: [patch i386]: PR/39356 name collision of __chkstk

Subject: Re: [patch i386]: PR/39356 name collision of __chkstk
From: Dave Korn
Date: Mon, 23 Mar 2009 12:30:52 +0000
Kai Tietz wrote:

>> How does the ntdll.dll export of  "_chkstk" cause you problems in 4.4
>> but not in 4.3.
>> WTF  has changed.
> 
> The change is the shared libgcc.dll. This symbol is now exported by
> it. For 4.3 the static version was used. So the exports from
> kernel32/ntdll can collide with libgcc version, when the link order is
> changed in that way, that kernel32 is linked before libgcc.

  Still, why would anyone do that?  It is wrong, after all.  The specs get all
the -l options in the right order for you automatically, bypass them and
you're in undefined behaviour territory.

  (On cygwin we're still currently using the "shove _chkstk.o bodily into the
import lib" technique.)

    cheers,
      DaveK

<Prev in Thread] Current Thread [Next in Thread>