From mboxrd@z Thu Jan 1 00:00:00 1970 From: Al Niessner To: "Martin v. Loewis" Cc: "gcc-help@gcc.gnu.org" Subject: Re: gcc symbol names Date: Sat, 01 Apr 2000 00:00:00 -0000 Message-ID: <38B98706.F7E6C0B@bigfoot.com> References: <38B8A8F8.C2403E51@bigfoot.com> <200002271918.UAA01018@loewis.home.cs.tu-berlin.de> X-SW-Source: 2000-q1/msg00291.html Message-ID: <20000401000000.eGa8eWL9wVtucH2u3lrUkImAeOPTuh1EHYaPL7MbOSw@z> Target is the powerpc-wrs-vxworks. Original names were generated using the VxWorks cross compiler (Tornado II) on the Sun Solaris platform. The new names are being generated using egcs 1.1.2 cross compiler built for VxWorks on the Linux platform. On Solaris platform: > gcc --version cygnus-2.7.2-960126 egcs-971225 tornado 2.0 On Linux platform: > gcc --version egcs-2.91.66 There are literally hundreds of these names that could be substituted for 'blahblahblah', I was just trying to reduce the scope, but here are a few samples if you want real names (they were obtained by doing a diff on the nm output from the .a files generated by compiling then using ar -- < is Linux and > is Solaris): < _._10tRTCObject < _._11tBaseObject < _._15TAO_ServantBase < _._23TAO_RefCountServantBase < _._23tDmc1308ControllerBoard < _._5tPing < _._Q211POA_RTCCore9RTCObject < _._Q214POA_PingModule10PingObject < _._Q215POA_RTCHardware5Board < _._Q217POA_Dmc1308Module17Dmc1308Controller --- > _$_10tRTCObject > _$_11tBaseObject > _$_15TAO_ServantBase > _$_23TAO_RefCountServantBase > _$_23tDmc1308ControllerBoard > _$_5tPing > _$_Q211POA_RTCCore9RTCObject > _$_Q214POA_PingModule10PingObject > _$_Q215POA_RTCHardware5Board > _$_Q217POA_Dmc1308Module17Dmc1308Controller and some more 1750,1762c384,396 < _vt.13CORBA_MARSHAL < _vt.13CORBA_UNKNOWN < _vt.16TAO_Object_Field < _vt.26TAO_GIOP_Twoway_Invocation < _vt.Q210PingModule10PingObject < _vt.Q210PingModule10PingObject.12CORBA_Object < _vt.Q211RTCHardware5Board < _vt.Q211RTCHardware5Board.12CORBA_Object < _vt.Q213Dmc1308Module17Dmc1308Controller < _vt.Q213Dmc1308Module17Dmc1308Controller.12CORBA_Object < _vt.Q27RTCCore9RTCObject < _vt.Q27RTCCore9RTCObject.12CORBA_Object < _vt.t18TAO_Object_Field_T2ZQ213Dmc1308Module17Dmc1308ControllerZQ213Dmc1308Module21Dmc1308Controller_var --- > _vt$13CORBA_MARSHAL > _vt$13CORBA_UNKNOWN > _vt$16TAO_Object_Field > _vt$26TAO_GIOP_Twoway_Invocation > _vt$Q210PingModule10PingObject > _vt$Q210PingModule10PingObject$12CORBA_Object > _vt$Q211RTCHardware5Board > _vt$Q211RTCHardware5Board$12CORBA_Object > _vt$Q213Dmc1308Module17Dmc1308Controller > _vt$Q213Dmc1308Module17Dmc1308Controller$12CORBA_Object > _vt$Q27RTCCore9RTCObject > _vt$Q27RTCCore9RTCObject$12CORBA_Object > _vt$t18TAO_Object_Field_T2ZQ213Dmc1308Module17Dmc1308ControllerZQ213Dmc1308Module21Dmc1308Controller_var It really does reduce to a '.' for '$' substitution. All and any help is appreciated. Al Niessner "Martin v. Loewis" wrote: > > I built the egcs 1.1.2 compiler and am now having symbol name problems. > > I have some old libraries that use a different naming scheme and I would > > ike to know how to make the new gcc match the old gcc names. The > > difference is quite simple. Using nm: > > > > old name: _$_blahblahblah > > new name: _._blahblahblah > > > > How do I get the gcc I compiled to use '$' instead of '.'? > > > > Any and all help is appreciated. > > You'll have to give us some more details that that. What target system > are you using? What is the exact spelling of the symbol? I very much > doubt that it is '_._blahblahblah', because it looks like a C++ > destructor name, but that it would have to be '_._12blahblahblah'. > There might be a very good reason for the change in the mangling; or > it might be configuration problem. > > Regards, > Martin