Re: [PATCH] kbuild: correct size calculation of bzImgae / fix x86boot

From: Michal Marek
Date: Mon Dec 21 2009 - 07:23:08 EST


Andreas Schwab napsal(a):
> Does dash's printf support %b? Then this should work.

Good idea. %b is specified by posix, so there is hope :). Does Andreas'
patch work for others as well? I'd like to fix this upstream ASAP, OTOH
right now it's broken "only" for dash users, so let's not rush and make
it even worse.

Thanks,
Michal
>
> Andreas.
>
> diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
> index cd815ac..340813d 100644
> --- a/scripts/Makefile.lib
> +++ b/scripts/Makefile.lib
> @@ -213,14 +213,16 @@ cmd_gzip = (cat $(filter-out FORCE,$^) | gzip -f -9 > $@) || \
>
> # Bzip2 and LZMA do not include size in file... so we have to fake that;
> # append the size as a 32-bit littleendian number as gzip does.
> -size_append = printf $(shell \
> +size_append = printf %b $$( \
> dec_size=0; \
> for F in $1; do \
> fsize=$$(stat -c "%s" $$F); \
> dec_size=$$(expr $$dec_size + $$fsize); \
> done; \
> -printf "%08x" $$dec_size | \
> - sed 's/\(..\)\(..\)\(..\)\(..\)/\\\\x\4\\\\x\3\\\\x\2\\\\x\1/g' \
> +for i in 1 2 3 4; do \
> + printf '\\%04o' $$(expr $$dec_size % 256); \
> + dec_size=$$(expr $$dec_size / 256); \
> +done \
> )
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/