This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Large size of egcs debug symbol tables.
- To: egcs at cygnus dot com
- Subject: Large size of egcs debug symbol tables.
- From: Gabe Foster <gabe at sgrail dot com>
- Date: Wed, 09 Sep 1998 07:44:13 -0600
- CC: graildev at sgrail dot com
- Organization: Silicon Grail
Hello,
At my company we have been experimenting with using the egcs c/c++
compiler to compile our large (750,000+ lines) code base. We are using:
> g++ -v
Reading specs from
/usr/local/lib/gcc-lib/mips-sgi-irix6.4/egcs-2.91.57/specs
gcc version egcs-2.91.57 19980901 (egcs-1.1 release)
The compiler is a bit slower and more processor intensive that the SGI
c/c++ compiler, but follows the standard more closely, and seems to
produces faster code in some cases.
However, when our source is compiled with the -g option, the objects
often double in size when compared to the SGI compiler. Our system is
large enough that just starting gdb/ddd with the executable takes up all
of my 512M of RAM! I have not even started to run the program, just the
started the debugger.
when I run size and ls on a single file compiled with the two C++
compilers this is what I get:
g++:
> size UT_Vector3.o
Section Size Physical Virtual
Address Address
.symtab 14672 0 0
.shstrtab 518 0 0
.strtab 8391 0 0
.text 15384 0 0
.rodata 364 0 0
.MIPS.options 64 0 0
.reginfo 24 0 0
39417 + 0 + 0 = 39417
> ls -l UT_Vector3.o
-rw-r--r-- 1 gabe creator 120984 Sep 8 12:46 UT_Vector3.o
SGI C++:
> size UT_Vector3.o
Section Size Physical Virtual
Address Address
.symtab 1504 0 0
.shstrtab 560 0 0
.strtab 2326 0 0
.text 34048 0 0
.sbss 8 0 0
__cplinit 8 0 0
.data 12 0 0
.lit4 36 0 0
.srdata 2 0 0
.MIPS.options 72 0 0
.reginfo 24 0 0
38572 + 20 + 8 = 38600
> ls -l UT_Vector3.o
-rw-r--r-- 1 gabe creator 83280 Aug 17 18:35 UT_Vector3.o
When I do an 'nm -B' on the symbol tables, I see many 'extra' symbols
that are named:
00000004 T .LCFI0
00000008 T .LCFI1
000000b4 T .LCFI10
000014b0 T .LCFI100
000014b4 T .LCFI101
000014b8 T .LCFI102
000014bc T .LCFI103
...
Is there any way to make the symbol tables smaller? The system is
almost unusable with the huge tables, and the debugger runs like a dog
under the weight of all those large objects.
Thank you for your time and attention,
--> Gabe Foster
--
* J. Gabriel Foster Silicon Grail gabe@sgrail.com *
* Cashing in on being a nerd. *