Bug 395777 - disInstr(arm): unhandled instruction: 0xE7F000F0 (wine, dlls/msvcp90/tests/misc.c)
Summary: disInstr(arm): unhandled instruction: 0xE7F000F0 (wine, dlls/msvcp90/tests/mi...
Status: REPORTED
Alias: None
Product: valgrind
Classification: Developer tools
Component: general (show other bugs)
Version: 3.14 SVN
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: Julian Seward
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-06-23 02:04 UTC by Austin English
Modified: 2018-06-23 16:16 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Austin English 2018-06-23 02:04:42 UTC
As description states:
disInstr(arm): unhandled instruction: 0xE7F000F0
                 cond=14(0xE) 27:20=127(0x7F) 4:4=1 3:0=0(0x0)

found when running wine's unit tests, specifically dlls/msvcp90/tests/misc.c

(stretch)austin@localhost:~/src/valgrind$ /opt/valgrind/bin/valgrind --version -v
valgrind-3.14.0.GIT-90daa486e8-20180620
Comment 1 Austin English 2018-06-23 02:19:38 UTC
That seems to be 
#define FBT_BREAKPOINT		0xe7f000f0

according to https://github.com/F-Stack/f-stack/blob/master/freebsd/arm/include/trap.h

There's only a few more in that header, so it may be worth implementing all at the same time:
#define GDB_BREAKPOINT		0xe6000011
#define GDB5_BREAKPOINT		0xe7ffdefe
#define PTRACE_BREAKPOINT	0xe7fffff0
#define KERNEL_BREAKPOINT	0xe7ffffff
#define FBT_BREAKPOINT		0xe7f000f0
Comment 2 Peter Maydell 2018-06-23 16:16:43 UTC
The last four of those are all in 0xe7fxxxfx, which is the UDF always-undefined insn. The only "handling" needed here would be suppressing the warning (probably reasonable, since these undefined insns tend to get used by JITs and the like for various clever tricks). 0xe6000011 is a random not-yet-allocated encoding in the "parallel arithmetic" instruction class. Google claims it was "used by gdb 4.x"...