to the extent needed to make ppc32 work.
* As a result, remove the replacements for glibc's floor/ceil fns on
ppc32/64, since vex can now correctly simulate the real ones.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5605
glibc-2.3.4 onwards, so just replace the functions with the older
glibc implementation. This is an ugly kludge.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5591
- create an IMark at the start of the IR for the ppc64 magic return stub
as cachegrind will barf if it doesn't find one in a BB
- ppc64: for the same reason that _NRADDR is set to zero at the start of
redirect block which is a function replacement entry (as opposed to a
function wrapper entry), also set _NRADDR_GPR2 to zero.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5583
- when recording the non-redirected address in guest_NRADDR, also
snapshot the current R2 value, as that will be needed to run the
original safely
- As a consequence, the original-function information extracted by
VALGRIND_GET_ORIG_FN is different on ppc64-linux (2 words) from
all other platforms (1 word). So change the type of it from
void* to a new type OrigFn which can be defined differently for
each platform.
- Change the CALL_FN_* macros for ppc64-linux to save/restore
R2 values appropriately.
- ppc64-linux: detect overflow/underflow of the redirect stack
and bring Valgrind to a halt if this happens
- Update VG_CLREQ_SZB for ppc32/64 (was out of date).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5569
interception and wrapping. This was causing failures matching
function names in suppressions to function names in backtraces when
the latter names were Z-encoded (eg malloc), which typically caused
all leak suppressions to fail because they contain names such as
malloc, which are Z-encoded.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5548
frame below main()" screwing up the testsuite, change all known
incarnations of said into a single name, "(below main)".
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5547
Instrumentation functions now take a callback closure structure
(VgCallbackClosure*), so this commit changes the signatures
accordingly.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5535
a long time) and to use the new preable-generating callback facility
supported by Vex. Use this to add support for R2 saving/restoring
needed for function replacement/wrapping on ppc64-linux.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5531
function for reading ELF symbol tables on ppc64-linux so as to avoid
cluttering up the {x86,amd64,ppc32}-linux cases with convoluted
hoop-jumping needed to handle both the dotful (older) and dotless
(newer) ppc64-linux ABI variants.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5527
translation cache. This ensures that the cache space is executable
which it isn't when it is allocated as a static variable in the data
segment, at least on my amd64 box.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5525
branch hereby becomes inactive. This currently breaks everything
except x86; fixes for amd64/ppc32 to follow.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5520