busybox/libbb
Denys Vlasenko e660eab458 *: code shrink using sigprocmask2() where appropriate
function                                             old     new   delta
sig_unblock                                           41      43      +2
sig_block                                             41      40      -1
sigprocmask_allsigs                                   33      31      -2
wait_for_child_or_signal                             202     193      -9
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/3 up/down: 2/-12)             Total: -10 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2025-08-11 01:17:02 +02:00
..
yescrypt libbb/yescrypt: code shrink 2025-08-01 02:21:38 +02:00
alloc_affinity.c nproc: prepare for arbitrarily large CPU masks 2024-05-31 11:58:48 +02:00
appletlib.c libbb: send usage messages to correct stream 2024-09-27 19:52:25 +02:00
ask_confirmation.c xargs: use bb_ask_y_confirmation_FILE() instead of homegrown copy 2018-04-07 15:23:10 +02:00
auto_string.c libbb: auto_string() for efficient handling of temporary malloced stirngs 2015-10-09 17:59:56 +02:00
bb_askpass.c libbb: introduce and use fputs_stdout 2021-02-03 20:52:40 +01:00
bb_bswap_64.c
bb_cat.c
bb_do_delay.c libbb: make msleep() result in only one syscall instead of looping 2020-12-11 16:48:47 +01:00
bb_getgroups.c ash: cache more of uid/gid syscalls 2024-10-07 07:28:44 +02:00
bb_getsockname.c libbb: introduce and use bb_getsockname() 2018-02-11 14:55:46 +01:00
bb_pwd.c
bb_qsort.c
bb_strtod.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
bb_strtonum.c printf: fix printf "%u\n" +18446744073709551614 2018-10-30 23:24:18 +01:00
bbunit.c libbb: reduce the overhead of single parameter bb_error_msg() calls 2019-07-02 11:35:03 +02:00
bitops.c libbb/bitops.c: add inlining comment 2025-07-09 08:21:47 +02:00
c_escape.c ls: fix -Q to match GNU 2025-08-01 01:02:43 +02:00
capability.c decrease paddign: gcc-9.3.1 slaps 32-byte alignment on arrays willy-nilly 2020-11-30 13:03:03 +01:00
change_identity.c
chomp.c
common_bufsiz.c
compare_string_array.c libbb: code shrink and speed up index_in_strings() 2021-02-02 14:37:37 +01:00
concat_path_file.c libbb: simplify concat_path_file() 2025-08-04 22:27:40 +02:00
concat_subpath_file.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
Config.src shell: update HISTFILESIZE code to be actually useful 2025-07-03 19:10:42 +02:00
const_hack.c libbb: Prevent clang from reading the G pointer before it is assigned 2025-07-01 21:21:16 +02:00
copy_file.c cp: implement -n 2021-06-22 15:28:34 +02:00
copyfd.c libbb: create and use mmap() helpers 2020-12-14 18:25:28 +01:00
correct_password.c
crc32.c
default_error_retval.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
device_open.c
die_if_bad_username.c Fixes for Hurd build 2020-12-17 11:22:44 +01:00
dump.c libbb/dump: much faster formatting of %_u on x86 2025-08-01 03:01:38 +02:00
duration.c ash: fix sleep built-in not running INT trap immediately on ^C 2023-04-10 16:30:27 +02:00
endofname.c move endofname() to libbb 2013-02-26 00:36:53 +01:00
executable.c libbb: modify find_executable() to not temporarily write to PATH 2024-10-08 04:03:17 +02:00
fclose_nonstdin.c
fflush_stdout_and_exit.c libbb: fflush_stdout_and_exit(0) still exits with _error_ (not 0!) if fflush fails 2022-01-04 23:36:16 +01:00
fgets_str.c libbb: code shrink fgets_str 2021-02-03 20:43:07 +01:00
find_mount_point.c
find_pid_by_name.c pidof: support "pidof /path/to/binary" case 2019-06-15 18:35:39 +02:00
find_root_device.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
full_write.c
get_console.c *: slap on a few ALIGN* where appropriate 2022-02-06 19:53:10 +01:00
get_cpu_count.c
get_last_path_component.c find: cater for libc w/o FNM_CASEFOLD 2011-05-23 00:40:54 +02:00
get_line_from_file.c libbb: in xmalloc_fgets(), use size_t for bb_get_chunk_from_file() 2018-09-02 18:48:09 +02:00
get_shell_name.c mark get_shell_name FAST_FUNC 2012-10-03 09:42:21 +02:00
get_volsize.c
getopt32.c ls: implement -q, fix -w0, reduce startup time 2025-07-31 18:35:11 +02:00
getopt_allopts.c
getpty.c
hash_hmac.c libbb/yescrypt: remove redundant SHA256 HMAC implementation 2025-07-07 08:21:44 +02:00
hash_md5_sha.c sha384sum: new applet 2025-07-30 18:39:46 +02:00
hash_md5prime.c tls: add 2nd cipher_id, TLS_RSA_WITH_AES_128_CBC_SHA, so far it doesn't work 2017-01-24 16:00:54 +01:00
hash_sha1_hwaccel_x86-32.S libbb: rename source files, no code changes 2023-07-18 16:41:12 +02:00
hash_sha1_hwaccel_x86-64.S libbb: rename source files, no code changes 2023-07-18 16:41:12 +02:00
hash_sha1_x86-64.S libbb: rename source files, no code changes 2023-07-18 16:41:12 +02:00
hash_sha1_x86-64.S.sh libbb: rename source files, no code changes 2023-07-18 16:41:12 +02:00
hash_sha256_block.c libbb: add two more forgotten source files 2025-07-07 04:57:16 +02:00
hash_sha256_hwaccel_x86-32.S libbb: SHA-NI - document that unpckhpd also works, no code changes 2025-07-22 16:43:22 +02:00
hash_sha256_hwaccel_x86-64.S libbb: SHA-NI - document that unpckhpd also works, no code changes 2025-07-22 16:43:22 +02:00
herror_msg.c
human_readable.c
in_ether.c
inet_cksum.c gcc-9.x warning fixes 2020-10-01 03:07:22 +02:00
inet_common.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
inode_hash.c du: don't count duplicate arguments. Closes 5288 2019-02-19 17:08:39 +01:00
isdirectory.c do not include <sys/stat.h> just before "libbb.h", it's there already 2017-10-05 14:41:36 +02:00
isqrt.c
iterate_on_dir.c move iterate_on_dir() from e2fsprogs to libbb 2021-06-24 11:42:55 +02:00
Kbuild.src libbb: add bit counting function, use where appropriate 2024-05-31 16:03:23 +02:00
kernel_version.c
last_char_is.c libbb: shrink last_char_is(), no longer allow NULL string argument 2020-07-19 20:49:22 +02:00
lineedit.c shell: fix the check of empty HISTFILE 2025-08-03 00:11:11 +02:00
lineedit_ptr_hack.c
llist.c
logenv.c
login.c libbb: introduce and use fputs_stdout 2021-02-03 20:52:40 +01:00
loop.c libbb/loop: fix compile failure (name collision) 2023-01-02 17:03:44 +01:00
make_directory.c
makedev.c
match_fstype.c
messages.c
missing_syscalls.c
mode_string.c libbb: clarify what bb_mode_string() generates 2021-09-17 17:10:38 +02:00
mtab.c libbb: reduce the overhead of single parameter bb_error_msg() calls 2019-07-02 11:35:03 +02:00
nuke_str.c whitespace fixes 2018-07-17 15:04:17 +02:00
obscure.c unit-tests: implement the unit-testing framework 2014-06-22 16:30:41 +02:00
parse_config.c
parse_mode.c libbb: code shrink bb_parse_mode 2021-09-17 00:47:23 +02:00
percent_decode.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
perror_msg.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
perror_nomsg.c libbb: pass "" rather than NULL as format string in _nomsg functions 2023-06-12 10:19:29 +02:00
perror_nomsg_and_die.c libbb: pass "" rather than NULL as format string in _nomsg functions 2023-06-12 10:19:29 +02:00
pidfile.c
platform.c ash: placate -Werror=format-security 2021-02-18 13:45:49 +01:00
poll_with_signals.c shell: fix race between signal handlers setting bb_got_signal and poll() 2025-07-02 22:42:47 +02:00
popcnt.c libbb: add bit counting function, use where appropriate 2024-05-31 16:03:23 +02:00
print_flags.c whitespace and comment format fixes, no code changes 2017-10-05 15:33:28 +02:00
print_numbered_lines.c libbb: introduce and use fputs_stdout 2021-02-03 20:52:40 +01:00
printable.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
printable_string.c
process_escape_sequence.c
procps.c top,pmap: speed up /smaps parsing 2025-08-06 14:42:06 +02:00
progress.c wget: print the final newline only for non-tty output 2018-11-23 19:14:52 +01:00
ptr_to_globals.c
pw_ascii64.c libbb/pw_ascii64.c: add forgotten source file 2025-07-07 00:04:10 +02:00
pw_encrypt.c libbb: crypt_make_pw_salt(): fix yescrypt's random salt last char 2025-07-19 18:42:32 +02:00
pw_encrypt_des.c libbb: shuffle ascii64 code around, shrink i2a64() 2025-07-06 21:59:03 +02:00
pw_encrypt_md5.c libbb: shuffle ascii64 code around, shrink i2a64() 2025-07-06 21:59:03 +02:00
pw_encrypt_sha.c libbb: code shrink in sha_crypt() 2025-07-08 10:04:47 +02:00
pw_encrypt_yes.c libbb: add two more forgotten source files 2025-07-07 04:57:16 +02:00
read.c
read_key.c shell: fix race between signal handlers setting bb_got_signal and poll() 2025-07-02 22:42:47 +02:00
read_printf.c
README
recursive_action.c libbb: shrink recursive_action() by reducing memory pressure 2020-10-01 21:52:16 +02:00
remove_file.c libbb: do not check closedir() in remove_file() 2021-06-24 17:39:57 +02:00
replace.c ftpd: code shrink, move replace_char() to libbb 2025-08-02 07:18:56 +02:00
rtc.c move ADJTIME_PATH define to header files 2020-12-17 20:53:43 +01:00
run_shell.c libbb: exec_login_shell() - new function 2020-12-02 21:51:08 +01:00
safe_gethostname.c
safe_poll.c
safe_strncpy.c
safe_write.c
securetty.c
selinux_common.c
setup_environment.c libbb: introduce and use chdir_or_warn() 2022-01-13 12:56:10 +01:00
signals.c *: code shrink using sigprocmask2() where appropriate 2025-08-11 01:17:02 +02:00
simplify_path.c whitespace cleanup 2010-10-29 11:46:52 +02:00
single_argv.c sleep: fix "sleep -- ARGS" 2023-10-02 13:56:32 +02:00
skip_whitespace.c libbb: Use return value from is_prefixed_with() 2018-02-27 13:35:40 +01:00
speed_table.c decrease paddign: gcc-9.3.1 slaps 32-byte alignment on arrays willy-nilly 2020-11-30 13:03:03 +01:00
str_tolower.c
strrstr.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
sysconf.c libbb: add sanity check in bb_arg_max() 2014-12-24 01:46:29 +01:00
time.c libbb: code shrink parse_datestr (again) 2021-09-18 22:55:46 +02:00
trim.c
u_signal_names.c
ubi.c ubi tools: ubiupdatevol supports "-" input and actually respects -s SIZE 2017-08-07 16:00:25 +02:00
udp_io.c
unicode.c unicode: relax array alignment for tables 2020-11-30 11:30:17 +01:00
update_passwd.c update_passwd: fix context variable 2021-01-14 17:03:25 +01:00
utmp.c *: Switch to POSIX utmpx API 2015-04-02 23:03:46 +02:00
uuencode.c base32/64: "truncated base64 input" -> "truncated input" 2020-11-28 13:43:54 +01:00
verror_msg.c libbb: pass "" rather than NULL as format string in _nomsg functions 2023-06-12 10:19:29 +02:00
vfork_daemon_rexec.c start-stop-daemon: do not lose error messages with -b 2023-11-08 14:07:20 +01:00
warn_ignoring_args.c
wfopen.c libbb: new function bb_die_memory_exhausted 2018-04-01 19:59:37 +02:00
wfopen_input.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
write.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
xatonum.c decrease paddign: gcc-9.3.1 slaps 32-byte alignment on arrays willy-nilly 2020-11-30 13:03:03 +01:00
xatonum_template.c
xconnect.c libbb: reuse "bad port" error message string 2021-09-10 09:48:55 +02:00
xfunc_die.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
xfuncs.c libbb: code shrink: introduce and use [_]exit_FAILURE() 2023-06-15 11:55:56 +02:00
xfuncs_printf.c libbb: introduce and use chdir_or_warn() 2022-01-13 12:56:10 +01:00
xgetcwd.c libbb: reduce the overhead of single parameter bb_error_msg() calls 2019-07-02 11:35:03 +02:00
xgethostbyname.c libbb: reduce the overhead of single parameter bb_error_msg() calls 2019-07-02 11:35:03 +02:00
xreadlink.c libbb: better coreutils compatibility for realpath 2021-10-09 01:47:12 +02:00
xrealloc_vector.c
xregcomp.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00

Please see the LICENSE file for copyright information (GPLv2)

libbb is BusyBox's utility library.  All of this stuff used to be stuffed into
a single file named utility.c.  When I split utility.c to create libbb, some of
the very oldest stuff ended up without their original copyright and licensing
information (which is now lost in the mists of time).  If you see something
that you wrote that is mis-attributed, do let me know so we can fix that up.

	Erik Andersen
	<andersen@codepoet.org>