4288 Commits

Author SHA1 Message Date
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
Dirk Mueller
7d8bb9a711 update suppression for newer versions of Xorg
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5491
2006-01-03 18:04:32 +00:00
Cerion Armour-Brown
9e96cc2540 Tidy up some ppc64 assembly & comments a little.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5490
2006-01-03 14:28:02 +00:00
Cerion Armour-Brown
5e22ad7b55 couple more svn:ignore's
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5489
2006-01-03 14:20:36 +00:00
Cerion Armour-Brown
c78dccc555 Add ppc64 int,fp,vmx regtest: jm-insns
(test code is a symlink to ppc32/jm-insns.c)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5488
2006-01-03 14:08:26 +00:00
Cerion Armour-Brown
b32e339da9 Update ppc32 jm-insns regtest to test ppc64 insns, if built with -m64.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5487
2006-01-03 12:55:40 +00:00
Cerion Armour-Brown
20be45ceb6 regtest none::ppc32
- More cleanup
 - Fixed rlwimi test - init r_dst to zero.
 - Fixed load/store tests - print change in updated base reg, not actual value.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5486
2006-01-03 11:47:38 +00:00
Julian Seward
cf20ba8f52 Signal-related syscall support.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5485
2006-01-03 04:10:13 +00:00
Julian Seward
d452d6b62d casting paranoia (harmless)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5484
2006-01-03 04:09:27 +00:00
Julian Seward
8a934d6fdd First cut at signal frame build/removal for ppc64-linux. Ghastly
stuff, but it does at least appear to do simple signal stuff
correctly.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5483
2006-01-03 04:08:32 +00:00
Dirk Mueller
21b4fad8ca update
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5482
2006-01-02 20:47:26 +00:00
Julian Seward
e76e55b1f1 Enable various syscalls.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5477
2006-01-02 19:06:37 +00:00
Julian Seward
c3ab4db931 Oops, fix interrupted-syscall snafu.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5476
2006-01-02 19:06:08 +00:00
Julian Seward
82a78cd12c Recrystallise the warp core on ppc64-linux.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5475
2006-01-02 16:32:10 +00:00
Julian Seward
a5f29945c9 Fun n games making sys_clone() work.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5474
2006-01-02 16:25:31 +00:00
Julian Seward
180ac83b91 Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5473
2006-01-02 16:24:51 +00:00
Julian Seward
2e4ca6e583 Don't confuse ppc32 and ppc64.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5472
2006-01-02 16:24:03 +00:00
Julian Seward
3a05028b00 More paranoia please.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5471
2006-01-02 16:23:29 +00:00
Julian Seward
80e79b5bc5 Read dwarf2 line number information even if a .debug_str section was
not found.  This is believed to fix the regression in 3.1.X wherein
debug info was sometimes not read from icc-8.1 generated executables.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5470
2006-01-01 23:00:49 +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
a4b8d6ac34 Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5468
2006-01-01 17:17:55 +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
Julian Seward
6118f9352c Finally fix the bug causing dynamic ppc64-linux executables not to
work: start with with the correct toc pointer (r2), rather than some
nonsense value.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5465
2005-12-30 22:52:20 +00:00
Julian Seward
53cc394f0d Fix typo
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5464
2005-12-30 22:50:01 +00:00
Julian Seward
bcb975cf44 A couple more ppc64-linux syscalls.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5463
2005-12-30 22:49:24 +00:00
Nicholas Nethercote
e3fc627c16 Add a --trace-mem option to Lackey to print out a memory access trace, if
only so people will stop asking how to do it.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5462
2005-12-30 22:39:58 +00:00
Julian Seward
d5f6f1b38a More ppc64-linux syscalls.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5461
2005-12-30 15:02:49 +00:00
Julian Seward
65c73f3155 Fix up ppc64 dispatcher following the changes made by r5441.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5460
2005-12-30 04:16:37 +00:00
Julian Seward
ea6990403c Tentative fix for #117332: No line numbers printed by Valgrind 3.1.0
for programs compiled with Intel compiler.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5456
2005-12-28 15:19:39 +00:00
Julian Seward
16d5a1e2ba In fbench, compute sin/cos/sqrt from "first principles", so that the
program more uniformly measures the speed of FP +/-/* load/store
across different architectures.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5455
2005-12-28 04:18:20 +00:00
Julian Seward
d69ce03fb5 Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5452
2005-12-27 15:02:50 +00:00
Julian Seward
6a6bf6bff5 VG_(getgroups) fix (Shinichi Noda)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5445
2005-12-27 02:08:03 +00:00
Julian Seward
9ce31fccaf Check that the two sigprocmasks haven't failed.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5444
2005-12-27 01:44:33 +00:00
Julian Seward
139021b70c More dispatcher tuning for ppc32/64. Makes a big difference for
perf/tinycc.

- run_thread_for_a_while: just clear this thread's reservation when
  starting, not all of them.

- use a different fast-cache hashing function for ppc32/64 than for
  x86/amd64.  This allows the former to use all the fast-cache entries
  rather than just 1/4 of them.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5441
2005-12-26 17:58:58 +00:00
Nicholas Nethercote
6b44965dc5 code layout wibbles only
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5440
2005-12-26 17:50:22 +00:00
Julian Seward
bf87ad4bb6 Attempt to make tinycc work on ppc32, by (1) getting rid of various
x86 isms in tinycc.c, (2) giving it a fixed, preprocessed input file
to chew on, and (3) just compiling to a .o with no attempt to link.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5439
2005-12-26 03:54:49 +00:00
Nicholas Nethercote
bf162724b9 Merge in r5435 from COMPVBITS. Also added a note to
docs/internals/performance.txt about it.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5438
2005-12-25 06:34: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
Nicholas Nethercote
a9ed901aff add extra note about tinycc
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5436
2005-12-25 06:27:51 +00:00
Nicholas Nethercote
856002e089 update
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5434
2005-12-25 03:33:12 +00:00
Nicholas Nethercote
e830c38ce8 A minor performance improvement -- make swizzle() faster.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5431
2005-12-25 02:47:12 +00:00
Julian Seward
008262dd17 Fix read-after-free in VG_(HT_destruct). This fixes
memcheck/tests/mempools.  Thanks to Jeroen Witmond for tracking it
down.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5429
2005-12-24 15:33:32 +00:00
Cerion Armour-Brown
13850c9bb3 Tidy up ppc32 jm-insns test some more.
In particular, hide the function pointer setup stuff, for the test loops, in init_function()



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5428
2005-12-24 12:55:48 +00:00
Nicholas Nethercote
7683c8c703 Fix a nasty 64-bit-uncleanness bug in OSet spotted by Julian -- for fast
comparisons it was only considering the bottom 32-bits of the key.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5427
2005-12-24 03:10:56 +00:00
Julian Seward
d188c6df73 ppc64 ELF allows the 288 bytes below the stack pointer to be accessed.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5425
2005-12-23 23:34:51 +00:00
Julian Seward
79bbb4ed42 Make ppc64-linux stack unwinding work.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5424
2005-12-23 23:33:51 +00:00
Nicholas Nethercote
f1f2e4c771 Change default --reps value from 3 to 1.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5423
2005-12-23 23:08:04 +00:00
Julian Seward
0ef9634173 ppc64-linux fixes
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5422
2005-12-23 12:56:11 +00:00
Julian Seward
ad2d83c77b ppc64-linux fixes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5421
2005-12-23 12:47:42 +00:00