Noticed new tests failure when updated nixpkgs from `binutils-2.38` to `2.39`: https://github.com/NixOS/nixpkgs/pull/185297#issuecomment-1229881420
There `dmd-2.097.2` started failing 2 tests https://hydra.nixos.org/log/fsda7n661p7nmb0xivb9sw2wgidhp5v0-dmd-2.097.2.drv:
FAILED targets:
- runnable/cdvecfill.sh
- compilable/cdcmp.d
I think it happens because `objdump` in `binutils-2.39` stopped emitting trailing whitespace after `ret` instruction:
dmd/test $ diff -u ./test_results/compilable/cdcmp_0.o.dump.sanitized ./compilable/extra-files/cdcmp.out
Disassembly of section .text.d_dso_init:
@@ -1069,5 +1069,5 @@
1c: 6a 01 push 0x1
1e: 48 8b fc mov rdi,rsp
21: e8 00 00 00 00 call 26 <.text.d_dso_init+0x26>
- 26: c9 leave
- 27: c3 ret<space><space><space><space>
+ 26: c9 leave
+ 27: c3 ret
Comment #1 by razvan.nitu1305 — 2022-09-01T13:31:44Z
(In reply to Sergei Trofimovich from comment #0)
> Noticed new tests failure when updated nixpkgs from `binutils-2.38` to
> `2.39`: https://github.com/NixOS/nixpkgs/pull/185297#issuecomment-1229881420
>
> There `dmd-2.097.2` started failing 2 tests
> https://hydra.nixos.org/log/fsda7n661p7nmb0xivb9sw2wgidhp5v0-dmd-2.097.2.drv:
>
> FAILED targets:
> - runnable/cdvecfill.sh
> - compilable/cdcmp.d
>
> I think it happens because `objdump` in `binutils-2.39` stopped emitting
> trailing whitespace after `ret` instruction:
>
>
> dmd/test $ diff -u ./test_results/compilable/cdcmp_0.o.dump.sanitized
> ./compilable/extra-files/cdcmp.out
> Disassembly of section .text.d_dso_init:
>
> @@ -1069,5 +1069,5 @@
> 1c: 6a 01 push 0x1
> 1e: 48 8b fc mov rdi,rsp
> 21: e8 00 00 00 00 call 26 <.text.d_dso_init+0x26>
> - 26: c9 leave
> - 27: c3 ret<space><space><space><space>
> + 26: c9 leave
> + 27: c3 ret
Fixing this is easy however, if I understand correctly, we first must wait for you to make the upgrade to binutils-2.39 and then we have to fix this, right?
Comment #2 by slyfox — 2022-09-01T18:23:37Z
(In reply to RazvanN from comment #1)
> (In reply to Sergei Trofimovich from comment #0)
> > Noticed new tests failure when updated nixpkgs from `binutils-2.38` to
> > `2.39`: https://github.com/NixOS/nixpkgs/pull/185297#issuecomment-1229881420
...
> > FAILED targets:
> > - runnable/cdvecfill.sh
> > - compilable/cdcmp.d
...
> Fixing this is easy however, if I understand correctly, we first must wait
> for you to make the upgrade to binutils-2.39 and then we have to fix this,
> right?
No need to wait for nixpkgs update. I think nixpkgs can work test failures around by removing tests locally: https://github.com/NixOS/nixpkgs/pull/189087/files
I filed the bug upstream as it seems to be a generic problem of unstable output. I would expect most linux distributions to encounter these test failures at one point or another if they run the testsuites to quialify packages against newer toolchains. Thus the proper fix could help others.
I should be able to test the possible fixes against binutils-2.38 and 2.39 in case you have something.
Comment #3 by robert.schadek — 2024-12-13T19:24:20Z