| Commit message (Collapse) | Author | Files | Lines |
|
When httpd is run in the background its processes are detached
from the console. CGI scripts could create subprocesses which
needed a console, resulting in annoying console windows appearing.
Prevent this by changing the creation flags for CGI scripts to
CREATE_NO_WINDOW.
|
|
Update the mkrelease script to include cross-compilation of the
Windows on ARM binary on Linux using llvm-mingw.
|
|
In the Microsoft Windows build stat(1) requires find_mount_point()
from libbb. This won't be available unless df(1) is also enabled.
Add a dependency so stat(1) can be built without df(1). This may
result in find_mount_point() being compiled needlessly in some
upstream builds, but we can live with that.
(GitHub issue #385)
|
|
- Rename some functions to be more meaningful.
- Adjust conditional compilation to clarify which code is required
for 'standalone shell' and 'exec prefers applets' settings.
This shouldn't result in any change to the behaviour or size of
default builds.
|
|
When an unexpected value is detected in UTF-8, we should print the
placeholder codepoint, and then recover whenever we detect a value
which is valid for starting a new UTF-8 codepoint (including ASCII7).
However, previously, we only tested recovery at the bytes following
the unexpected one, and so if the first unexpected value was also
valid for a new codepoint, then didn't rcover it.
Now we check for recovery from the first unexpected byte, which,
if recoverable, requires both placeholder printout and recovery,
so the recovery "unwinding" is modified a bit to allow placeholder.
Example of of a sequence which now recovers quicker than before:
(where UTF-8 for U+1F600 "😀" is: 0xF0 0x9F 0x98 0x80)
printf "\xF0\xF0\x9F\x98\x80A"
Previously: ?A
Now: ?😀A
|
|
The mingw-w64 project has updated its implementation of dirname(3).
In some circumstances the new version doesn't preserve the type of
the user-supplied top-level directory separator. As a result of
this the dirname-handles-root test case failed.
Import the new implementation and tweak it to preserve the type of
the separator.
This only affects mingw-w64 versions 12 and above. Currently only
the aarch64 build using llvm-mingw is affected.
|
|
If the NO_COLOR environment variable is set and is not empty 'ls'
won't output ANSI colour codes. This is an alternative to the
existing approach of setting 'LS_COLORS=none'.
See https://no-color.org/.
Costs 24-32 bytes.
(GitHub issue #382)
|
|
In external_exists() in appletlib.c it's necessary to take a copy
of the pointer to the allocated variable path1 so it can be freed:
find_executable() will change its value.
|
|
It seems windres in llvm doesn't understand MANIFEST resources.
Use the numeric value 24 instead.
|
|
The conditional compilation to control standalone shell mode was
incorrect when building for POSIX. This hadn't been noticed before
as it had only been tested in the default configuration where
standalone shell mode is disabled.
|
|
Use -fsjls-exceptions with clang.
|
|
Commit 992387539 (build system: more clang/llvm tweaks) falsely
claimed that the lack of the --warn-common linker option was being
detected.
It wasn't, but it is now.
|
|
For Windows on ARM we need to report the aarch64 processor
architecture.
|
|
The top-level makefile attempted to detect if make was being run
in silent mode (-s option). It then turned off reporting of
commands as they were run. There were false positives where
unrelated 's' characters in the command line were detected as
silent mode.
Import the relevant section from the latest Linux build system to
improve matters.
|
|
Update the mkprerelease script to include cross-compilation of
the Windows on ARM binary on Linux using llvm-mingw.
|
|
The top-level Makefile hardcoded the host and cross compiler name
to "gcc". Make it possible to set different values either on the
command line (make CROSS_COMPILER=clang) or in the configuration
file.
|
|
A 32-bit build of BusyBox using clang segfaulted in the test
"awk assign while assign". Specifically, on line 7 of the test
input where the adjustment of the L.v pointer when the Fields
array was reallocated:
L.v += Fields - old_Fields_ptr;
was out by 4 bytes.
Rearrange to code so both gcc and clang generate code that works.
This patch has been submitted upstream. Until it's accepted there
the new code is only used in builds for Windows.
|
|
The environment is handled differently in ARM64 Windows.
Assignments to 'environ' result in a compiler error. Omit the
offending code for now. NOFORK applets will cause a fork.
|