This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: Assembly symbol generation
Daniel Lohmann writes:
> Andrew Haley wrote:
> > Katana Steel writes:
> > >
> > > under x86 & x64 linux this creates the symbols (output from nm):
> > > U function1
> > > U function2
> > > and using cygwin & mingw (x86) it creates these symbols (output from nm):
> > > U _function1
> > > U _function2
> > >
> > > is there a good reason for this?
> >
> > The ABI says so. The ABI allows programs generated by different tools
> > to be linked together: it doesn't really matter what the convention
> > is, as long as everyone on a particular platform agrees.
> >
> > The "_" prefix is in fact an old UNIX convention that was IIRC dropped
> > by UNIX System V when it went over to ELF format binaries.
>
> On most platforms there is also a -mno-underscores or
> -fno-leading-underscores or similar option available that can be used to
> suppress this anachronism.
This doesn't help at all: you won't be able to link with any libraries
if you don't use the local convention.
Andrew.