gcc symbol names
Al Niessner
Al_Niessner@bigfoot.com
Sun Feb 27 18:51:00 GMT 2000
I modified the gcc/config/rs6000/vxppc.h to #undef NO_DOLLAR_IN_LABEL and
#define NO_DOT_IN_LABEL and it got rid of 90 some percent of the
difference. There are a few left though (text below). The second
column of nm (first column in the text below) the case of the letter is
different (neither the man nor info tell me what it is supposed to mean)
or just different letters. The two at the end of the list are completely
different names.
Any suggestions on how to resolve these last few issues?
Any and all help is appreciated. And thanks to Martin for helping me get
this far.
Al Niessner
561,562c194,195
< t
_GLOBAL_$D$hash__56TAO_Dmc1308Module_Dmc1308Controller_Perfect_Hash_OpTablePCcUi
< t
_GLOBAL_$I$hash__56TAO_Dmc1308Module_Dmc1308Controller_Perfect_Hash_OpTablePCcUi
---
> T
_GLOBAL_$D$hash__56TAO_Dmc1308Module_Dmc1308Controller_Perfect_Hash_OpTablePCcUi
> T
_GLOBAL_$I$hash__56TAO_Dmc1308Module_Dmc1308Controller_Perfect_Hash_OpTablePCcUi
564c197
< g
_TAO_collocation_POA_Dmc1308Module_Dmc1308Controller_Stub_Factory_Initializer_Scarecrow
---
> b
_TAO_collocation_POA_Dmc1308Module_Dmc1308Controller_Stub_Factory_Initializer_Scarecrow
639c272
< r asso_values.8464
---
> r asso_values.8768
661,662c294,295
< g tao_Dmc1308Module_Dmc1308Controller_optable
< r wordlist.8467
---
> b tao_Dmc1308Module_Dmc1308Controller_optable
> r wordlist.8771
and
1683c317
< G _13Dmc1308Module$_tc_Dmc1308Controller
---
> D _13Dmc1308Module$_tc_Dmc1308Controller
1686,1688c320,322
< t
_GLOBAL_$D$_narrow__Q213Dmc1308Module17Dmc1308ControllerP12CORBA_ObjectR17CORBA_Environment
< t
_GLOBAL_$I$_narrow__Q213Dmc1308Module17Dmc1308ControllerP12CORBA_ObjectR17CORBA_Environment
< G
_TAO_collocation_Dmc1308Module_Dmc1308Controller_Stub_Factory_function_pointer
---
> T
_GLOBAL_$D$_narrow__Q213Dmc1308Module17Dmc1308ControllerP12CORBA_ObjectR17CORBA_Environment
> T
_GLOBAL_$I$_narrow__Q213Dmc1308Module17Dmc1308ControllerP12CORBA_ObjectR17CORBA_Environment
> D
_TAO_collocation_Dmc1308Module_Dmc1308Controller_Stub_Factory_function_pointer
1698c332
< U
__26TAO_Synch_Reply_DispatcherP12TAO_ORB_CoreRQ23IOP18ServiceContextList
---
> U __26TAO_Synch_Reply_DispatcherP12TAO_ORB_Core
1765d398
< U equ_common__C14CORBA_TypeCodeP14CORBA_TypeCodeUcR17CORBA_Environment
1775a409
> U private_equal__C14CORBA_TypeCodeP14CORBA_TypeCodeR17CORBA_Environment
"Martin v. Loewis" wrote:
> > Target is the powerpc-wrs-vxworks.
>
> Ok.
>
> > It really does reduce to a '.' for '$' substitution.
>
> The name of constructor symbols is determined in gcc/cp/tree.h,
> depending on the value of NO_DOLLAR_IN_LABEL:
>
> #ifndef NO_DOLLAR_IN_LABEL
> #define DESTRUCTOR_DECL_PREFIX "_$_"
> ...
>
> This is defined on a per-target basis, in your case in
> gcc/config/powerpc/rs6000.h. AFAICT, it was that way all the way back
> to gcc 2.7.2., so it is really surprising that your original WRS
> compiler did not have this define. Since you have the sources to the
> original compiler, you may want to check why NO_DOLLAR_IN_LABEL was
> not defined in your 2.7.2 sparc port of gcc, and apply this patch
> appropriately to 2.95 (or whatever you want to use). Please note that
> you'll have to recompile gcc to have this change active.
>
> Please note that the C++ ABI has changed *significantly* since gcc
> 2.7.2, so there is little chance that you could possibly link C++
> libraries compiled with 2.7.2 link with libraries compiled by egcs 1.1
> or gcc 2.95.
>
> Hope this helps,
> Martin
More information about the Gcc-help
mailing list