http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43601
--- Comment #29 from Vadim Zeitlin <vz-gcc at zeitlins dot org> 2010-09-26 22:09:16 UTC --- Thanks Cesar for your analysis, I was doing the same thing but you beat me to it. Anyhow, I can confirm your results, i.e. that the increase in size is first and foremost due to the inflation of the total number of sections (which is multiplied roughly by 10) as well as the changes to the .eh_frame and .drectve sections sizes. I compared the object files for 4.4, 4.5 and 4.5 when using auto-export, i.e. not using "__attribute__((dllexport))" on exported classes declarations. The typical results (the exact numbers are, of course, different for each object file but the trend is the same) are: 4.4 4.5 4.5-autoexp ------------------------------------------ file size 151K 1.2M 87K # sections 371 3145 85 .text size 16888 17264 24856 .eh_frame 4004 64424 16 .drectve 8620 113232 0 The difference in number of sections seems to correspond to the fact that 4.5 now generates one section per method of any exported class used by the object file instead of just one section per class as in 4.4. Please let me know if I can provide any other information.