------- Comment #9 from ktietz at gcc dot gnu dot org 2009-03-16 09:15 ------- (In reply to comment #8) > (In reply to comment #7) > > The following patch solves this problem and prevents the name collision for > > 32 > > and 64 bits win32 systems. > > > > ChangeLog > > > > * config/i386/i386.md (allocate_stack_worker_32): Use > > ___gnu_chkstk. > > (allocate_stack_worker_64): Likewise. > > * config/i386/cygwin.asm (__alloca): Renamed to __gnu_alloca. > > (___chkstk): Renamed to ___gnu_chkstk. > > > No. This breaks backward compatibility. Static libraries and objects built > with current and older versions of gcc will not be able to resolve references > to __alloca or ___chkstk. Why not add labels with the new names as aliases > rather than replace. > > Danny >
Ok, for 32-bits this makes sense to keep the old symbol names. Beside there is still a chance that a user uses the manually the chkstk.o file, which can lead to undefined behaviour (at least if the user code references __chkstk). For 64-bit I prefer to avoid those old names and simply rename it. Is this ok for you? I'll file then a patch for it? Kai -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39356