I can't build the embedded application (U-Boot firmware) using the GCC 4.2.2 powerpc-linux cross because resultant code doesn't fit into the reserved space anymore. GCC 4.0.0 powerpc cross build it OK. Investigation showed that the code size generated by the GCC 4.2.2 is about 6% bigger as produced by GCC 4.0.0, as reported by 'size': gcc 4.2.2: text data bss dec hex filename 2696 60 1536 4292 10c4 interrupts.o
gcc 4.0.0: text data bss dec hex filename 2424 88 1536 4048 fd0 interrupts.o In both cases, same compilation options are used: ppc-linux-gcc -g -Os -fPIC -ffixed-r14 -meabi -fno-strict-aliasing -D__KERNEL__ -DTEXT_BASE=0xfffc0000 -I/work/psl/tmp/u-boot/include -fno-builtin -ffreestanding -nostdinc -isystem /opt/eldk-4.2-01-08/usr/bin/../lib/gcc/powerpc-linux/4.2.2/include -pipe -DCONFIG_PPC -D__powerpc__ -DCONFIG_4xx -ffixed-r2 -ffixed-r29 -mstring -msoft-float -Wa,-m440 -mcpu=440 -DCONFIG_440=1 -Wall -Wstrict-prototypes -c -o interrupts.o interrupts.c Removing "-ffixed" doesn't change the generated assembler code for 4.2.2 Test case and generated outputs will follow. -- Summary: -Os code size regression Product: gcc Version: 4.2.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: sposelenov at emcraft dot com GCC target triplet: powerpc-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34903