Disabling inlining entirely saves 400+ bytes...

Bernhard Fischer rep.nop at aon.at
Wed Jun 21 04:39:59 PDT 2006


On Tue, Jun 20, 2006 at 09:49:44PM -0400, Rob Landley wrote:

>I just removed that one too.

There are more serious occurances of the inline keyword than these.
see make CFLAGS_EXTRA="-Winline"
where in most cases the functions flagged with inline are so huge, that
there is no way these could work out correctly.

post 1.2.0 stuff, IMHO
E.g.:
archival/tar.c: In function 'writeTarFile':
archival/tar.c:422: warning: function 'writeTarFile' can never be
inlined because it uses setjmp
archival/tar.c: In function 'tar_main':
archival/tar.c:422: warning: inlining failed in call to 'writeTarFile':
function not inlinable
archival/tar.c:854: warning: called from here

editors/awk.c: In function 'is_assignment':
editors/awk.c:607: warning: inlining failed in call to 'isalnum_':
--param max-inline-insns-single limit reached
editors/awk.c:2568: warning: called from here
editors/awk.c: In function 'next_token':
editors/awk.c:607: warning: inlining failed in call to 'isalnum_':
--param max-inline-insns-single limit reached
editors/awk.c:927: warning: called from here
editors/awk.c:607: warning: inlining failed in call to 'isalnum_':
--param max-inline-insns-single limit reached
editors/awk.c:942: warning: called from here
editors/awk.c:607: warning: inlining failed in call to 'isalnum_':
--param max-inline-insns-single limit reached
editors/awk.c:946: warning: called from here

modutils/insmod.c: In function 'ncv_symbol_hash':
modutils/insmod.c:1984: warning: inlining failed in call to
'obj_elf_hash_n': --param max-inline-insns-single limit reached
modutils/insmod.c:2029: warning: called from here
modutils/insmod.c: In function 'obj_elf_hash':
modutils/insmod.c:1984: warning: inlining failed in call to
'obj_elf_hash_n': --param max-inline-insns-single limit reached
modutils/insmod.c:2003: warning: called from here


networking/fakeidentd.c: In function 'deleteConn':
networking/fakeidentd.c:80: warning: inlining failed in call to
'movefd': --param max-inline-insns-single limit reached
networking/fakeidentd.c:201: warning: called from here
networking/fakeidentd.c: In function 'fakeidentd_main':
networking/fakeidentd.c:80: warning: inlining failed in call to
'movefd': --param max-inline-insns-single limit reached
networking/fakeidentd.c:112: warning: called from here
networking/fakeidentd.c:80: warning: inlining failed in call to
'movefd': --param max-inline-insns-single limit reached
networking/fakeidentd.c:308: warning: called from here


networking/telnet.c: In function 'putiac2':
networking/telnet.c:96: warning: inlining failed in call to 'iacflush':
--param max-inline-insns-single limit reached
networking/telnet.c:307: warning: called from here
networking/telnet.c: In function 'conescape':
networking/telnet.c:96: warning: inlining failed in call to 'iacflush':
--param max-inline-insns-single limit reached
networking/telnet.c:441: warning: called from here
networking/telnet.c:96: warning: inlining failed in call to 'iacflush':
--param max-inline-insns-single limit reached
networking/telnet.c:430: warning: called from here
networking/telnet.c: In function 'telnet_main':
networking/telnet.c:96: warning: inlining failed in call to 'iacflush':
--param max-inline-insns-single limit reached
networking/telnet.c:378: warning: called from here
networking/telnet.c:96: warning: inlining failed in call to 'iacflush':
--param max-inline-insns-single limit reached
networking/telnet.c:331: warning: called from here
networking/telnet.c:96: warning: inlining failed in call to 'iacflush':
--param max-inline-insns-single limit reached
networking/telnet.c:353: warning: called from here
networking/telnet.c:96: warning: inlining failed in call to 'iacflush':
--param max-inline-insns-single limit reached
networking/telnet.c:285: warning: called from here

networking/zcip.c: In function 'zcip_main':
networking/zcip.c:227: warning: inlining failed in call to 'ms_rdelay':
--param max-inline-insns-single limit reached
networking/zcip.c:379: warning: called from here
networking/zcip.c:227: warning: inlining failed in call to 'ms_rdelay':
--param max-inline-insns-single limit reached
networking/zcip.c:400: warning: called from here


[snip a dozend of ash inline failures]

shell/cmdedit.c: In function 'get_next_history':
shell/cmdedit.c:257: warning: inlining failed in call to 'beep': --param
max-inline-insns-single limit reached
shell/cmdedit.c:1191: warning: called from here
shell/cmdedit.c: In function 'input_tab':
shell/cmdedit.c:257: warning: inlining failed in call to 'beep': --param
max-inline-insns-single limit reached
shell/cmdedit.c:1113: warning: called from here
shell/cmdedit.c: In function 'cmdedit_read_input':
shell/cmdedit.c:257: warning: inlining failed in call to 'beep': --param
max-inline-insns-single limit reached
shell/cmdedit.c:1552: warning: called from here
shell/cmdedit.c:257: warning: inlining failed in call to 'beep': --param
max-inline-insns-single limit reached
shell/cmdedit.c:1693: warning: called from here
shell/cmdedit.c:257: warning: inlining failed in call to 'beep': --param
max-inline-insns-single limit reached
shell/cmdedit.c:1744: warning: called from here
shell/cmdedit.c:257: warning: inlining failed in call to 'beep': --param
max-inline-insns-single limit reached
shell/cmdedit.c:1787: warning: called from here


sysklogd/logread.c: In function 'logread_main':
sysklogd/logread.c:50: warning: inlining failed in call to 'sem_up':
--param max-inline-insns-single limit reached
sysklogd/logread.c:107: warning: called from here
sysklogd/logread.c:50: warning: inlining failed in call to 'sem_up':
--param max-inline-insns-single limit reached
sysklogd/logread.c:139: warning: called from here


util-linux/fdisk.c: In function 'two_s_complement_32bit_sum':
util-linux/fdisk.c:1645: warning: inlining failed in call to '__swap32':
--param max-inline-insns-single limit reached
util-linux/fdisk.c:1766: warning: called from here
[snip rest of fdisk failures]

util-linux/fsck_minix.c: In function 'add_zone2':
util-linux/fsck_minix.c:251: warning: inlining failed in call to 'bit':
--param max-inline-insns-single limit reached
util-linux/fsck_minix.c:870: warning: called from here
util-linux/fsck_minix.c: In function 'add_zone':
util-linux/fsck_minix.c:251: warning: inlining failed in call to 'bit':
--param max-inline-insns-single limit reached
util-linux/fsck_minix.c:839: warning: called from here
[snip rest]

util-linux/mkfs_minix.c: In function 'next':
util-linux/mkfs_minix.c:238: warning: inlining failed in call to 'bit':
--param max-inline-insns-single limit reached
util-linux/mkfs_minix.c:381: warning: called from here
util-linux/mkfs_minix.c: In function 'get_free_block':
util-linux/mkfs_minix.c:238: warning: inlining failed in call to 'bit':
--param max-inline-insns-single limit reached
util-linux/mkfs_minix.c:359: warning: called from here


ought to look of mkfs_minix and fsck_minix should share bit()....


[snip e2fsprogs]


More information about the busybox mailing list