When you compile attached testcase with 4.1.1 and 4.2.1, resulting .o modules
have following sizes:
$ size insmod.i-411.o insmod.i-421.o
text data bss dec hex filename
288 0 0 288 120 insmod.i-411.o
543 0 0 543 21f insmod.i-421.o
Testcase was built using following command line:
gcc -std=gnu99 \
-Os -fno-builtin-strlen -finline-limit=0 -fomit-frame-pointer \
-ffunction-sections -fdata-sections -fno-guess-branch-probability \
-funsigned-char -static-libgcc \
-falign-functions=1 -falign-jumps=1 -falign-labels=1 -falign-loops=1 \
-march=i386 -mpreferred-stack-boundary=2 \
-fverbose-asm -S insmod.i.c
--
Summary: -Os generated code grew almost twice 4.2.1 versus 4.1.1
Product: gcc
Version: 4.2.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: regression
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: vda dot linux at googlemail dot com
GCC build triplet: i386-pc-linux-gnu
GCC host triplet: i386-pc-linux-gnu
GCC target triplet: i386-pc-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33136