Commit Graph

4399 Commits

Author SHA1 Message Date
Julian Seward
eeb7eaa4e1 Set fpscr back to a known state after running generated code (64-bit mode).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5615
2006-02-06 05:31:37 +00:00
Julian Seward
017ed68f63 Set fpscr back to a known state after running generated code.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5614
2006-02-06 05:14:31 +00:00
Julian Seward
4fc858a562 Test program aimed at exercising x87 insns a bit on amd64.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5613
2006-02-06 04:49:58 +00:00
Julian Seward
f553d268a7 Regtest for a double -> unsigned int conversion that xlc generates
inline, which requires observing rounding modes properly for fadd.
 


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5612
2006-02-06 04:20:51 +00:00
Julian Seward
412cd357f6 Add a program for checking behaviour of ppc floating point insns in
the presence of different rounding modes.  This should really be a ppc
regression test, but the output is so large (~30MB) that the
.stdout.exp file would be unviably large.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5611
2006-02-06 04:19:30 +00:00
Julian Seward
c63a2f2e3b Add a check for fsincos.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5610
2006-02-04 15:43:14 +00:00
Julian Seward
b8904fc241 Yet more x86 instruction tests, mostly aimed at wierd/transcendental
x87 insns.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5609
2006-02-04 15:26:11 +00:00
Julian Seward
3cee6256f4 Tidy up a couple more x86-related primops following rounding changes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5608
2006-02-04 15:25:23 +00:00
Julian Seward
19bcf4be02 Followup to r5605: fixes for x86
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5607
2006-02-03 22:55:04 +00:00
Julian Seward
4c5b33c685 Followup to r5605: fixes for ppc64
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5606
2006-02-03 19:14:33 +00:00
Julian Seward
5163ea2aed * 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
2006-02-03 16:12:27 +00:00
Robert Walsh
d896e4d592 Update ignores.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5604
2006-02-02 05:53:44 +00:00
Julian Seward
72dd07b7ef 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
2006-02-01 14:59:42 +00:00
Julian Seward
b63b719779 Bring these tests into operation.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5602
2006-01-29 18:18:18 +00:00
Julian Seward
bb023d7227 Add test cases for soem FX (general-purpose) and GX (graphics) optional insns.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5601
2006-01-29 17:08:58 +00:00
Julian Seward
e8d296348a 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
2006-01-28 18:39:09 +00:00
Julian Seward
1e0aac8d52 Check lsw/stsw insns in 64-bit mode.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5599
2006-01-28 17:08:23 +00:00
Julian Seward
9045ab4f72 Un-break ppc32 following recent hw-capabilities hackery.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5598
2006-01-27 21:52:39 +00:00
Julian Seward
25da9f5432 Track vex r1555 (Change the way Vex represents architecture variants
into something more flexible.)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5597
2006-01-27 21:23:23 +00:00
Julian Seward
7ade90ed8d Track vex r1553 (addition of Iop_Est8FRecip, case Iop_Est5FRSqrt)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5596
2006-01-27 15:11:31 +00:00
Julian Seward
bd0a65919b 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
2006-01-26 18:04:46 +00:00
Julian Seward
6a00071217 ppc32-linux: enable __NR_statfs
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5594
2006-01-26 14:25:51 +00:00
Julian Seward
c4e98cbd7f Ensure -Wdeclaration-after-statement gets through to vex-land.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5593
2006-01-25 02:58:28 +00:00
Julian Seward
173f8a2b35 Don't build the Altivec constant tables unless Altivec instruction
tests have been requested.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5592
2006-01-24 18:50:38 +00:00
Julian Seward
cb8adb0480 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
2006-01-24 01:01:17 +00:00
Julian Seward
a8be862b0f Test program to check the behaviour of a bunch of FP functions.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5590
2006-01-24 00:40:35 +00:00
Julian Seward
da90c31368 Enable message-queue syscalls.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5589
2006-01-23 04:34:22 +00:00
Julian Seward
bb6217e7a1 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
2006-01-23 03:36:40 +00:00
Julian Seward
f6738169ca Fix profiling dispatcher.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5587
2006-01-23 00:09:07 +00:00
Julian Seward
03788036db Comment-only changes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5586
2006-01-22 20:12:45 +00:00
Julian Seward
0a19390e1d 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
2006-01-22 16:44:35 +00:00
Julian Seward
a402acd78e rm unneeded headers
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5584
2006-01-22 15:51:49 +00:00
Julian Seward
488f5569a6 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
2006-01-22 01:15:36 +00:00
Julian Seward
72341b358b 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
2006-01-22 01:12:51 +00:00
Julian Seward
f3f3f2b8ad rm 'inline' - produces too many complaints with -Winline
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5581
2006-01-22 01:10:12 +00:00
Julian Seward
afe2b7671f Get rid of compiler warnings.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5580
2006-01-22 01:09:37 +00:00
Julian Seward
15519cf976 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
2006-01-22 01:08:40 +00:00
Julian Seward
13838f264c Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5578
2006-01-21 03:47:44 +00:00
Julian Seward
c53cdd12af Handle __NR_madvise.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5577
2006-01-20 21:46:03 +00:00
Julian Seward
0297c5e469 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
2006-01-20 21:45:36 +00:00
Julian Seward
3db74cde05 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
2006-01-20 16:48:31 +00:00
Julian Seward
e05481ea7a Wibble
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5574
2006-01-20 16:47:20 +00:00
Julian Seward
332b20ecef Make fn wrapping work again on ppc32-linux.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5573
2006-01-20 16:46:34 +00:00
Julian Seward
91b378ce8f Forgot to svn add this.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5572
2006-01-20 15:55:21 +00:00
Julian Seward
e6ffa0ee09 x86 function wrapping fixes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5571
2006-01-20 15:46:46 +00:00
Julian Seward
83c10ad5b7 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
2006-01-20 15:17:20 +00:00
Julian Seward
6af183ac21 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
2006-01-20 14:31:57 +00:00
Julian Seward
de99f0aaeb More function wrapping tests.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5568
2006-01-20 14:21:28 +00:00
Julian Seward
03d7993176 - 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
2006-01-19 17:44:38 +00:00
Julian Seward
5958641f7d Wibble.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5566
2006-01-19 05:01:28 +00:00