Reduced executable size
vijay nag
vijunag@gmail.com
Fri Jun 21 06:16:00 GMT 2013
Hi,
I upgraded my compiler to gcc-4.7.2 and I noticed that executable size
had been reduced by 55%. Same source code compiled using gcc-3.4.6
produced an executable
of size ~2GB and the size of the executable compiled using gcc-4.7.2
is around 890 MB. I did a diff of readelf o/p of two executable and
found that
"debug_pubnames" was missing in the newer executable. What is the
significance of this section ? Can anyone explain me this reduction
in size ?
I'm little bit skeptical that something is terribly amiss here.
old executable readelf -a o/p
[23] .debug_aranges PROGBITS 00000000 139ea8e0 025048 00
0 0 8
[24] .debug_pubnames PROGBITS 00000000 13a0f928 4aad87 00
0 0 1
[25] .debug_info PROGBITS 00000000 13eba6af 630b6e95 00
0 0 1
[26] .debug_abbrev PROGBITS 00000000 76f71544 3a13a5 00
0 0 1
[27] .debug_line PROGBITS 00000000 773128e9 1476581 00
0 0 1
[28] .debug_frame PROGBITS 00000000 78788e6c ed2280 00
0 0 4
[29] .debug_str PROGBITS 00000000 7965b0ec f371c0 00
0 0 1
[30] .debug_ranges PROGBITS 00000000 7a5922ac 27d6c0 00
0 0 1
New executable readelf -a o/p
[28] .debug_aranges PROGBITS 00000000 13d45728 0331f0 00
0 0 8
[29] .debug_info PROGBITS 00000000 13d78918 199fa7c8 00
0 0 1
[30] .debug_abbrev PROGBITS 00000000 2d7730e0 3e25da 00
0 0 1
[31] .debug_line PROGBITS 00000000 2db556ba 1f3af5a 00
0 0 1
[32] .debug_str PROGBITS 00000000 2fa90614 e26b7b 01
MS 0 0 1
[33] .debug_loc PROGBITS 00000000 308b718f 4b161cf 00
0 0 1
[34] .debug_ranges PROGBITS 00000000 353cd360 bbb3e0 00
0 0 8
More information about the Gcc-help
mailing list