On Fri, Oct 20, 2023 at 08:09:12PM +0200, Ahmad Fatoum wrote: > The XZ decompressor in barebox has BCJ filter support for THUMB, but > like Linux, it's unused and instead the ARM BCJ filter is used. > > Fixing that lets us save a few kilobytes, which is especially useful for > legacy configuration that fit a whole barebox into limited on-chip SRAM > (and not only the prebootloader). For example, with this patch applied > barebox-am33xx-beaglebone-mlo.img is shrinked 3K from 109236 to 106028 bytes. > > Signed-off-by: Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> > --- > lib/decompress_unxz.c | 2 ++ > scripts/xz_wrap.sh | 4 ++++ > 2 files changed, 6 insertions(+) Applied, thanks Sascha > > diff --git a/lib/decompress_unxz.c b/lib/decompress_unxz.c > index 132ab4a239b3..ad6a5f20ba28 100644 > --- a/lib/decompress_unxz.c > +++ b/lib/decompress_unxz.c > @@ -133,6 +133,8 @@ > #ifdef CONFIG_ARM > # ifdef CONFIG_CPU_64 > # define XZ_DEC_ARM64 > +# elif defined CONFIG_THUMB2_BAREBOX > +# define XZ_DEC_ARMTHUMB > # else > # define XZ_DEC_ARM > # endif > diff --git a/scripts/xz_wrap.sh b/scripts/xz_wrap.sh > index 5b5f3adcff6d..a6373a748168 100755 > --- a/scripts/xz_wrap.sh > +++ b/scripts/xz_wrap.sh > @@ -20,6 +20,10 @@ case $SRCARCH in > sparc) BCJ=--sparc ;; > esac > > +if grep -q '^CONFIG_THUMB2_BAREBOX=y$' include/config/auto.conf; then > + BCJ=--armthumb > +fi > + > # clear BCJ filter if unsupported > xz -H | grep -q -- $BCJ || BCJ= > > -- > 2.39.2 > > > -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |