Bug 249924 - thumb decoder doesn't handle RBIT: disInstr(thumb): unhandled instruction: 0xFA90 0xF7A0
Summary: thumb decoder doesn't handle RBIT: disInstr(thumb): unhandled instruction: 0x...
Status: REPORTED
Alias: None
Product: valgrind
Classification: Developer tools
Component: vex (show other bugs)
Version: 3.6 SVN
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: Julian Seward
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-09-02 18:34 UTC by Peter Maydell
Modified: 2010-10-12 18:06 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments
valgrind -v output (10.43 KB, text/plain)
2010-09-02 18:34 UTC, Peter Maydell
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Peter Maydell 2010-09-02 18:34:35 UTC
Created attachment 51245 [details]
valgrind -v output

I had a go at valgrinding gcc on this Pegatron ARM A8 board...

$ cat /tmp/hello.c
#include <stdio.h>
int main(void) {
   printf("hello world\n");
   return 0;
}
./vg-in-place -v --trace-children=yes gcc -g -Wall -O2 -o /tmp/hello /tmp/hello.c
[...]
==10711== Memcheck, a memory error detector
==10711== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al.
==10711== Using Valgrind-3.6.0.SVN and LibVEX; rerun with -h for copyright info
==10711== Command: /usr/lib/gcc/arm-linux-gnueabi/4.4.4/cc1 -quiet /tmp/hello.c -D_FORTIFY_SOURCE=2 -quiet -dumpbase hello.c -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mthumb -auxbase hello -g -O2 -Wall -fstack-protector -o /tmp/ccjSiDVb.s
[...]
disInstr(thumb): unhandled instruction: 0xFA90 0xF7A0
==10711== valgrind: Unrecognised instruction at address 0x2d7dc3.

(Full valgrind -v log attached).

0xFA90 0xF7A0 is "RBIT r7, r0" in encoding T1. (I think we're missing the ARM encoding as well.)
Comment 1 Julian Seward 2010-09-02 23:04:37 UTC
Thumb fix committed as r2026.
Comment 2 Peter Maydell 2010-09-02 23:35:36 UTC
Thanks. With that fix valgrind successfully runs gcc.
Comment 3 Peter Maydell 2010-10-12 18:06:45 UTC
The ARM A1 encoding for RBIT was implemented in VEX r2042, so this bug could be closed now, right?