------- 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

Reply via email to