[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#529587: Can't handle mfpvr instruction



Package: valgrind
Version: 1:3.4.1-1
Severity: important

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


Since upgrading libc6 to 2.9-12, running any program in valgrind fails with

2417== Memcheck, a memory error detector.
==2417== Copyright (C) 2002-2008, and GNU GPL'd, by Julian Seward et al.
==2417== Using LibVEX rev 1884, a library for dynamic binary translation.
==2417== Copyright (C) 2004-2008, and GNU GPL'd, by OpenWorks LLP.
==2417== Using valgrind-3.4.1-Debian, a dynamic binary instrumentation framework.
==2417== Copyright (C) 2000-2008, and GNU GPL'd, by Julian Seward et al.
==2417== For more details, rerun with: -v
==2417== 
dis_proc_ctl(ppc)(mfspr,SPR)(0x11F)
disInstr(ppc): unhandled instruction: 0x7D3F42A6
                 primary 31(0x1F), secondary 678(0x2A6)
==2417== valgrind: Unrecognised instruction at address 0x4016164.
==2417== Your program just tried to execute an instruction that Valgrind
==2417== did not recognise.  There are two possible reasons for this.
==2417== 1. Your program has a bug and erroneously jumped to a non-code
==2417==    location.  If you are running Memcheck and you just saw a
==2417==    warning about a bad jump, it's probably your program's fault.
==2417== 2. The instruction is legitimate but Valgrind doesn't handle it,
==2417==    i.e. it's Valgrind's fault.  If you think this is the case or
==2417==    you are not sure, please let us know and we'll try to fix it.
==2417== Either way, Valgrind will now raise a SIGILL signal which will
==2417== probably kill your program.
==2417== 
==2417== Process terminating with default action of signal 4 (SIGILL)
==2417==  Illegal opcode at address 0x4016164
==2417==    at 0x4016164: _dl_sysdep_start (dl-sysdep.c:177)
==2417==    by 0x4002233: _dl_start_final (rtld.c:332)
==2417==    by 0x4002817: _dl_start (rtld.c:560)
==2417==    by 0x4016FB7: _start (in /lib/ld-2.9.so)

Disassembling the failing instruction in gdb reveals

0x04016164:	mfpvr   r9

Downgrading libc6 to 2.9-10 works around the problem, apparently that
version didn't use this instruction yet.


- -- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'stable'), (102, 'experimental')
Architecture: powerpc (ppc)

Kernel: Linux 2.6.29.3
Locale: LANG=de_CH.UTF-8, LC_CTYPE=de_CH.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages valgrind depends on:
ii  libc6                         2.9-12     GNU C Library: Shared libraries

Versions of packages valgrind recommends:
ii  gdb             6.8.50.20090116.python-1 The GNU Debugger

Versions of packages valgrind suggests:
ii  alleyoop                      0.9.3-2    Front-end to the Valgrind memory c
ii  kcachegrind                   4:4.2.2-1  visualisation tool for the Valgrin
ii  libc6-dbg                     2.9-12     GNU C Library: detached debugging 

- -- no debconf information

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iD8DBQFKE9KnWoGvjmrbsgARAu3dAKCrrs0jH1tlb6JMnEIfyFIaXok/UwCgrreT
g4ros1xuUrY6CA/4poJlNr8=
=w1yi
-----END PGP SIGNATURE-----



Reply to: