Hi, Our company is considering upgrading from gcc 2.95.3 to one of the 3.x series, but we're rather concerned by the growth in debug symbols size. Following previous discussions, I have tried the -feliminate-dwarf2-dups (still unsupported by GDB) and -gstabs+. Both of these are better than the default, but the result is still far worse than gcc 2.95.3. Can anyone help me to understand why gcc 3.3.1 (for instance) produces stabs+ format debug binaries that are nearly twice as large as those produce by gcc 2.95.3? As it stands, we are sticking to gcc 2.95.3 largely because of this issue. My platforms are both: kernel: 2.4.20-19.7smp (provided by DELL) glibc: 2.2.5 then gcc version: 3.3.1 GNU assembler version: 2.14 GNU ld version: 2.14 versus gcc version 2.95.3 GNU assembler version 2.11.93.0.2 GNU ld version 2.11.93.0.2 20020207 And here are some figures: Compiler Debug Binary Size (kB) gcc 2.95.3 34284 100% gcc 3.3.1 83640 244% gcc 3.3.1 -feliminate-dwarf2-dups 67448 197% gcc 3.3.1 -gstabs+ 69692 203% Note: the figures are summed over several binaries. Note also: the stripped binaries are almost identical in size. This is clearly a problem when you scale up. Does anyone have any suggestions or pointers? Thanks, Philip.