From mboxrd@z Thu Jan 1 00:00:00 1970 From: Al Niessner To: gcc-help@gcc.gnu.org Subject: Re: gcc symbol names Date: Sat, 01 Apr 2000 00:00:00 -0000 Message-ID: <38B9E37F.F303D4DD@bigfoot.com> References: <38B8A8F8.C2403E51@bigfoot.com> <200002271918.UAA01018@loewis.home.cs.tu-berlin.de> <38B98706.F7E6C0B@bigfoot.com> <200002272050.VAA17639@loewis.home.cs.tu-berlin.de> X-SW-Source: 2000-q1/msg00293.html Message-ID: <20000401000000.nbpnAgjKfHYbTqp-lI2ihX-3_GtFt0LTLAKyl8jaL6Y@z> 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