aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * libbb/sha256: explicitly use sha256rnds2's %xmm0 (MSG) argumentDenys Vlasenko2022-02-122-70/+70
| | | | | | | | | | | | Else, the code seemingly does not use MSG. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * whitespace fixesDenys Vlasenko2022-02-112-11/+11
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/sha1: revert last commit: pshufb is a SSSE3 insn, can't use itDenys Vlasenko2022-02-116-115/+163
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/sha1: shrink unrolled x86-64 codeDenys Vlasenko2022-02-112-123/+117
| | | | | | | | | | | | | | function old new delta sha1_process_block64 3481 3384 -97 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/sha: improve commentsDenys Vlasenko2022-02-104-21/+20
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * whitespace fixDenys Vlasenko2022-02-094-10/+10
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* | ash: let $HOME set home directory of login shellRon Yorston2022-03-221-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In busybox-w32 the shell option '-l' sets HOME to the user's home directory, as determined by a call to GetUserProfileDirectory(). This is differs from how shells work on Unix, where HOME is usually set by login(1). Allow the user to override this behaviour by setting HOME before starting the shell. If HOME isn't set or contains an empty string the previous behaviour applies. If HOME is set to a non-empty string the user should ensure that it represents a valid absolute path. (GitHub issue #244)
* | Fix POSIX buildFRP-4621-gf3c5e8bc3Ron Yorston2022-02-271-2/+2
| | | | | | | | | | Commit e6238530e (cpio: code shrink with !FEATURE_EXTRA_FILE_DATA) broke the POSIX build by incorrectly excluding chunks of code.
* | ash: try harder to avoid ctrl-c issueRon Yorston2022-02-271-24/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Commit 96a647690 (ash: prevent issue with ctrl-c and echo in loop) attempted to fix the problem that interrupting a loop like: while true; do echo hello; done caused the shell to exit. However, it wasn't completely effective and it only applied to echo and printf, not other builtins. Revert 96a647690 and instead don't call raise_interrupt() from crtl_handler() for the foreground interactive shell.
* | win32: fake file ownership on FAT filesystemsRon Yorston2022-02-171-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | busybox-w32 tries to display the ownership of files by comparing the security identifier (SID) of the current user with that of the file on disk. For filesystems that don't support SIDs this resulted in files being listed as owned by root. It appears that filesystems without support for file ownership return a null SID. In such cases pretend the file belongs to the current user. GitHub issue #241.
* | Increment date in resourcesRon Yorston2022-02-141-1/+1
| |
* | ash: workaround for UCRT bugRon Yorston2022-02-121-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There seems to be a bug in UCRT such that if a process has been started by passing a non-NULL environment block to CreateProcess() any subsequent call to spawnve() with a non-NULL environment pointer results in a crash. Commit 5b48ca53b (win32: pass NULL to spawnve, not environ) fixed the problem in busybox-w32 for those cases where a NULL environment pointer was sufficient. It didn't handle the case where the shell passes a modified environment to its child. All calls to spawnve() in the shell occur in a process which will terminate whether or not the call succeeds. It therefore doesn't matter if we mess with the environment of this process to allow spawnve() to be passed a NULL environment pointer. Do this for UCRT builds only. (GitHub issue #234)
* | cpio: code shrink with !FEATURE_EXTRA_FILE_DATARon Yorston2022-02-102-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The new --renumber-inodes option won't work if FEATURE_EXTRA_FILE_DATA is disabled. Don't allow it to be selected in that case. In fact, if FEATURE_EXTRA_FILE_DATA is disabled all the code to handle hardlinks can be #ifdef'ed out. The new --ignore-devno option need do nothing if FEATURE_EXTRA_FILE_DATA is disabled, as in that case the device ids will already be zero. It can still be selected, cpio will just always behave as though the option was provided on the command line. This doesn't affect the size of the default build.
* | find: -samefile requires FEATURE_EXTRA_FILE_DATARon Yorston2022-02-091-1/+1
| | | | | | | | | | Without FEATURE_EXTRA_FILE_DATA we don't have inode numbers to match so -samefile won't work.
* | Fix POSIX build; new yearRon Yorston2022-02-092-2/+3
| |
* | Merge busybox into mergeRon Yorston2022-02-0963-836/+1969
|\| | | | | | | | | | | | | | | Fix conflicts in reset and ash. Redefine the new safe_read_key() as a reference to read_key(). Disable SHA256_HWACCEL.
| * libbb/sha256: code shrink in x86 assemblyDenys Vlasenko2022-02-092-12/+10
| | | | | | | | | | | | | | | | function old new delta sha256_process_block64_shaNI 32-bit 676 673 -3 sha256_process_block64_shaNI 64-bit 680 677 -3 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/sha256: code shrink in 64-bit x86Denys Vlasenko2022-02-091-11/+14
| | | | | | | | | | | | | | function old new delta sha256_process_block64_shaNI 701 680 -21 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/sha256: code shrink in 32-bit x86Denys Vlasenko2022-02-091-13/+16
| | | | | | | | | | | | | | function old new delta sha256_process_block64_shaNI 697 676 -21 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/sha256: code shrink in 32-bit x86Denys Vlasenko2022-02-092-123/+114
| | | | | | | | | | | | | | function old new delta sha256_process_block64_shaNI 713 697 -16 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/sha1: shrink x86 hardware accelerated hashing (32-bit)Denys Vlasenko2022-02-082-7/+5
| | | | | | | | | | | | | | function old new delta sha1_process_block64_shaNI 511 507 -4 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/sha1: shrink x86 hardware accelerated hashing (32-bit)Denys Vlasenko2022-02-081-6/+5
| | | | | | | | | | | | | | function old new delta sha1_process_block64_shaNI 517 511 -6 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/sha1: shrink x86 hardware accelerated hashingDenys Vlasenko2022-02-082-32/+29
| | | | | | | | | | | | | | | | function old new delta sha1_process_block64_shaNI 32-bit 524 517 -7 sha1_process_block64_shaNI 64-bit 510 508 -2 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/sha1: shrink unrolled x86-64 codeDenys Vlasenko2022-02-082-46/+21
| | | | | | | | | | | | | | | | | | | | function old new delta sha1_process_block64 3482 3481 -1 .rodata 108460 108412 -48 ------------------------------------------------------------------------------ (add/remove: 1/4 grow/shrink: 0/2 up/down: 0/-49) Total: -49 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/sha1: shrink and speed up unrolled x86-64 codeDenys Vlasenko2022-02-076-46/+131
| | | | | | | | | | | | | | function old new delta sha1_process_block64 3514 3482 -32 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * *: slap on a few ALIGN_PTR where appropriateDenys Vlasenko2022-02-069-15/+15
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * *: slap on a few ALIGN* where appropriateDenys Vlasenko2022-02-0616-20/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The result of looking at "grep -F -B2 '*fill*' busybox_unstripped.map" function old new delta .rodata 108586 108460 -126 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-126) Total: -126 bytes text data bss dec hex filename 970412 4219 1848 976479 ee65f busybox_old 970286 4219 1848 976353 ee5e1 busybox_unstripped Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/sha256: code shrink in 32-bit x86Denys Vlasenko2022-02-061-45/+48
| | | | | | | | | | | | | | function old new delta sha256_process_block64_shaNI 722 713 -9 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/sha256: code shrink in 64-bit x86Denys Vlasenko2022-02-061-48/+48
| | | | | | | | | | | | | | function old new delta sha256_process_block64_shaNI 706 701 -5 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/sha256: code shrink in 64-bit x86Denys Vlasenko2022-02-031-17/+17
| | | | | | | | | | | | | | function old new delta sha256_process_block64_shaNI 730 706 -24 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/sha256: code shrink in 32-bit x86Denys Vlasenko2022-02-031-18/+17
| | | | | | | | | | | | | | function old new delta sha256_process_block64_shaNI 747 722 -25 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/sha256: optional x86 hardware accelerated hashingDenys Vlasenko2022-02-039-26/+612
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 64 bit: function old new delta sha256_process_block64_shaNI - 730 +730 .rodata 108314 108586 +272 sha256_begin 31 83 +52 ------------------------------------------------------------------------------ (add/remove: 5/1 grow/shrink: 2/0 up/down: 1055/-1) Total: 1054 bytes 32 bit: function old new delta sha256_process_block64_shaNI - 747 +747 .rodata 104318 104590 +272 sha256_begin 29 84 +55 ------------------------------------------------------------------------------ (add/remove: 5/1 grow/shrink: 2/0 up/down: 1075/-1) Total: 1074 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/sha1: in unrolled x86-64 code, pass initial W[] in registers, not on stackDenys Vlasenko2022-01-252-205/+214
| | | | | | | | | | | | | | | | | | | | | | | | This can be faster on some CPUs. On Skylake, evidently load latency from L1 (or store-to-load forwarding in LSU) is fast enough to completely hide memory reference latencies here. function old new delta sha1_process_block64 3495 3514 +19 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * cut: build fix for FEATURE_CUT_REGEXDenys Vlasenko2022-01-241-0/+1
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * apply const trick to ptr_to_globalsKhem Raj2022-01-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was missing in the previous attempt to fix it via [1] This helps fix segfaults when compiling with clang ( seen on riscv64 ) [ 452.428349] less[270]: unhandled signal 11 code 0x1 at 0x000000000000000c in busybox.nosuid[2ab7491000+ba000] [ 452.430246] CPU: 3 PID: 270 Comm: less Not tainted 5.15.13-yocto-standard #1 [ 452.431323] Hardware name: riscv-virtio,qemu (DT) [ 452.431925] epc : 0000002ab74a19ee ra : 0000002ab74a19dc sp : 0000003fec6ec980 [ 452.432725] gp : 0000002ab754dcb0 tp : 0000003f88783800 t0 : 0000003f8878d4a0 [ 452.433744] t1 : 0000002ab749b00c t2 : 0000000000000000 s0 : 0000003fec6ecc38 [ 452.434732] s1 : 000000000000004c a0 : 00000000ffffffff a1 : 0000002ab754dde0 [ 452.435861] a2 : 0000000000000000 a3 : 0000000000000100 a4 : 0000002ab754f3a0 [ 452.436787] a5 : 0000002ab754f3a0 a6 : 0000000000000000 a7 : 0000002ab754f2a0 [ 452.437974] s2 : 0000000000000002 s3 : 0000002ab754b6c8 s4 : 0000002ab749b60e [ 452.438781] s5 : 0000000000000000 s6 : 0000002ab754b6c8 s7 : 0000003f88943060 [ 452.439723] s8 : 0000003f88944050 s9 : 0000002ad8502e88 s10: 0000002ad8502de8 [ 452.440538] s11: 0000000000000014 t3 : 0000003f887fceb6 t4 : 0000003f8893af0c [ 452.441438] t5 : 0000000000000000 t6 : 0000003f88923000 [1] https://git.busybox.net/busybox/commit/?id=1f925038a Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * mkfs.vfat: fix volume label to be padded with spaceTimo Teräs2022-01-231-8/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The specification requires volume label to be space padded. Latest fsck.vfat will remove the zero padded volume label as invalid. See also: https://github.com/dosfstools/dosfstools/issues/172 Make the default label also "NO NAME" which has the special meaning that label is not set. function old new delta mkfs_vfat_main 1470 1502 +32 static.NO_NAME_11 - 12 +12 .rodata 104309 104318 +9 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 2/0 up/down: 53/0) Total: 53 bytes Signed-off-by: Timo Teräs <timo.teras@iki.fi> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * Add support for long options to cmpWalter Lozano2022-01-231-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to improve compatibility with GNU cmp add support for long options to busybox cmp. function old new delta static.cmp_longopts - 36 +36 cmp_main 589 594 +5 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 1/0 up/down: 41/0) Total: 41 bytes Signed-off-by: Walter Lozano <walter.lozano@collabora.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * sed: fix handling of escaped delimiters in s/// replacementDenys Vlasenko2022-01-232-3/+11
| | | | | | | | | | | | | | function old new delta parse_regex_delim 111 140 +29 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * sed: fix handling of escaped delimiters in s/// search pattern, closes 14541Denys Vlasenko2022-01-232-8/+21
| | | | | | | | | | | | | | | | | | | | | | | | function old new delta copy_parsing_escapes 67 96 +29 parse_regex_delim 109 111 +2 get_address 213 215 +2 add_cmd 1176 1178 +2 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 4/0 up/down: 35/0) Total: 35 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * add busybox_ldscript.README.txtDenys Vlasenko2022-01-231-0/+47
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/sha1: use SSE2 in unrolled x86-64 code. ~10% fasterDenys Vlasenko2022-01-232-578/+854
| | | | | | | | | | | | | | | | | | | | function old new delta .rodata 108241 108305 +64 sha1_process_block64 3502 3495 -7 ------------------------------------------------------------------------------ (add/remove: 5/0 grow/shrink: 1/1 up/down: 64/-7) Total: 57 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb: shrink lineedit_read_key()Denys Vlasenko2022-01-187-16/+25
| | | | | | | | | | | | | | function old new delta lineedit_read_key 237 231 -6 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * fix "defined but not used" warningsDenys Vlasenko2022-01-172-0/+4
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * ash,hush: fix handling of SIGINT while waiting for interactive inputDenys Vlasenko2022-01-179-41/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | function old new delta lineedit_read_key 160 237 +77 __pgetc 522 589 +67 fgetc_interactive 244 309 +65 safe_read_key - 39 +39 read_key 588 607 +19 record_pending_signo 23 32 +9 signal_handler 75 81 +6 .rodata 104312 104309 -3 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 6/1 up/down: 282/-3) Total: 279 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * shell: add comments about SIGINT-related problemsDenys Vlasenko2022-01-162-5/+9
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb: introduce and use chdir_or_warn()Denys Vlasenko2022-01-135-8/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | function old new delta chdir_or_warn - 37 +37 send_cgi_and_exit 720 711 -9 xchdir 27 15 -12 setup_environment 233 217 -16 fork_job 449 433 -16 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 0/4 up/down: 37/-53) Total: -16 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb: invert the meaning of SETUP_ENV_NO_CHDIR -> SETUP_ENV_CHDIRDenys Vlasenko2022-01-138-17/+22
| | | | | | | | | | | | | | | | | | | | | | | | Double negatives are hard to grok. function old new delta login_main 986 988 +2 su_main 474 470 -4 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/1 up/down: 2/-4) Total: -2 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* | Merge busybox into mergeRon Yorston2022-01-1322-73/+694
|\| | | | | | | | | | | | | Fix merge conflicts in coreutils/ls.c and shell/ash.c. Update config files to turn off SHA1_HWACCEL. It uses non-portable assembler.
| * sulogin: util-linux does not say "normal startup" on Ctrl-DDenys Vlasenko2022-01-131-1/+2
| | | | | | | | | | | | | | | | | | | | function old new delta sulogin_main 341 331 -10 .rodata 104327 104312 -15 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-25) Total: -25 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * sulogin: start _login_ shell only with -pDenys Vlasenko2022-01-131-7/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | Also, shorten/eliminate messages to be closer to util-linux. function old new delta packed_usage 34233 34238 +5 sulogin_main 340 341 +1 .rodata 104380 104327 -53 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/1 up/down: 6/-53) Total: -47 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>