I've been testing Valgrind on a recent ppc distro, openSUSE 10.3
running on a 32-bit ppc box.  Memcheck generates huge numbers of
undefined value errors even for the simplest program (eg /bin/date)
and I'm trying to figure out what's going on.

Many of the errors seem to relate to load instructions like this

   387d8:       80 02 8f f4     lwz     r0,-28684(r2)

complaining that r2 contains an undefined value.  And it's true;
it is not written at all in the procedure in which this is
reported.  Which is odd.  AFAIK r2 is not an argument register
and it didn't used to have any particular meaning in the ppc32 ELF
ABI.

Now I'm wondering if the 32-bit ABI has morphed into something 
more similar to the 64-bit ppc ELF ABI.  That uses r2 to point
to tables of constants, which kinda looks like what I'm seeing.

Or perhaps it is being used as a pointer to some thread-local
data area?

Anybody know anything about this?

This is with gcc-4.2.1, gcc-2.6.1, kernel 2.6.22.9-0.4-default.

J

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Valgrind-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/valgrind-developers

Reply via email to