From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Howard To: Dave Hansen Cc: c++-embedded@cygnus.com, crossgcc@cygnus.com Subject: Re: gcc vs g++ and linking with as Date: Thu, 25 Jun 1998 10:53:00 -0000 Message-id: <35928DF2.C5C09F6C@intellistor.com> References: X-SW-Source: 1998/msg00003.html But none of it is C++ code. It's all C or assembler. Shouldn't gcc and g++ compile a *.c file the same way? Also, we have calls going both ways c-->asm() asm-->c() Sounds like name mangling will make asm-->c++() impossible (?) Dave Hansen wrote: > > This is the name mangling that g++ uses to resolve overloaded functions. > To prevent this, declare the assembly functions as extern "C" in the > C++ code. For example: > > extern "C" asm_fn(); > > HTH. Regards, > > -=Dave > > >>> Chris Howard 06/25/98 10:29AM >>> > binutils 2.9 > gcc/g++ 2.8.0 > > Host Sun Sparc Solaris 2.5 > Target Motorola Coldfire (-m5200) a.out object format > > --- > > Not using stdlib (-nostdlib) > > We have some code in assembler, and some in C. > Compiling with as,gcc and linking with ld works fine. > Compiling with as,g++ and linking with ld does not work, > undefined symbols for those things written in assembler. > > The .o files output from g++ compilation have exported symbols that > end in '__Fv' whereas the assembler output .o files don't have > '__Fv' on the symbols. Is that the problem? Is there > some way to make it work? What is __Fv? > > An alternative might be to put the assembly code in > C/C++ wrapper functions. Any hints/comments that > would be appreciated also. > > -- > Chris Howard Fujitsu Computer Products of America > Longmont, Colorado > -- Chris Howard Fujitsu Computer Products of America Longmont, Colorado