Peter Korsgaard
cb91a818c8
libarchive/get_header_ar.c: fix extraction of archives from binutils in deterministic mode
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>
2021-12-12 23:34:43 +01:00
..
2021-10-10 14:32:05 +02:00
2021-10-10 14:32:05 +02:00
2021-01-01 13:34:25 +01:00
2020-11-30 13:03:03 +01:00
2019-07-02 11:35:03 +02:00
2021-05-03 14:58:32 +02:00
2019-07-02 11:35:03 +02:00
2021-06-15 15:14:00 +02:00
2019-10-11 14:11:44 +02:00
2021-12-12 23:34:43 +01:00
2021-06-23 19:06:09 +02:00
2021-10-11 19:28:39 +02:00
2021-09-17 01:18:31 +02:00
2018-11-27 16:13:07 +01:00
2018-12-27 18:03:20 +01:00
2019-07-02 11:35:03 +02:00
2019-07-02 11:35:03 +02:00
2020-11-16 13:24:24 +01:00
2018-05-22 17:34:31 +02:00