This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Unusually large data segments in executables.
- To: The Red Fox <ben at proximity dot com dot au>
- Subject: Re: Unusually large data segments in executables.
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Tue, 13 Jan 1998 09:06:43 -0700
- cc: egcs at cygnus dot com
- Reply-To: law at cygnus dot com
In message <Pine.LNX.3.95.980113161335.11670A-100000@mantis.proximity.com.au>you write:
> I have a C++ program called xe and when I compile xe with g++ (2.7.2.3)
> and link with ld from the binutils package the result of 'size xe' is:
>
> text data bss dec hex filename
> 104292 2208 2152 108652 1a86c xe
>
> When I compile and link the program using egcs the output of 'size xe' is
> now:
>
> text data bss dec hex filename
> 104067 75256 3232 182555 2c91b xe
>
> The data segment is now 73048 bytes larger than it was when compiled with
> gcc! and as a result the executable is that much bigger. Also, the dec
> segment is 73903 bytes larger.
Odds are this is the dwarf2 exception handling unwinder information.
It could also be debug symbols -- some versions of size lump them into
the data segment.
Use objdump -h to get a more accurate view of what's actually in the executable.
jeff