gcc vs g++ and linking with as
Dave Hansen
dave.hansen@btree.com
Thu Jun 25 14:18:00 GMT 1998
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 <choward@intellistor.com> 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
!
More information about the crossgcc
mailing list