Bug 272971 - ia32 valgrind doesn't support enter/leave
Summary: ia32 valgrind doesn't support enter/leave
Status: CONFIRMED
Alias: None
Product: valgrind
Classification: Developer tools
Component: general (show other bugs)
Version: unspecified
Platform: Unlisted Binaries Linux
: NOR normal
Target Milestone: ---
Assignee: Julian Seward
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-05-10 20:54 UTC by Pierre Habouzit
Modified: 2011-10-12 10:24 UTC (History)
0 users

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 Pierre Habouzit 2011-05-10 20:54:38 UTC
Although it seems that nobody still uses it, the ENTER instruction is
supported by all ia32 processors and valgrind chokes on it: 

vex x86->IR: unhandled instruction bytes: 0xC8 0x0 0x0 0x0
==12372== valgrind: Unrecognised instruction at address 0x8049D37.

The disassemble is:

 8049d37:       c8 00 00 00             enter  $0x0,$0x0

The program runs perfectly without valgrind

Below is a test program which triggers this error. Compile with:
$ nasm -felf test.asm
$ gcc -o test test.o
$ valgrind ./test

---------- test.asm -----------
section .text
global main

main:
	enter 0, 0
	leave
	ret
-------------------------------

This is Debian bug http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=393235
Comment 1 Julian Seward 2011-10-12 10:24:09 UTC
Why should we add support for an instruction that nobody uses?