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]

Re: Unusually large data segments in executables.



  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


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