Commit Graph

774 Commits

Author SHA1 Message Date
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
e05481ea7a Wibble
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5574
2006-01-20 16:47:20 +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
26587144d3 Track line number changes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5565
2006-01-19 04:40:35 +00:00
Julian Seward
7cc6a0d482 More __libc_start_main -> "(below_main)" changes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5564
2006-01-19 04:33:39 +00:00
Julian Seward
79ed27280a Update with new expected outputs.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5563
2006-01-19 03:57:06 +00:00
Julian Seward
49e7f0baa1 Suppressions-tests fixes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5562
2006-01-19 03:56:33 +00:00
Julian Seward
dc5d273309 Fixes to track the "(below main)" change.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5561
2006-01-19 03:55:54 +00:00
Julian Seward
e83b876384 Don't try sys_sigprocmask on ppc64-linux.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5560
2006-01-19 03:55:01 +00:00
Julian Seward
a7e7378dae 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
2006-01-19 03:53:53 +00:00
Julian Seward
aaacb37226 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
2006-01-19 03:52:19 +00:00
Julian Seward
0307628a86 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
2006-01-19 03:50:48 +00:00
Julian Seward
70c82ce292 Make a bit less nonsensical on 64-bit platforms.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5556
2006-01-19 03:48:47 +00:00
Julian Seward
8a00ed8174 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
2006-01-18 04:20:04 +00:00
Julian Seward
0789d0e5a1 Make these behave correctly on ppc64 ELF.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5546
2006-01-18 04:17:18 +00:00
Julian Seward
b4628a7314 Valgrind-side handling (fast case) for the ppc64 ELF stack redzone.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5545
2006-01-18 04:16:27 +00:00
Julian Seward
f0d678baab 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
2006-01-17 02:06:39 +00:00
Julian Seward
6c04df88c8 Increase size of the largest guest state handled.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5532
2006-01-17 01:58:24 +00:00
Julian Seward
f9a9e03c7a Merge in function wrapping support from the FNWRAP branch. That
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
2006-01-12 12:32:32 +00:00
Julian Seward
5666b3322d Make this test 64-bit clean.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5505
2006-01-07 22:33:45 +00:00
Julian Seward
cc9a4e788c Fix a casting bug in the LOADV8 slow (misaligned) case spotted by Nick.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5500
2006-01-05 14:09:46 +00:00
Julian Seward
db09b4e6a9 Build fix for oset_test following recent build system hackery.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5497
2006-01-04 04:23:30 +00:00
Julian Seward
dd3b4bf6f2 amd64-linux adjustments as a followup to r5493.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5494
2006-01-04 02:55:03 +00:00
Julian Seward
32f134b8c1 Somewhat rehash the biarch-build machinery so as to (1) formalise the
distinction between primary and secondary build targets, and (2) make
it independent of the default behaviour of gcc (iow, what gcc does
when you specify neither -m32 nor -m64).

As a result, an out-of-the-box build on ppc64-linux now builds a
system which is basically for 64-bit PowerPC, but also has the ability
to run 32-bit ppc-linux binaries (exactly the same arrangement as you
get when building on amd64-linux).

There are various twists and turns.  multiple-architectures.txt is
updated all the gory details.

This will break amd64 builds until such time as
<tool>/tests/{amd64,x86}/Makefile.am are fixed up (shortly).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5493
2006-01-04 01:20:28 +00:00
Julian Seward
79580b7fae Make this work on SSE1-only machines.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5469
2006-01-01 18:26:40 +00:00
Julian Seward
c9ce29cc18 Also do sse memory overrun tests on x86.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5467
2006-01-01 15:22:16 +00:00
Julian Seward
80bbb1aa75 Add a test program which checks for memory overruns in the SSE insn
decoder.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5466
2006-01-01 14:27:04 +00:00
Nicholas Nethercote
cda6b9e79b Update for recent change to OSet interface.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5437
2005-12-25 06:30:34 +00:00
Julian Seward
2235ef1e72 Handle ppc64-related primops.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5420
2005-12-23 12:47:16 +00:00
Julian Seward
803a8f2100 Deal with function pointer vs function entry crazyness on ppc64-linux.
Memcheck is done, but any tool which generates IR helper calls will
need to be similarly adulterated.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5418
2005-12-23 02:29:58 +00:00
Julian Seward
ea279c7b15 Handle CmpORD64{U,S} as ppc64 requires those.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5415
2005-12-23 00:16:24 +00:00
Nicholas Nethercote
1decf7621a Add a destructor function to OSet_Destroy() which can be called for each
node.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5402
2005-12-22 06:20:59 +00:00
Nicholas Nethercote
798fba1991 Remove remaining profiling gunk from Memcheck.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5387
2005-12-19 22:48:06 +00:00
Nicholas Nethercote
c2e79c35e4 Remove the old profiling stuff from Memcheck.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5385
2005-12-19 22:23:35 +00:00
Nicholas Nethercote
fd4241f3f6 Clarify leak checker output.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5378
2005-12-19 19:33:36 +00:00
Tom Hughes
9a850246f9 Fixed to check whether __builtin_expect is supported before using it.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5372
2005-12-19 12:40:13 +00:00
Julian Seward
d3781fc974 Duh, remove debug printing. Duh.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5370
2005-12-18 03:59:16 +00:00
Julian Seward
d2de349f96 Nasty hack to stop the leak checker dying on custom-allocator example
from Ashley Pittman.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5367
2005-12-18 02:48:40 +00:00
Julian Seward
89add09cf8 When using a custom allocator that allocates with no intervening
blocks, the <= relation is the correct one.  In effect asserting <
constitutes an off-by-one error.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5366
2005-12-18 02:37:50 +00:00
Cerion Armour-Brown
b714685c63 Take ppc64 startup further along the road
- fixed launcher.c to recognise ppc32/64-linux platforms properly
 - lots of assembly fixes to handle func descriptors, toc references, 64bit regs.
 - fixed var types in vki-ppc64-linux

Now gets as far as VG_(translate), but dies from a case of invalid orig_addr.




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5299
2005-12-06 19:07:08 +00:00
Donna Robinson
9888e86b06 Tidying up stuff re generating manpage from *.xml docs
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5277
2005-12-03 23:02:33 +00:00
Julian Seward
f75620d58a Add directories missed in r5250 (ppc64 first checkin).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5251
2005-11-29 13:53:48 +00:00
Julian Seward
8ba9a34088 Add framework for ppc64 support. Apologies in advance for the
inevitable breakage to other platforms.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5250
2005-11-29 13:05:56 +00:00
Donna Robinson
9718e2344e mc-tech-docs.xml
- removed ref to cachegrind.org

vg-html-website.xsl
vg-html-chunk.xsl
- common stuff stripped out, and placed in
  vg-html-common.xsl

vg-entities.xml
- added 2 more website url entities to replace hard-coded urls
  in FAQ.xml



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5240
2005-11-27 18:19:40 +00:00
Julian Seward
0a24c03427 Fix obscure memcheck bug found by Nick. This could cause false
negatives, but only in the following unlikely circumstances: for an
8-byte store, which is handled by by the slow path (due to
misalignment or incomplete addressibility).  In this case, the bug
caused the top 32 of the written V bits to be forced to zero
("defined").  This would not have affected the vast majority of 8-byte
stores since almost all of them would either have been handled by the
fast case or would have the top 32 V bits as zero anyway (almost
certainly both).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5222
2005-11-20 19:08:08 +00:00
Julian Seward
34223837ae Add a few missing regtest outputs.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5203
2005-11-19 01:32:17 +00:00
Donna Robinson
81d6ed4433 Minor doc tweaks, mostly white space
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5201
2005-11-18 22:09:58 +00:00
Tom Hughes
0559acb82e Last of the __libc_start_main fixes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5188
2005-11-18 09:39:09 +00:00