| Summary: | Unsupported ARM instruction: stlex | ||
|---|---|---|---|
| Product: | [Developer tools] valgrind | Reporter: | Роман Донченко <dpb> |
| Component: | vex | Assignee: | Julian Seward <jseward> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | ||
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Compiled Sources | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
Fixed in r3248, along with its friends, LDAEX{,B,H,D}, STLEX{,B,H,D}.
|
Note: this instruction is new to ARMv8. Simple example: $ cat test.c int main() { asm volatile("stlex r0, r1, [r2]"); } $ gcc -marm -march=armv8-a test.c $ valgrind ./a.out ==28004== Memcheck, a memory error detector ==28004== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. ==28004== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info ==28004== Command: ./a.out ==28004== disInstr(arm): unhandled instruction: 0xE1820E91 cond=14(0xE) 27:20=24(0x18) 4:4=1 3:0=1(0x1) ... Reproducible: Always