This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

why no gcc3_compiled symbol


     Does anyone know why gcc >= 3.0 doesn't have a gcc3_compiled
symbol like gcc 2.9x had a gcc2_compiled symbol? I ask because in
tracking down a problem with a gcc 3.1.1 built XFree86 loading its
libGLcore.a xserver module we found gcc 3.1.1 will create completely
empty object files. This compares to gcc 2.95.4 or 2.96 which would
always leave a gcc2_compiled placekeeper symbol in an empty object
file. This is arose because when you strip a gcc 3.1.1 built 
static lib that has such an empty object file linked in you get
a object file with no symbols at all. This breaks the current
XFree86 loader. Thanks in advance for any explanation.
                          Jack
ps This can be seen by...

#touch x.c
#gcc-2.95 -c x.c
#nm x.o
00000000 t gcc2_compiled.
#strip --strip-debug x.o
#nm x.o
00000000 t gcc2_compiled.

compared to

#touch x.c
#gcc-3.1 -c x.c
#nm x.o
#
#strip --strip-debug x.o
#nm x.o
nm: x.o: no symbols

Do we really want to create completely empty object files in gcc 3.1?


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]