https://bugs.kde.org/show_bug.cgi?id=444399

            Bug ID: 444399
           Summary: disInstr(arm64): unhandled instruction 0xC87F2D89
           Product: valgrind
           Version: unspecified
          Platform: Other
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: memcheck
          Assignee: jsew...@acm.org
          Reporter: pf...@pnkfx.org
  Target Milestone: ---

SUMMARY

I tried to run valgrind on the following Rust program on AArch64:

```rust
fn main() { let _n = std::time::Instant::now(); }
```

I ran `valgrind` with no flags, just ` /usr/local/bin/valgrind
./target/debug/instant`, and got the error:

```
/usr/local/bin/valgrind ./target/debug/instant
==16560== Memcheck, a memory error detector
==16560== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==16560== Using Valgrind-3.18.1 and LibVEX; rerun with -h for copyright info
==16560== Command: ./target/debug/instant
==16560==
ARM64 front end: load_store
disInstr(arm64): unhandled instruction 0xC87F2D89
disInstr(arm64): 1100'1000 0111'1111 0010'1101 1000'1001
==16560== valgrind: Unrecognised instruction at address 0x11ffa8.
==16560==    at 0x11FFA8: std::time::Instant::now (atomic.rs:2574)
==16560==    by 0x10EB7B: instant::main (main.rs:2)
==16560==    by 0x10ECA3: core::ops::function::FnOnce::call_once
(function.rs:227)
==16560==    by 0x10EC23:
std::sys_common::backtrace::__rust_begin_short_backtrace (backtrace.rs:125)
==16560==    by 0x10ED83: std::rt::lang_start::{{closure}} (rt.rs:63)
==16560==    by 0x12219F: std::rt::lang_start_internal (function.rs:259)
==16560==    by 0x10ED4B: std::rt::lang_start (rt.rs:62)
==16560==    by 0x10EBB7: main (in
/local/home/pnkfelix/instant/target/debug/instant)
==16560== Your program just tried to execute an instruction that Valgrind
==16560== did not recognise.  There are two possible reasons for this.
==16560== 1. Your program has a bug and erroneously jumped to a non-code
==16560==    location.  If you are running Memcheck and you just saw a
==16560==    warning about a bad jump, it's probably your program's fault.
==16560== 2. The instruction is legitimate but Valgrind doesn't handle it,
==16560==    i.e. it's Valgrind's fault.  If you think this is the case or
==16560==    you are not sure, please let us know and we'll try to fix it.
==16560== Either way, Valgrind will now raise a SIGILL signal which will
==16560== probably kill your program.

```

OBSERVED RESULT
A disInstr failure


EXPECTED RESULT
Program runs with no instructions unhandled.

SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to