"size of symbol changed" warnings -- what do these mean?
Kenneth Streeter
kenneth.b.streeter@lmco.com
Tue Mar 20 16:05:00 GMT 2001
We are getting some unusual warning messages from the WRS
Tornado II version of the g++ compiler, and are hoping that
somebody here could explain in layman's terms what specifically
these messages mean. We are getting the errors in compiling
the ACE 3rd party library, which contains tens of thousands of
lines of code and we are having difficulty even knowing where
to start. Knowing exactly what the linker warning we are getting
means would be a big help.
Here is the linker output:
Warning: size of symbol
`dequeue__t17ACE_Message_Queue1Z14ACE_NULL_SYNCHRP17ACE_Message_BlockP14ACE_Time_Value'
changed from 56 to 52 in Message_Queue.o
Warning: size of symbol `activate__t17ACE_Message_Queue1Z14ACE_NULL_SYNCH' changed from
56 to 52 in Message_Queue.o
The symbols that the linker is actually complaining about are
function names. The demangled function names are as follows:
ACE_Message_Queue<ACE_NULL_SYNCH>::dequeue (ACE_Message_Block *&,
ACE_Time_Value *)
ACE_Message_Queue<ACE_NULL_SYNCH>::activate (void)
What do the "changed from 56 to 52" statements mean? If we knew what
was of size 56 and changed to size 52, we might have a possibility of
tracking this error down and fixing it. (We are concerned about fixing
this, as we seem to be suffering from memory corruption when using
Message_Queues in the resulting executables.)
We are using the Tornado II version of the linker on Solaris
for PPC targets. (g++ppc cygnus-2.7.2-960126)
Any help or suggestions you could provide would be greatly appreciated.
--ken
--
Kenneth B. Streeter | EMAIL: kenneth.b.streeter@lmco.com
BAE SYSTEMS, MER15-2415 |
PO Box 868 | Voice: (603) 885-1500
Nashua, NH 03061 | Fax: (603) 885-2356
More information about the Gcc-help
mailing list