busybox/miscutils
Denys Vlasenko 09d8df84ee bc: do not use "(cond ? f1 : f2)(params)" idiom, it messes up static function optimizations
With direct calls, GCC no longer thinks that we take addresses of the functions,
and can use "more optimal" internal ABI for _all_ calls to these functions,
not only at this callsite. On i486, regparm is used, and:

function                                             old     new   delta
zbc_num_inv                                           56      57      +1
zbc_num_k                                            852     851      -1
zbc_program_modexp                                   558     556      -2
zbc_num_d                                            541     539      -2
bc_num_ulong2num                                      59      57      -2
zbc_program_num                                      840     836      -4
bc_num_zero                                           11       7      -4
bc_num_one                                            28      24      -4
bc_program_exec                                     3928    3918     -10
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/8 up/down: 1/-29)             Total: -28 bytes
   text	   data	    bss	    dec	    hex	filename
 982237	    485	   7296	 990018	  f1b42	busybox_old
 982209	    485	   7296	 989990	  f1b26	busybox_unstripped

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-11 19:33:09 +01:00
..
adjtimex.c
bbconfig.c libarchive: add a function to unpack embedded data 2018-11-02 14:14:51 +01:00
bc.c bc: do not use "(cond ? f1 : f2)(params)" idiom, it messes up static function optimizations 2018-12-11 19:33:09 +01:00
beep.c
chat.c
Config.src restore documentation on the build config language 2018-06-06 15:16:48 +02:00
conspy.c
crond.c
crontab.c
dc.c dc: fix "small dc" to have standard command line API 2018-12-08 18:59:07 +01:00
devfsd.c
devmem.c
fbsplash.c fbsplash: support configurable image position 2018-03-29 18:42:11 +02:00
fbsplash.cfg
flash_eraseall.c libbb: commonalize a bit of little-endian CRC32 table generation code 2018-02-01 10:56:19 +01:00
flash_lock_unlock.c
flashcp.c
hdparm.c
hexedit.c hexedit: fixes for redraw and down movement causing SEGV on attempt to access 2018-07-23 14:26:55 +02:00
i2c_tools.c xargs: use bb_ask_y_confirmation_FILE() instead of homegrown copy 2018-04-07 15:23:10 +02:00
inotifyd.c
Kbuild.src
less.c less: fix fallout from "use common routine to set raw termios" 2018-04-16 10:24:48 +02:00
lsscsi.c
makedevs.c
man.c
microcom.c
mt.c
nandwrite.c nandwrite: cope with old headers which have no MTD_FILE_MODE_RAW 2018-01-14 13:43:31 +01:00
partprobe.c
raidautorun.c
readahead.c
rfkill.c
runlevel.c
rx.c
setfattr.c
setserial.c
strings.c
time.c libbb.h: always include sys/resource.h 2018-04-08 17:23:27 +02:00
ttysize.c
ubi_tools.c
ubirename.c
volname.c
watchdog.c