On Thu, Oct 17, 2024 at 10:16:25AM GMT, Chris Lamb wrote: > Hello Alejandro,
Hi Chris! > > > It would be nice to be able to compare ar(1) archives. > > It should already do! > > $ diffoscope tests/data/test1.a tests/data/test2.a > > --- tests/data/test1.a > +++ tests/data/test2.a > ├── file list > │ @@ -1,2 +1,2 @@ > │ ----------- 0 0 0 10 2015-06-24 12:14:19.000000 / > │ --rw-r--r-- 0 1000 1000 1216 2015-06-24 12:13:47.000000 > test.o > │ +---------- 0 0 0 10 2015-06-24 12:14:29.000000 / > │ +-rw-r--r-- 0 1000 1000 1216 2015-06-24 12:14:27.000000 > test.o > ├── test.o > │ ├── objdump --line-numbers --disassemble --demangle --reloc > --no-show-raw-insn --section=.text {} > │ │ @@ -3,10 +3,10 @@ > │ │ > │ │ Disassembly of section .text: > │ │ > │ │ 0000000000000000 <f>: > │ │ f(): > │ │ push %rbp > │ │ mov %rsp,%rbp > │ │ - mov $0x2a,%eax > │ │ + mov $0xffffffff,%eax > │ │ pop %rbp > │ │ ret > > Do you not get the same thing? You may need to install the binutils > package. Humm. I might be in front of a bug? I was trying to see what was the difference between an archive before and after running ranlib(1) on it. Maybe that was the issue? See below. Have a lovely day! Alex alx@debian:~/src/alx/liba2i/contrib$ dpkg -l binutils | tail -n1 ii binutils 2.43.1-5 amd64 GNU assembler, linker and binary utilities alx@debian:~/src/alx/liba2i/contrib$ diffoscope liba2i.a liba2i_ranlibbed.a Traceback (most recent call last): File "/usr/lib/python3/dist-packages/diffoscope/main.py", line 767, in main sys.exit(run_diffoscope(parsed_args)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/diffoscope/main.py", line 718, in run_diffoscope difference = compare_root_paths(path1, path2) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/compare.py", line 69, in compare_root_paths difference = compare_files(file1, file2) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/compare.py", line 149, in compare_files return file1.compare(file2, source) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", line 536, in compare difference = self._compare_using_details(other, source) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", line 437, in _compare_using_details details.extend(self.compare_details(other, source)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/diffoscope/comparators/ar.py", line 71, in compare_details Difference.from_text_readers( File "/usr/lib/python3/dist-packages/diffoscope/difference.py", line 258, in from_text_readers return Difference.from_feeder( ^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/diffoscope/difference.py", line 214, in from_feeder unified_diff = diff(feeder1, feeder2) ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/diffoscope/diff.py", line 334, in diff with FIFOFeeder(feeder1, fifo1_path) as fifo1, FIFOFeeder( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/diffoscope/diff.py", line 225, in __exit__ self.join() File "/usr/lib/python3/dist-packages/diffoscope/diff.py", line 258, in join raise self._exception File "/usr/lib/python3/dist-packages/diffoscope/diff.py", line 249, in run end_nl = self.feeder(fifo) ^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/diffoscope/feeders.py", line 79, in feeder for buf in in_file: ^^^^^^^ File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/libarchive.py", line 134, in list_libarchive for entry in archive: ^^^^^^^ File "/usr/lib/python3/dist-packages/libarchive/read.py", line 27, in __iter__ r = read_next_header2(archive_p, entry._entry_p) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/libarchive/ffi.py", line 98, in check_int raise archive_error(args[0], retcode) libarchive.exception.ArchiveError: Invalid string table (errno=22, retcode=-30, archive_p=139655089495440) -- <https://www.alejandro-colomar.es/>
signature.asc
Description: PGP signature