Bug 1852866 - valgrind doesn't recognize JMP rel32 with VEX prefix
Summary: valgrind doesn't recognize JMP rel32 with VEX prefix
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Developer Toolset
Classification: Red Hat
Component: valgrind
Version: DTS 10.0 RHEL 7
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: beta1
: 10.0
Assignee: Mark Wielaard
QA Contact: Alexandra Petlanová Hájková
URL:
Whiteboard:
Depends On:
Blocks: 1875331 1879761
TreeView+ depends on / blocked
 
Reported: 2020-07-01 13:41 UTC by Mark Wielaard
Modified: 2020-12-01 12:11 UTC (History)
8 users (show)

Fixed In Version: devtoolset-10-valgrind-3.16.1-3
Doc Type: No Doc Update
Doc Text:
Clone Of:
: 1875331 (view as bug list)
Environment:
Last Closed: 2020-12-01 12:10:32 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
KDE Software Compilation 422174 0 NOR RESOLVED unhandled instruction bytes: 0x48 0xE9 (REX prefixed JMP instruction) 2020-10-26 21:00:13 UTC

Description Mark Wielaard 2020-07-01 13:41:14 UTC
This is necessary for running .net core programs under valgrind which generates a VEX prefixxed JMP rel32 instruction. A prelimenary patch (not accepted upstream yet) is in the valgrind bugzilla: https://bugs.kde.org/show_bug.cgi?id=422174

Note that even with this fix, .net core applications are valgrind "clean", but without this fix .net core just crashes under valgrind.

Comment 2 Mark Wielaard 2020-07-03 17:05:21 UTC
This is just to get dotnet to start up.
Using dotnet from dotnet-sdk-3.1 rpm.

Before the fix:
$ valgrind -q dotnet --version

Will crash with:

vex amd64->IR: unhandled instruction bytes: 0x48 0xE9 0x70 0xB3 0x41 0xA9 0x49 0xBA 0x88 0xCD
vex amd64->IR:   REX=1 REX.W=1 REX.R=0 REX.X=0 REX.B=0
vex amd64->IR:   VEX=0 VEX.L=0 VEX.nVVVV=0x0 ESC=NONE
vex amd64->IR:   PFX.66=0 PFX.F2=0 PFX.F3=0

After the fix:
$ valgrind -q dotnet --version 2>/dev/null
3.1.103

There will still be warnings about Conditional jump or move depends on uninitialised value(s) and syscalls that use bad params.

Comment 8 errata-xmlrpc 2020-12-01 12:10:32 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (new packages: devtoolset-10-valgrind), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2020:5287


Note You need to log in before you can comment on or make changes to this bug.