<feed xmlns='http://www.w3.org/2005/Atom'>
<title>busybox-w32/archival/gzip.c, 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-01-24T04:43:45+00:00</updated>
<entry>
<title>awk: use more understandable form of "split-globals" trick</title>
<updated>2026-01-24T04:43:45+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2026-01-24T04:30:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=5cba59e9ce72b592f1c439c2d15d3691d09b3525'/>
<id>urn:sha1:5cba59e9ce72b592f1c439c2d15d3691d09b3525</id>
<content type='text'>
function                                             old     new   delta
parse_expr                                           986     998     +12
chain_group                                          633     640      +7
next_token                                           930     934      +4
getvar_s                                             102     101      -1
awk_main                                             891     888      -3
evaluate                                            3379    3355     -24
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/3 up/down: 23/-28)             Total: -5 bytes

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>*: --help tweaks</title>
<updated>2021-06-14T18:47:20+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2021-06-14T18:47:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=e2b9215868a3d72691e5bc0f887354254606447b'/>
<id>urn:sha1:e2b9215868a3d72691e5bc0f887354254606447b</id>
<content type='text'>
function                                             old     new   delta
packed_usage                                       33589   33552     -37

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>gzip: code shrink</title>
<updated>2019-09-06T15:59:45+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2019-09-06T15:56:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=d327c6b190900dcb0cb7cda9008eb4f9893a92d8'/>
<id>urn:sha1:d327c6b190900dcb0cb7cda9008eb4f9893a92d8</id>
<content type='text'>
Converted a few 16-bit variables and small arrays to 32-bit.

Stopped pulling desc-&gt;FOO members into temporary local variables
in gen_bitlen(): on register-starved arches, this is a loss,
temporaries go into stack slots.

Sprinkled a few "const" on pointer arguments.

function                                             old     new   delta
pack_gzip                                            742     745      +3
gen_codes                                            101      97      -4
build_tree                                           886     833     -53
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/2 up/down: 3/-57)             Total: -54 bytes

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>gzip: code shrink</title>
<updated>2019-09-05T11:26:58+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2019-09-05T11:22:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=750137ef7ce3d21511b4638d25a4fce0a811b60a'/>
<id>urn:sha1:750137ef7ce3d21511b4638d25a4fce0a811b60a</id>
<content type='text'>
function                                             old     new   delta
gzip_main                                            267     264      -3

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>gzip: set default compression level to 6 when CONFIG_FEATURE_GZIP_LEVELS=n</title>
<updated>2019-09-05T11:26:58+00:00</updated>
<author>
<name>Daniel Edgecumbe</name>
<email>git@esotericnonsense.com</email>
</author>
<published>2019-09-02T21:09:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=c660cc1b7714fffbac95c9378ff4b73de650a6de'/>
<id>urn:sha1:c660cc1b7714fffbac95c9378ff4b73de650a6de</id>
<content type='text'>
With this change, GNU gzip -n and BusyBox gzip now produce identical output
assuming that CONFIG_GZIP_FAST=2.

&gt;&gt; Excuse me, but I wonder one thing: Why should we follow
&gt;&gt; strictly with gzip on the no-options default behavior?

&gt; First, the default 6 compression level is a de-facto standard. BSD gzip
&gt; and Apple gzip (on macOS) use this default as well. So there is a
&gt; reasonable expectation that different gzip implementations act the same.
&gt; For instance, if the default for busybox gzip becomes 9, then someone
&gt; writing a script using busybox gzip could reasonably expect that the
&gt; compression level will still be 9 when the same script is run on another
&gt; system. That would be wrong. Implementations should not deviate from
&gt; de-facto standards without a strong reason.
&gt;
&gt; Second, the inherent reason for this default has not gone away. While
&gt; processor speeds have exploded since the default was set, so has the
&gt; typical size of compressed files. Multiple gigabytes are nothing unusual
&gt; these days. And gzip is often used for compression on the fly, precisely
&gt; because it offers a good compromise between speed and compression ratio.
&gt; So I believe 6 continues to be a reasonable default.

function                                             old     new   delta
deflate                                              939     927     -12

Signed-off-by: Daniel Edgecumbe &lt;git@esotericnonsense.com&gt;
Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>gzip: set compression flags correctly as per standard</title>
<updated>2019-09-05T11:26:58+00:00</updated>
<author>
<name>Daniel Edgecumbe</name>
<email>git@esotericnonsense.com</email>
</author>
<published>2019-09-02T21:05:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=ca5d86d52c979cef05a614fb725870c10be9b265'/>
<id>urn:sha1:ca5d86d52c979cef05a614fb725870c10be9b265</id>
<content type='text'>
With this change and CONFIG_GZIP_FAST=2, CONFIG_FEATURE_GZIP_LEVELS=y,

GNU gzip and BusyBox gzip now produce identical output at each compression
level (excluding 1..3, as BusyBox does not implement these levels).

Signed-off-by: Daniel Edgecumbe &lt;git@esotericnonsense.com&gt;
Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>gzip: default level with ENABLE_FEATURE_GZIP_LEVELS should be 6</title>
<updated>2019-09-05T11:26:58+00:00</updated>
<author>
<name>Daniel Edgecumbe</name>
<email>git@esotericnonsense.com</email>
</author>
<published>2019-09-02T21:03:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=de82f0b764de4720fed3378f2e5f938a3f4b9d18'/>
<id>urn:sha1:de82f0b764de4720fed3378f2e5f938a3f4b9d18</id>
<content type='text'>
Fixes an off-by-one that actually resulted in level 7 being used

Signed-off-by: Daniel Edgecumbe &lt;git@esotericnonsense.com&gt;
Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>libbb: reduce the overhead of single parameter bb_error_msg() calls</title>
<updated>2019-07-02T09:35:03+00:00</updated>
<author>
<name>James Byrne</name>
<email>james.byrne@origamienergy.com</email>
</author>
<published>2019-07-02T09:35:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=6937487be73cd4563b876413277a295a5fe2f32c'/>
<id>urn:sha1:6937487be73cd4563b876413277a295a5fe2f32c</id>
<content type='text'>
Back in 2007, commit 0c97c9d43707 ("'simple' error message functions by
Loic Grenie") introduced bb_simple_perror_msg() to allow for a lower
overhead call to bb_perror_msg() when only a string was being printed
with no parameters. This saves space for some CPU architectures because
it avoids the overhead of a call to a variadic function. However there
has never been a simple version of bb_error_msg(), and since 2007 many
new calls to bb_perror_msg() have been added that only take a single
parameter and so could have been using bb_simple_perror_message().

This changeset introduces 'simple' versions of bb_info_msg(),
bb_error_msg(), bb_error_msg_and_die(), bb_herror_msg() and
bb_herror_msg_and_die(), and replaces all calls that only take a
single parameter, or use something like ("%s", arg), with calls to the
corresponding 'simple' version.

Since it is likely that single parameter calls to the variadic functions
may be accidentally reintroduced in the future a new debugging config
option WARN_SIMPLE_MSG has been introduced. This uses some macro magic
which will cause any such calls to generate a warning, but this is
turned off by default to avoid use of the unpleasant macros in normal
circumstances.

This is a large changeset due to the number of calls that have been
replaced. The only files that contain changes other than simple
substitution of function calls are libbb.h, libbb/herror_msg.c,
libbb/verror_msg.c and libbb/xfuncs_printf.c. In miscutils/devfsd.c,
networking/udhcp/common.h and util-linux/mdev.c additonal macros have
been added for logging so that single parameter and multiple parameter
logging variants exist.

The amount of space saved varies considerably by architecture, and was
found to be as follows (for 'defconfig' using GCC 7.4):

Arm:     -92 bytes
MIPS:    -52 bytes
PPC:   -1836 bytes
x86_64: -938 bytes

Note that for the MIPS architecture only an exception had to be made
disabling the 'simple' calls for 'udhcp' (in networking/udhcp/common.h)
because it made these files larger on MIPS.

Signed-off-by: James Byrne &lt;james.byrne@origamienergy.com&gt;
Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>config: update size information</title>
<updated>2018-12-28T02:20:17+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2018-12-28T02:20:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=b097a84d62dcfcf201a695b54bcfafae70cac8a6'/>
<id>urn:sha1:b097a84d62dcfcf201a695b54bcfafae70cac8a6</id>
<content type='text'>
Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>gzip: unbreak FEATURE_GZIP_LEVELS, closes 11171</title>
<updated>2018-07-24T19:12:58+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2018-07-24T19:12:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=81de30de05beebabfa72f2a01ec4f33e9a1923e3'/>
<id>urn:sha1:81de30de05beebabfa72f2a01ec4f33e9a1923e3</id>
<content type='text'>
Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
</feed>
