Bug 23317 – runnable/cdvecfill.sh and compilable/cdcmp.d fail two test on binutils-2.39 due to objdump whitespace change

Status
NEW
Severity
enhancement
Priority
P4
Component
dmd
Product
D
Version
D2
Platform
x86_64
OS
Linux
Creation time
2022-08-31T07:22:42Z
Last change time
2024-12-13T19:24:20Z
Assigned to
No Owner
Creator
Sergei Trofimovich
Moved to GitHub: dmd#20143 →

Comments

Comment #0 by slyfox — 2022-08-31T07:22:42Z
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
THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/dmd/issues/20143 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB