cb91a818c8
GNU binutils in deterministic mode (ar rD or built with --enable-deterministic-archives) hard codes file mode to 0644 (NOT 0100644) since https://github.com/bminor/binutils-gdb/commit/36e4dce69dd2 This confuses busybox ar x (data_extract_all): touch a; ar rD a.ar a ar: creating a.ar busybox ar x a.ar ar: unrecognized file type hexdump -C a.ar 00000000 21 3c 61 72 63 68 3e 0a 61 2f 20 20 20 20 20 20 |!<arch>.a/ | 00000010 20 20 20 20 20 20 20 20 30 20 20 20 20 20 20 20 | 0 | 00000020 20 20 20 20 30 20 20 20 20 20 30 20 20 20 20 20 | 0 0 | 00000030 36 34 34 20 20 20 20 20 30 20 20 20 20 20 20 20 |644 0 | 00000040 20 20 60 0a | `.| As a workaround, force the mode bits to S_IFREG, as nothing else makes sense for ar. function old new delta get_header_ar 539 542 +3 Signed-off-by: Peter Korsgaard <peter@korsgaard.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> |
||
---|---|---|
.. | ||
bz | ||
unxz | ||
common.c | ||
data_align.c | ||
data_extract_all.c | ||
data_extract_to_command.c | ||
data_extract_to_stdout.c | ||
data_skip.c | ||
decompress_bunzip2.c | ||
decompress_gunzip.c | ||
decompress_uncompress.c | ||
decompress_unlzma.c | ||
decompress_unxz.c | ||
filter_accept_all.c | ||
filter_accept_list_reassign.c | ||
filter_accept_list.c | ||
filter_accept_reject_list.c | ||
find_list_entry.c | ||
get_header_ar.c | ||
get_header_cpio.c | ||
get_header_tar_bz2.c | ||
get_header_tar_gz.c | ||
get_header_tar_lzma.c | ||
get_header_tar_xz.c | ||
get_header_tar.c | ||
header_list.c | ||
header_skip.c | ||
header_verbose_list.c | ||
init_handle.c | ||
Kbuild.src | ||
liblzo.h | ||
lzo1x_1.c | ||
lzo1x_1o.c | ||
lzo1x_9x.c | ||
lzo1x_c.c | ||
lzo1x_d.c | ||
open_transformer.c | ||
seek_by_jump.c | ||
seek_by_read.c | ||
unpack_ar_archive.c | ||
unsafe_prefix.c | ||
unsafe_symlink_target.c |