]> git.ipfire.org Git - thirdparty/valgrind.git/log
thirdparty/valgrind.git
20 years agoFollowup to r5605: fixes for x86
Julian Seward [Fri, 3 Feb 2006 22:55:04 +0000 (22:55 +0000)] 
Followup to r5605: fixes for x86

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5607

20 years agoFollowup to r1562: fixes for x86
Julian Seward [Fri, 3 Feb 2006 22:54:17 +0000 (22:54 +0000)] 
Followup to r1562: fixes for x86

git-svn-id: svn://svn.valgrind.org/vex/trunk@1564

20 years agoFollowup to r5605: fixes for ppc64
Julian Seward [Fri, 3 Feb 2006 19:14:33 +0000 (19:14 +0000)] 
Followup to r5605: fixes for ppc64

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5606

20 years agoFollowup to r1562: fixes for ppc64
Julian Seward [Fri, 3 Feb 2006 19:12:17 +0000 (19:12 +0000)] 
Followup to r1562: fixes for ppc64

git-svn-id: svn://svn.valgrind.org/vex/trunk@1563

20 years ago* Track introduction of IR ternary primops and rounding modes, at least as
Julian Seward [Fri, 3 Feb 2006 16:12:27 +0000 (16:12 +0000)] 
* Track introduction of IR ternary primops and rounding modes, at least as
  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

20 years agoAn overhaul of VEX's floating point handling, to facilitate correct
Julian Seward [Fri, 3 Feb 2006 16:08:03 +0000 (16:08 +0000)] 
An overhaul of VEX's floating point handling, to facilitate correct
simulation of IEEE rounding modes in all FP operations.

The fundamental change is to add a third argument to the basic
floating point primops, eg AddF64, MulF64, etc, indicating the
(IR-encoded) rounding mode to be used for that operation.

Unfortunately IR did not have any way to support three-argument
primops, which means a new kind of IRExpr has been added: a ternary
op, IRExpr_Triop, which is simply a 3-argument form of the existing IR
binary operation node.  The unfortunate side effect is that the size
of the union type IRExpr has increased from 16 to 20 bytes on 32-bit
platforms, and hence the JIT chews through more memory, but this does
not appear to have a measurable effect on the JIT's performance, at
least as measured by Valgrind's perf suite.

* Add IRExpr_Triop, and add handling code to dozens of places which
  examine IRExprs.

* Rename/retype a bunch of floating point IR primops to take a 3rd
  rounding mode argument (which is always the first arg).

* Add extra primops AddF64r32 et al, which do double-precision FP
  operations and then round to single precision, still within a 64-bit
  type.  This is needed to simulate PPC's fadds et al without double
  rounding.

* Adjust the PPC->IR front end, to generate these new primops and
  rounding modes.

* Cause the IR optimiser to do a CSE pass on blocks containing any
  floating point operations.  This commons up the IR rounding mode
  computations, which is important for generating efficient code from
  the backend.

* Adjust the IR->PPC back end, so as to emit instructions to set the
  rounding mode before each FP operation.  Well, at least in
  principle.  In practice there is a bit of cleverness to avoid
  repeatedly setting it to the same value.  This depends on both the
  abovementioned CSE pass, and on the SSA property of IR (cool stuff,
  SSA!).  The effect is that for most blocks containing FP code, the
  rounding mode is set just once, at the start of the block, and the
  resulting overhead is minimal.  See comment on
  set_FPU_rounding_mode().

This change requires followup changes in memcheck.  Also, the
x86/amd64 front/back ends are temporarily broken.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1562

20 years agoUpdate ignores.
Robert Walsh [Thu, 2 Feb 2006 05:53:44 +0000 (05:53 +0000)] 
Update ignores.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5604

20 years agoChange the number of client request args from 4 to 5 as that may
Julian Seward [Wed, 1 Feb 2006 14:59:42 +0000 (14:59 +0000)] 
Change the number of client request args from 4 to 5 as that may
be useful in future.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5603

20 years agoDo fre/fres in a way which makes minimal demands on the backend.
Julian Seward [Tue, 31 Jan 2006 16:32:25 +0000 (16:32 +0000)] 
Do fre/fres in a way which makes minimal demands on the backend.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1561

20 years agoF64i isel fix.
Julian Seward [Tue, 31 Jan 2006 16:31:44 +0000 (16:31 +0000)] 
F64i isel fix.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1560

20 years agoBring these tests into operation.
Julian Seward [Sun, 29 Jan 2006 18:18:18 +0000 (18:18 +0000)] 
Bring these tests into operation.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5602

20 years agoAdd test cases for soem FX (general-purpose) and GX (graphics) optional insns.
Julian Seward [Sun, 29 Jan 2006 17:08:58 +0000 (17:08 +0000)] 
Add test cases for soem FX (general-purpose) and GX (graphics) optional insns.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5601

20 years agoHandle fre and frsqrtes. Even though the IBM docs manage to
Julian Seward [Sun, 29 Jan 2006 17:07:57 +0000 (17:07 +0000)] 
Handle fre and frsqrtes.  Even though the IBM docs manage to
contradict themselves about whether these insns exist or not.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1559

20 years agoAdd configure flags --enable-only64bit and --enable-only32bit with
Julian Seward [Sat, 28 Jan 2006 18:39:09 +0000 (18:39 +0000)] 
Add configure flags --enable-only64bit and --enable-only32bit with
subvert the biarch build system, something that is sometimes
convenient to do.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5600

20 years agoCheck lsw/stsw insns in 64-bit mode.
Julian Seward [Sat, 28 Jan 2006 17:08:23 +0000 (17:08 +0000)] 
Check lsw/stsw insns in 64-bit mode.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5599

20 years agoMake lsw work in 64-bit mode.
Julian Seward [Sat, 28 Jan 2006 17:07:19 +0000 (17:07 +0000)] 
Make lsw work in 64-bit mode.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1558

20 years agoUn-break ppc64 following recent hw-capabilities hackery. (sigh)
Julian Seward [Fri, 27 Jan 2006 22:05:55 +0000 (22:05 +0000)] 
Un-break ppc64 following recent hw-capabilities hackery.  (sigh)

git-svn-id: svn://svn.valgrind.org/vex/trunk@1557

20 years agoUn-break ppc32 following recent hw-capabilities hackery.
Julian Seward [Fri, 27 Jan 2006 21:52:39 +0000 (21:52 +0000)] 
Un-break ppc32 following recent hw-capabilities hackery.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5598

20 years agoUnbreak ppc32 following recent hw-capabilities hackery.
Julian Seward [Fri, 27 Jan 2006 21:52:19 +0000 (21:52 +0000)] 
Unbreak ppc32 following recent hw-capabilities hackery.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1556

20 years agoTrack vex r1555 (Change the way Vex represents architecture variants
Julian Seward [Fri, 27 Jan 2006 21:23:23 +0000 (21:23 +0000)] 
Track vex r1555 (Change the way Vex represents architecture variants
into something more flexible.)

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5597

20 years agoChange the way Vex represents architecture variants into something
Julian Seward [Fri, 27 Jan 2006 21:20:15 +0000 (21:20 +0000)] 
Change the way Vex represents architecture variants into something
more flexible.  Prior to this change, the type VexSubArch effectively
imposed a total ordering on subarchitecture capabilities, which was
overly restrictive.  This change moves to effectively using a bit-set,
allowing some features (instruction groups) to be supported or not
supported independently of each other.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1555

20 years agoRe-enable stfiwx.
Julian Seward [Fri, 27 Jan 2006 16:05:49 +0000 (16:05 +0000)] 
Re-enable stfiwx.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1554

20 years agoTrack vex r1553 (addition of Iop_Est8FRecip, case Iop_Est5FRSqrt)
Julian Seward [Fri, 27 Jan 2006 15:11:31 +0000 (15:11 +0000)] 
Track vex r1553 (addition of Iop_Est8FRecip, case Iop_Est5FRSqrt)

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5596

20 years agoHandle ppc32/64 fres, frsqrte.
Julian Seward [Fri, 27 Jan 2006 15:09:35 +0000 (15:09 +0000)] 
Handle ppc32/64 fres, frsqrte.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1553

20 years agoGet rid of some will-never-be-used redirections -- names which are in
Julian Seward [Thu, 26 Jan 2006 18:04:46 +0000 (18:04 +0000)] 
Get rid of some will-never-be-used redirections -- names which are in
libstdc++ but which are not (C++) mangled.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5595

20 years agoppc32-linux: enable __NR_statfs
Julian Seward [Thu, 26 Jan 2006 14:25:51 +0000 (14:25 +0000)] 
ppc32-linux: enable __NR_statfs

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5594

20 years agoIn 32-bit mode, handle F64toI64 and I64toF64.
Julian Seward [Thu, 26 Jan 2006 03:02:26 +0000 (03:02 +0000)] 
In 32-bit mode, handle F64toI64 and I64toF64.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1552

20 years agoA bit more backend tidying:
Julian Seward [Thu, 26 Jan 2006 02:24:17 +0000 (02:24 +0000)] 
A bit more backend tidying:
- fix up more float-integer conversions
- remove unused signedness field on PPCInstr_Load

git-svn-id: svn://svn.valgrind.org/vex/trunk@1551

20 years agoChange the way the ppc backend does ppc32/64 float-integer
Julian Seward [Wed, 25 Jan 2006 21:29:48 +0000 (21:29 +0000)] 
Change the way the ppc backend does ppc32/64 float-integer
conversions.  fctiw/fctid/fcfid/stfiwx are now represented explicitly
and are generated by the instruction selector.  This removes the need
for hdefs.c to know anything about scratch areas on the stack and
scratch FP registers.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1550

20 years agoC89 fixes.
Julian Seward [Wed, 25 Jan 2006 03:26:27 +0000 (03:26 +0000)] 
C89 fixes.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1549

20 years agoTidy up the ppc instruction selector a bit. This is almost all cosmetic:
Julian Seward [Wed, 25 Jan 2006 03:01:09 +0000 (03:01 +0000)] 
Tidy up the ppc instruction selector a bit.  This is almost all cosmetic:

- clarify which functions are to be used both in 64-bit and 32-bit mode,
  and which are for one or other modes only.  Rename accordingly.

- iselWordExpr_AMode: was not generating nice amodes in 64-bit mode.
  Fixed.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1548

20 years agoEnsure -Wdeclaration-after-statement gets through to vex-land.
Julian Seward [Wed, 25 Jan 2006 02:58:28 +0000 (02:58 +0000)] 
Ensure -Wdeclaration-after-statement gets through to vex-land.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5593

20 years agoComment-only change: remove commented out code (lots of), change
Julian Seward [Tue, 24 Jan 2006 19:39:02 +0000 (19:39 +0000)] 
Comment-only change: remove commented out code (lots of), change
indentation in a couple of places, adjust comment at top.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1547

20 years agoMinor tweaks to handle instructions created by xlc 7.0.
Julian Seward [Tue, 24 Jan 2006 19:00:05 +0000 (19:00 +0000)] 
Minor tweaks to handle instructions created by xlc 7.0.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1546

20 years agoDon't build the Altivec constant tables unless Altivec instruction
Julian Seward [Tue, 24 Jan 2006 18:50:38 +0000 (18:50 +0000)] 
Don't build the Altivec constant tables unless Altivec instruction
tests have been requested.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5592

20 years agoRe-enable fsqrts.
Julian Seward [Tue, 24 Jan 2006 03:33:43 +0000 (03:33 +0000)] 
Re-enable fsqrts.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1545

20 years agoVex can't simulate floor() or ceil() correctly on ppc32/64 from
Julian Seward [Tue, 24 Jan 2006 01:01:17 +0000 (01:01 +0000)] 
Vex can't simulate floor() or ceil() correctly on ppc32/64 from
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

20 years agoThe ppc32 port ran itself out of spill slots on some heavy duty FP
Julian Seward [Tue, 24 Jan 2006 00:59:00 +0000 (00:59 +0000)] 
The ppc32 port ran itself out of spill slots on some heavy duty FP
code.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1544

20 years agoTest program to check the behaviour of a bunch of FP functions.
Julian Seward [Tue, 24 Jan 2006 00:40:35 +0000 (00:40 +0000)] 
Test program to check the behaviour of a bunch of FP functions.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5590

20 years agoEnable message-queue syscalls.
Julian Seward [Mon, 23 Jan 2006 04:34:22 +0000 (04:34 +0000)] 
Enable message-queue syscalls.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5589

20 years agoUse perf/fbench as a simple FP test too. This is a modified copy, not a symlink.
Julian Seward [Mon, 23 Jan 2006 03:36:40 +0000 (03:36 +0000)] 
Use perf/fbench as a simple FP test too.  This is a modified copy, not a symlink.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5588

20 years agoFix profiling dispatcher.
Julian Seward [Mon, 23 Jan 2006 00:09:07 +0000 (00:09 +0000)] 
Fix profiling dispatcher.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5587

20 years agoComment-only changes.
Julian Seward [Sun, 22 Jan 2006 20:12:45 +0000 (20:12 +0000)] 
Comment-only changes.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5586

20 years agoUse the bz2 test in perf/ as a regression-test, just as a moderately
Julian Seward [Sun, 22 Jan 2006 16:44:35 +0000 (16:44 +0000)] 
Use the bz2 test in perf/ as a regression-test, just as a moderately
complex integer program which exercises Vex a bit.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5585

20 years agorm unneeded headers
Julian Seward [Sun, 22 Jan 2006 15:51:49 +0000 (15:51 +0000)] 
rm unneeded headers

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5584

20 years agoTwo unrelated changes:
Julian Seward [Sun, 22 Jan 2006 01:15:36 +0000 (01:15 +0000)] 
Two unrelated changes:

- 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

20 years agoIndex the BB_info table by redirected guest address, not
Julian Seward [Sun, 22 Jan 2006 01:12:51 +0000 (01:12 +0000)] 
Index the BB_info table by redirected guest address, not
non-redirected guest address.  This is a small but significant change
needed to make function wrapping work.  The problem is that with
function wrapping two different translations are associated with the
non-redirected address (of a wrapped function entry point), and so
cachegrind asserts.  Whereas the redirected guest addresses reflect
the reality of only one translation associated with each address.  So
use them instead.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5582

20 years agorm 'inline' - produces too many complaints with -Winline
Julian Seward [Sun, 22 Jan 2006 01:10:12 +0000 (01:10 +0000)] 
rm 'inline' - produces too many complaints with -Winline

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5581

20 years agoGet rid of compiler warnings.
Julian Seward [Sun, 22 Jan 2006 01:09:37 +0000 (01:09 +0000)] 
Get rid of compiler warnings.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5580

20 years agoTest to check that cachegrind's BB_info management system isn't
Julian Seward [Sun, 22 Jan 2006 01:08:40 +0000 (01:08 +0000)] 
Test to check that cachegrind's BB_info management system isn't
confused by function wrapping.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5579

20 years agoUpdate.
Julian Seward [Sat, 21 Jan 2006 03:47:44 +0000 (03:47 +0000)] 
Update.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5578

20 years agoHandle __NR_madvise.
Julian Seward [Fri, 20 Jan 2006 21:46:03 +0000 (21:46 +0000)] 
Handle __NR_madvise.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5577

20 years agoppc64-linux: compute the correct initial program counter and tocptr
Julian Seward [Fri, 20 Jan 2006 21:45:36 +0000 (21:45 +0000)] 
ppc64-linux: compute the correct initial program counter and tocptr
when the interpreter is loaded at a different address than what it
asked for.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5576

20 years agoYet another possible output, due to trivial differences in backtraces.
Julian Seward [Fri, 20 Jan 2006 16:48:31 +0000 (16:48 +0000)] 
Yet another possible output, due to trivial differences in backtraces.
This is getting rediculous.  We need a better way to compare
backtraces in regression test outputs.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5575

20 years agoWibble
Julian Seward [Fri, 20 Jan 2006 16:47:20 +0000 (16:47 +0000)] 
Wibble

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5574

20 years agoMake fn wrapping work again on ppc32-linux.
Julian Seward [Fri, 20 Jan 2006 16:46:34 +0000 (16:46 +0000)] 
Make fn wrapping work again on ppc32-linux.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5573

20 years agoForgot to svn add this.
Julian Seward [Fri, 20 Jan 2006 15:55:21 +0000 (15:55 +0000)] 
Forgot to svn add this.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5572

20 years agox86 function wrapping fixes.
Julian Seward [Fri, 20 Jan 2006 15:46:46 +0000 (15:46 +0000)] 
x86 function wrapping fixes.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5571

20 years agoMake amd64 function wrapping work again following recent changes.
Julian Seward [Fri, 20 Jan 2006 15:17:20 +0000 (15:17 +0000)] 
Make amd64 function wrapping work again following recent changes.
Includes expected outputs for wrap8 for the non ppc64-linux case.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5570

20 years agoChanges to make function wrapping work better on ppc64-linux:
Julian Seward [Fri, 20 Jan 2006 14:31:57 +0000 (14:31 +0000)] 
Changes to make function wrapping work better on ppc64-linux:

- 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

20 years agoMore function wrapping tests.
Julian Seward [Fri, 20 Jan 2006 14:21:28 +0000 (14:21 +0000)] 
More function wrapping tests.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5568

20 years agoMore ppc64-only function wrapping hacks:
Julian Seward [Fri, 20 Jan 2006 14:19:25 +0000 (14:19 +0000)] 
More ppc64-only function wrapping hacks:

- increase size of redirect stack from 8 to 16 elems

- augment the _NRADDR pseudo-register with _NRADDR_GPR2,
  which is the value of R2 at the most recent divert point.
  This is needed in the ELF ppc64 ABI in order to safely run
  the function being wrapped.

- add pseudo-instruction to read get _NRADDR_GPR2 into _GPR3.

- related change: always keep R2 up to date wrt possible memory
  exceptions (no specific reason, just being conservative)

git-svn-id: svn://svn.valgrind.org/vex/trunk@1543

20 years agoAdd Ijk_EmFail, a new kind of IR block exit: an emulation failure
Julian Seward [Fri, 20 Jan 2006 14:13:55 +0000 (14:13 +0000)] 
Add Ijk_EmFail, a new kind of IR block exit: an emulation failure
(fatal error) from which Vex (generated code) cannot recover.

Handle this in the ppc(64) backend.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1542

20 years ago- Make this work on systems where the stack is non executable:
Julian Seward [Thu, 19 Jan 2006 17:44:38 +0000 (17:44 +0000)] 
- Make this work on systems where the stack is non executable:
  put the to-be-modified insns in an mmap'd page

- Clarify init_function a bit (does not change what it does)

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5567

20 years agoWibble.
Julian Seward [Thu, 19 Jan 2006 05:01:28 +0000 (05:01 +0000)] 
Wibble.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5566

20 years agoTrack line number changes.
Julian Seward [Thu, 19 Jan 2006 04:40:35 +0000 (04:40 +0000)] 
Track line number changes.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5565

20 years agoMore __libc_start_main -> "(below_main)" changes.
Julian Seward [Thu, 19 Jan 2006 04:33:39 +0000 (04:33 +0000)] 
More __libc_start_main -> "(below_main)" changes.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5564

20 years agoUpdate with new expected outputs.
Julian Seward [Thu, 19 Jan 2006 03:57:06 +0000 (03:57 +0000)] 
Update with new expected outputs.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5563

20 years agoSuppressions-tests fixes.
Julian Seward [Thu, 19 Jan 2006 03:56:33 +0000 (03:56 +0000)] 
Suppressions-tests fixes.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5562

20 years agoFixes to track the "(below main)" change.
Julian Seward [Thu, 19 Jan 2006 03:55:54 +0000 (03:55 +0000)] 
Fixes to track the "(below main)" change.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5561

20 years agoDon't try sys_sigprocmask on ppc64-linux.
Julian Seward [Thu, 19 Jan 2006 03:55:01 +0000 (03:55 +0000)] 
Don't try sys_sigprocmask on ppc64-linux.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5560

20 years agogetcontext() seems to be unimplemented on glibc-2.3.3 on ppc64-linux.
Julian Seward [Thu, 19 Jan 2006 03:53:53 +0000 (03:53 +0000)] 
getcontext() seems to be unimplemented on glibc-2.3.3 on ppc64-linux.
Handle that eventuality.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5559

20 years agoClever handling of partially defined equality does not work on
Julian Seward [Thu, 19 Jan 2006 03:52:19 +0000 (03:52 +0000)] 
Clever handling of partially defined equality does not work on
ppc32/64 at the moment.  Make this test handle that whilst still
testing the facility on x86/amd64.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5558

20 years agoThis was segfaulting on ppc64-linux, even natively. These changes
Julian Seward [Thu, 19 Jan 2006 03:50:48 +0000 (03:50 +0000)] 
This was segfaulting on ppc64-linux, even natively.  These changes
stop it doing that.  Am not convinced this is a good fix -- I don't
really understand how this program works.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5557

20 years agoMake a bit less nonsensical on 64-bit platforms.
Julian Seward [Thu, 19 Jan 2006 03:48:47 +0000 (03:48 +0000)] 
Make a bit less nonsensical on 64-bit platforms.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5556

20 years agoppc64-linux: apply the bogus-LR kludge in a second place.
Julian Seward [Thu, 19 Jan 2006 03:47:30 +0000 (03:47 +0000)] 
ppc64-linux: apply the bogus-LR kludge in a second place.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5555

20 years agoDeal with somewhat dubious numbers showing up from the kernel for the
Julian Seward [Thu, 19 Jan 2006 03:44:10 +0000 (03:44 +0000)] 
Deal with somewhat dubious numbers showing up from the kernel for the
r3 (syscall return) value in the ucontext for a signal interrupting a
syscall.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5554

20 years agoRationalise demangling a bit more, so that suppression matching works
Julian Seward [Thu, 19 Jan 2006 03:38:19 +0000 (03:38 +0000)] 
Rationalise demangling a bit more, so that suppression matching works
properly again.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5553

20 years agoAdd handy debugging line.
Julian Seward [Thu, 19 Jan 2006 03:36:52 +0000 (03:36 +0000)] 
Add handy debugging line.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5552

20 years agoMore syscalls.
Julian Seward [Thu, 19 Jan 2006 03:36:13 +0000 (03:36 +0000)] 
More syscalls.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5551

20 years agoConsistently call init() before doing any MALLOC_TRACE, since the
Julian Seward [Thu, 19 Jan 2006 03:35:37 +0000 (03:35 +0000)] 
Consistently call init() before doing any MALLOC_TRACE, since the
latter depends on function pointers obtained by the former.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5550

20 years agoMake VG_(get_StackTrace2) aware of bogus LR values in
Julian Seward [Wed, 18 Jan 2006 04:25:20 +0000 (04:25 +0000)] 
Make VG_(get_StackTrace2) aware of bogus LR values in
replacement/wrapper functions on ppc64-linux, which otherwise mess up
the backtraces.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5549

20 years agoFix an all-platforms bug introduced by the recent overhaul of function
Julian Seward [Wed, 18 Jan 2006 04:23:10 +0000 (04:23 +0000)] 
Fix an all-platforms bug introduced by the recent overhaul of function
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

20 years agoTo reduce the endless nuisance of multiple different names for "the
Julian Seward [Wed, 18 Jan 2006 04:20:04 +0000 (04:20 +0000)] 
To reduce the endless nuisance of multiple different names for "the
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

20 years agoMake these behave correctly on ppc64 ELF.
Julian Seward [Wed, 18 Jan 2006 04:17:18 +0000 (04:17 +0000)] 
Make these behave correctly on ppc64 ELF.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5546

20 years agoValgrind-side handling (fast case) for the ppc64 ELF stack redzone.
Julian Seward [Wed, 18 Jan 2006 04:16:27 +0000 (04:16 +0000)] 
Valgrind-side handling (fast case) for the ppc64 ELF stack redzone.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5545

20 years agoAllow more syscalls.
Julian Seward [Wed, 18 Jan 2006 04:15:42 +0000 (04:15 +0000)] 
Allow more syscalls.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5544

20 years agoFor ppc64, emit AbiHints from the front end so as to tell tools when
Julian Seward [Wed, 18 Jan 2006 04:14:52 +0000 (04:14 +0000)] 
For ppc64, emit AbiHints from the front end so as to tell tools when
the 288-byte stack should be regarded as having become undefined as
per the ppc64 ELF ABI.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1541

20 years agoMake the selection of the default platform a bit more sophisticated,
Julian Seward [Tue, 17 Jan 2006 16:41:34 +0000 (16:41 +0000)] 
Make the selection of the default platform a bit more sophisticated,
so it does the right thing on ppc64-linux rigs.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5543

20 years agoGet the core thread modelling code compiling again - uncomment the
Tom Hughes [Tue, 17 Jan 2006 15:09:07 +0000 (15:09 +0000)] 
Get the core thread modelling code compiling again - uncomment the
code, fix the includes and switch to OSets instead of SkipLists.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5542

20 years agoUpdate.
Julian Seward [Tue, 17 Jan 2006 02:56:33 +0000 (02:56 +0000)] 
Update.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5541

20 years agoReinstate VG_ARCH_ALL, erroneously removed by r5496.
Julian Seward [Tue, 17 Jan 2006 02:56:18 +0000 (02:56 +0000)] 
Reinstate VG_ARCH_ALL, erroneously removed by r5496.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5540

20 years agoChange the default --trace-notbelow= number from zero to infinity,
Julian Seward [Tue, 17 Jan 2006 02:36:40 +0000 (02:36 +0000)] 
Change the default --trace-notbelow= number from zero to infinity,
effectively, since that's a more useful default.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5539

20 years agoThe symbol table reader hides all that dot crazyness on ppc64-linux
Julian Seward [Tue, 17 Jan 2006 02:23:09 +0000 (02:23 +0000)] 
The symbol table reader hides all that dot crazyness on ppc64-linux
now.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5538

20 years agoppc64-linux: set R2 before running __libc_freeres
Julian Seward [Tue, 17 Jan 2006 02:22:21 +0000 (02:22 +0000)] 
ppc64-linux: set R2 before running __libc_freeres

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5537

20 years agoMore ppc64-linux function replacement/wrapping stuff.
Julian Seward [Tue, 17 Jan 2006 02:21:09 +0000 (02:21 +0000)] 
More ppc64-linux function replacement/wrapping stuff.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5536

20 years agoThese files all speak about instrumentation functions.
Julian Seward [Tue, 17 Jan 2006 02:06:39 +0000 (02:06 +0000)] 
These files all speak about instrumentation functions.
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

20 years agoAdd test code for checking that m_debuginfo's tocptr-reading code on
Julian Seward [Tue, 17 Jan 2006 02:02:47 +0000 (02:02 +0000)] 
Add test code for checking that m_debuginfo's tocptr-reading code on
ppc64-linux are working properly.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5534

20 years agoFix copy-n-paste error.
Julian Seward [Tue, 17 Jan 2006 01:59:43 +0000 (01:59 +0000)] 
Fix copy-n-paste error.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5533

20 years agoIncrease size of the largest guest state handled.
Julian Seward [Tue, 17 Jan 2006 01:58:24 +0000 (01:58 +0000)] 
Increase size of the largest guest state handled.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5532