<feed xmlns='http://www.w3.org/2005/Atom'>
<title>busybox-w32/Makefile.flags, branch cron_changes</title>
<subtitle>A mirror of https://github.com/rmyorston/busybox-w32.git
</subtitle>
<id>https://git.lua4.win/busybox-w32/atom?h=cron_changes</id>
<link rel='self' href='https://git.lua4.win/busybox-w32/atom?h=cron_changes'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/'/>
<updated>2026-03-21T15:17:04+00:00</updated>
<entry>
<title>build system: add option to place statics in .bss</title>
<updated>2026-03-21T15:17:04+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2026-03-21T15:17:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=8d97f41766c905bf527ee1b08d021fc4ae9d5af3'/>
<id>urn:sha1:8d97f41766c905bf527ee1b08d021fc4ae9d5af3</id>
<content type='text'>
Upstream BusyBox uses the '-fdata-sections' compiler flag.  On
Windows this has the unfortunate side effect that static variables
are placed in the .data section, thus increasing the size of the
binary.

Add a configuration option, STATICS_IN_BSS, to force statics into
.bss on Windows, saving 2-5KB for most binaries.  It has no
effect on POSIX builds, where statics are always placed in .bss.
</content>
</entry>
<entry>
<title>tls: add Schannel implementation</title>
<updated>2025-08-07T12:35:53+00:00</updated>
<author>
<name>rfl890</name>
<email>87506407+rfl890@users.noreply.github.com</email>
</author>
<published>2025-08-07T12:35:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=22160c163a91f33684750d887b5bcb6071e0ad36'/>
<id>urn:sha1:22160c163a91f33684750d887b5bcb6071e0ad36</id>
<content type='text'>
Not enabled by default.

When enabled without TLS 1.3 support, saves 16784-18776 bytes.

(GitHub PR #510)</content>
</entry>
<entry>
<title>Use Windows library for cryptographic checksums</title>
<updated>2025-06-09T12:23:49+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2025-06-09T12:23:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=596c443112d09506c3bf13ac98046a84b912e56c'/>
<id>urn:sha1:596c443112d09506c3bf13ac98046a84b912e56c</id>
<content type='text'>
Add a new feature to libbb, FEATURE_USE_CNG_API, which enables the
use of the Cryptography API: Next Generation library to calculate
checksums.  It is disabled by default except in the mingw64u default
config, as the API requires Windows 10+ to function.  Usage of this
API provides a size benefit and delegates hardware optimizations to
the operating system cryptography library.

Based on GitHub PR #498 by rfl890.

Saves 4064 bytes in the mingw64u case.
</content>
</entry>
<entry>
<title>build system: include stack unwind tables</title>
<updated>2025-05-18T10:28:13+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2025-05-18T10:15:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=a807cdfa95cf4af2f84e207ed15887cc3514cb43'/>
<id>urn:sha1:a807cdfa95cf4af2f84e207ed15887cc3514cb43</id>
<content type='text'>
Commit 9b80b903c7 (build system: stop .eh_frame generation) added
compiler flags to prevent unwind tables being included in the
binary.  BusyBox doesn't normally require such tables and the size
of the binary was much reduced.

Windows' Control Flow Guard feature needs unwind tables.  Without
them calls to longjmp(3), widely used in BusyBox, fail.

Add a configuration option to control whether or not unwind tables
are included.

(GitHub issue #495)
</content>
</entry>
<entry>
<title>build system: avoid full rebuild when EXTRAVERSION changes</title>
<updated>2024-02-16T12:06:15+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2024-02-16T12:06:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=0200baa675d3b51c0f021da7728353ee7ceedba4'/>
<id>urn:sha1:0200baa675d3b51c0f021da7728353ee7ceedba4</id>
<content type='text'>
The last two commits allow EXTRAVERSION to track the current state
of a git repository.  The build system was unable to determine
which files were affected by changes to EXTRAVERSION and caused
a full rebuild when it changed.

Alter how the version information is passed to the code so only
a handful of files need to be rebuilt when it changes.
</content>
</entry>
<entry>
<title>build system: try a different exception method</title>
<updated>2024-01-21T16:24:44+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2024-01-21T16:24:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=d7c65f24a9f6cf61a1fc629d5d2d48cc64d5bc41'/>
<id>urn:sha1:d7c65f24a9f6cf61a1fc629d5d2d48cc64d5bc41</id>
<content type='text'>
Use -fsjls-exceptions with clang.
</content>
</entry>
<entry>
<title>Makefile.flags: suppress clang warnings when cross-compiling</title>
<updated>2024-01-17T11:57:23+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2024-01-02T08:48:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=c0b57922a9373395c58139b2d4fe4cd865ef8223'/>
<id>urn:sha1:c0b57922a9373395c58139b2d4fe4cd865ef8223</id>
<content type='text'>
Extend the changes introduced by commit b4ef2e3467 (Makefile.flags:
suppress some clang-9 warnings) so they also cover the case where
clang is used as a cross-compiler.

Signed-off-by: Ron Yorston &lt;rmy@pobox.com&gt;
</content>
</entry>
<entry>
<title>win32: make the clang build less crashy</title>
<updated>2024-01-03T14:29:11+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2024-01-03T14:29:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=306601c86fa1cc6c210b7f18d597b8c0821ab19a'/>
<id>urn:sha1:306601c86fa1cc6c210b7f18d597b8c0821ab19a</id>
<content type='text'>
busybox-w32 binaries built using clang crashed so frequently that
they were pretty much unusable.  The main issue seems to be with
assignments to the structures containing global variables which
are used in most applets.

Upstream commit 5156b2455 (Make const ptr assign as function call
in clang) addresses this, but is insufficient for the build on
Windows.  Extend the idea to the ASSIGN_CONST_PTR() macro too.

Costs 32-80 bytes in the gcc build.
</content>
</entry>
<entry>
<title>Merge branch 'busybox' into merge</title>
<updated>2023-05-23T10:32:44+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2023-05-23T10:32:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=5adeafb91fe5d0fbfd2e4f773e64da9aa13d2f09'/>
<id>urn:sha1:5adeafb91fe5d0fbfd2e4f773e64da9aa13d2f09</id>
<content type='text'>
</content>
</entry>
<entry>
<title>build system: Make it possible to build with 64bit time_t</title>
<updated>2023-05-07T16:57:06+00:00</updated>
<author>
<name>Uwe Kleine-König</name>
<email>u.kleine-koenig@pengutronix.de</email>
</author>
<published>2023-04-20T12:13:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=40fa8eb998e27529fcd59830eb163b43658f9e81'/>
<id>urn:sha1:40fa8eb998e27529fcd59830eb163b43658f9e81</id>
<content type='text'>
On most 32bit architectures time_t (and a few other time related types)
are a signed 32bit wide integer type.
As a consequence they can only represent dates between

	Fri Dec 13 08:45:52 PM UTC 1901

(-0x80000000 seconds before Jan 1 1970) and

	Tue Jan 19 03:14:07 AM UTC 2038

(0x7fffffff seconds after Jan 1 1970). Given that some machines that are
built today have an expected lifetime of &gt;15 years, this needs to be
extended. To to that, define the cpp symbol _TIME_BITS to 64 which
results in some magic in glibc to make time_t (and the few other time
related types) 64 bit wide.

This new switch CONFIG_TIME64 is in the spirit of CONFIG_LFS and only
expected to have the expected effect with glibc. On musl for examples
time_t already defaults to 64bit wide types.

Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
</feed>
