Bug 1116747 - illegal opcode causes check failure on aarch64 on valgrind-3.9.0-svn20140513r13961
Summary: illegal opcode causes check failure on aarch64 on valgrind-3.9.0-svn20140513r...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: valgrind
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Mark Wielaard
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: ARM64, F-ExcludeArch-aarch64
TreeView+ depends on / blocked
 
Reported: 2014-07-07 08:43 UTC by Peter Robinson
Modified: 2014-07-21 12:52 UTC (History)
4 users (show)

Fixed In Version: valgrind-3.9.0-19.svn20140715r14165
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-07-21 12:52:50 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Peter Robinson 2014-07-07 08:43:49 UTC
valgrind-3.9.0-17.svn20140513r13961.fc21

http://arm.koji.fedoraproject.org/koji/taskinfo?taskID=2476617

If logs disappear latest failure can be seen here
http://arm.koji.fedoraproject.org/koji/packageinfo?packageID=9521

Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.08FIoR
+ umask 022
+ cd /builddir/build/BUILD
+ cd valgrind-3.9.0-svn20140513r13961
+ ./vg-in-place /bin/true
==3931== Memcheck, a memory error detector
==3931== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==3931== Using Valgrind-3.10.0.SVN and LibVEX; rerun with -h for copyright info
==3931== Command: /bin/true
==3931== 
ARM64 front end: branch_etc
disInstr(arm64): unhandled instruction 0xD53BE043
disInstr(arm64): 1101'0101 0011'1011 1110'0000 0100'0011
==3931== valgrind: Unrecognised instruction at address 0x4004a68.
==3931==    at 0x4004A68: _dl_start (in /usr/lib64/ld-2.19.90.so)
==3931==    by 0x4000DC7: ??? (in /usr/lib64/ld-2.19.90.so)
==3931== Your program just tried to execute an instruction that Valgrind
==3931== did not recognise.  There are two possible reasons for this.
==3931== 1. Your program has a bug and erroneously jumped to a non-code
==3931==    location.  If you are running Memcheck and you just saw a
==3931==    warning about a bad jump, it's probably your program's fault.
==3931== 2. The instruction is legitimate but Valgrind doesn't handle it,
==3931==    i.e. it's Valgrind's fault.  If you think this is the case or
==3931==    you are not sure, please let us know and we'll try to fix it.
==3931== Either way, Valgrind will now raise a SIGILL signal which will
==3931== probably kill your program.
==3931== 
==3931== Process terminating with default action of signal 4 (SIGILL)
==3931==  Illegal opcode at address 0x4004A68
==3931==    at 0x4004A68: _dl_start (in /usr/lib64/ld-2.19.90.so)
==3931==    by 0x4000DC7: ??? (in /usr/lib64/ld-2.19.90.so)
==3931== 
==3931== HEAP SUMMARY:
==3931==     in use at exit: 0 bytes in 0 blocks
==3931==   total heap usage: 0 allocs, 0 frees, 0 bytes allocated
==3931== 
==3931== All heap blocks were freed -- no leaks are possible
==3931== 
==3931== For counts of detected and suppressed errors, rerun with: -v
==3931== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
RPM build errors:
./vg-in-place: line 31:  3931 Illegal instruction     VALGRIND_LIB="$vgbasedir/.in_place" VALGRIND_LIB_INNER="$vgbasedir/.in_place" "$vgbasedir/coregrind/valgrind" "$@"
error: Bad exit status from /var/tmp/rpm-tmp.08FIoR (%check)
    Bad exit status from /var/tmp/rpm-tmp.08FIoR (%check)
Child return code was: 1

Comment 1 Mark Wielaard 2014-07-21 12:52:50 UTC
This was fixed upstream:
VEX r2900 arm64: implement "mrs Xt, cntvct_el0" by pass-through to the host.
This and some other arm64 fixes were imported by valgrind-3.9.0-19.svn20140715r14165 for f21 and rawhide.


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