From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Hansen To: c++-embedded@cygnus.com, choward@intellistor.com Cc: crossgcc@cygnus.com Subject: Re: gcc vs g++ and linking with as Date: Thu, 25 Jun 1998 09:21:00 -0000 Message-id: X-SW-Source: 1998/msg00002.html 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 !