Skip to content

Test by-value-self-argument-in-trait-impl.rs fails on aarch64 #49807

Closed
@bkchr

Description

@bkchr

Hi,
the by-value-self-argument-in-trait-impl.rs test fails for NixOS when compiling for aarch64 with the following output:

error: line not found in debugger output: $3 = (4444.5, 5555, 6666, 7777.5)
status: exit code: 0
command: "/nix/store/9wp8kivp1yp8x9gkzx7r4mry9gksn0ak-gdb-8.1/bin/gdb" "-quiet" "-batch" "-nx" "-command=/build/rustc-1.25.0-src/build/aarch64-unknown-linux-gnu/test/debuginfo/by-value-self-argument-in-trait-impl.debugger.script"
stdout:
------------------------------------------
GNU gdb (GDB) 8.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "aarch64-unknown-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
Breakpoint 1 at 0x1464: file /build/rustc-1.25.0-src/src/test/debuginfo/by-value-self-argument-in-trait-impl.rs, line 59.
Breakpoint 2 at 0x1490: file /build/rustc-1.25.0-src/src/test/debuginfo/by-value-self-argument-in-trait-impl.rs, line 71.
Breakpoint 3 at 0x14c0: file /build/rustc-1.25.0-src/src/test/debuginfo/by-value-self-argument-in-trait-impl.rs, line 78.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/nix/store/p59wbsv95bqapd9mpilcrdpcfv4bxldg-glibc-2.26-131/lib/libthread_db.so.1".

Breakpoint 1, <isize as by_value_self_argument_in_trait_impl::Trait>::method (self=1111) at /build/rustc-1.25.0-src/src/test/debuginfo/by-value-self-argument-in-trait-impl.rs:59
59              zzz(); // #break
$1 = 1111

Breakpoint 2, <by_value_self_argument_in_trait_impl::Struct as by_value_self_argument_in_trait_impl::Trait>::method (self=...) at /build/rustc-1.25.0-src/src/test/debuginfo/by-value-self-argument-in-trait-impl.rs:71
71              zzz(); // #break
$2 = by_value_self_argument_in_trait_impl::Struct {x: 2222, y: 3333}

Breakpoint 3, <(f64, isize, isize, f64) as by_value_self_argument_in_trait_impl::Trait>::method (self=...) at /build/rustc-1.25.0-src/src/test/debuginfo/by-value-self-argument-in-trait-impl.rs:78
78              zzz(); // #break
$3 = (1.3906711614819425e-309, 3333, 281474976693728, 1.390671161483405e-309)
[Inferior 1 (process 87577) exited normally]

The full output can be found here (error is at the end).
The third gdb command prints:
$3 = (1.3906711614819425e-309, 3333, 281474976693728, 1.390671161483405e-309)
while the following is expected:
$3 = (4444.5, 5555, 6666, 7777.5)

There is clearly something going on, but I don't have any idea what that could be. I also don't have any access to an aarch64 build machine to debug this problem.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-trait-systemArea: Trait systemC-bugCategory: This is a bug.O-ArmTarget: 32-bit Arm processors (armv6, armv7, thumb...), including 64-bit Arm in AArch32 stateT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions