287 Commits

Author SHA1 Message Date
Tom Hughes
dbfe36c3c3 Don't give the heap execute permission - the linux kernel doesn't
normally give execute permission to memory allocated from the heap
with sbrk.

This also required fixing the smc1 test for amd64 to use mmap to
allocate memory so that it can have execute permission.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4983
2005-11-02 13:02:40 +00:00
Nicholas Nethercote
084757de44 The version string from --version was being printed to stderr. This
commit fixes it to print to stdout.  I added a regression test for this.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4969
2005-10-26 16:17:46 +00:00
Julian Seward
2aa34e2afe Remove all remaining references to pointercheck. It's sad to see it
go, but realistically we can't implement it portably, at least without
considerable performance overhead and some additional complexity.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4956
2005-10-20 01:37:15 +00:00
Julian Seward
4e2059f06a The Spin-Doctor arrives in Valgrind-Land: rename --weird-hacks= to
--simulation-hints=.  Bwaha.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4955
2005-10-20 01:09:57 +00:00
Julian Seward
958b135d6b Fix make dist (seems to work, but am unsure if this is the right fix).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4949
2005-10-19 23:38:22 +00:00
Nicholas Nethercote
f2ec4febfe Make the usage message a little neater and more self-consistent.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4948
2005-10-19 22:39:40 +00:00
Julian Seward
1813e8fdcd Change the core-tool interface so that tools are fully aware of both
the guest extents for the presented translation and also its original
un-redirected guest address.  These changes are needed in particular
to make cachegrind's code cache management work properly.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4943
2005-10-18 12:04:18 +00:00
Nicholas Nethercote
ddc3f8ff42 Fix 'shell' for those lacking '.' in their $PATH, hopefully.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4929
2005-10-15 15:28:31 +00:00
Tom Hughes
2b6b5f063e Filter out line numbers from shell error messages.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4928
2005-10-15 13:01:21 +00:00
Nicholas Nethercote
82c3ab0af9 Overhaul the way programs are loaded at startup and exec() works. Now the
checking of programs done in these two places are combined, which avoids
duplicate code and greatly reduces the number of cases in which exec()
fails causing Valgrind to bomb out.

Also, we can now load some programs we could not previously, such as scripts
lacking a "#!" line at the start.  Also, the startup failure messages for
bad programs match the shell's messages very closely.

And I added a whole bunch of regtests to test all this.




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4918
2005-10-14 03:11:30 +00:00
Julian Seward
00c09f8f0d Build fixes for gcc-2.96. The system now builds and regtests with the
default gcc-2.96 on Red Hat 7.3.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4911
2005-10-12 12:53:20 +00:00
Julian Seward
05c7773957 Test for jrcxz.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4869
2005-10-05 17:12:23 +00:00
Julian Seward
a2ed402a26 Even more regtests
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4867
2005-10-05 11:02:00 +00:00
Julian Seward
a817329967 Add regtests for SSE2 pmaddwd.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4859
2005-10-04 20:00:20 +00:00
Julian Seward
742e6107a1 Reenable SSE2 psadbw test.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4851
2005-10-04 11:44:11 +00:00
Julian Seward
80e0b1c3a5 Test misc sbb/adc insns.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4848
2005-10-03 02:23:17 +00:00
Julian Seward
0d69e98e8a Test simulation of x86 'fxtract'.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4847
2005-10-03 01:22:29 +00:00
Julian Seward
38b71df161 Get rid of the "ioctl-mmap" weird-hack flag.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4800
2005-09-28 01:14:32 +00:00
Nicholas Nethercote
11dfb2e8a0 Fix scalar and cmdline[12].
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4790
2005-09-27 19:46:46 +00:00
Julian Seward
cc8ccbbfb4 This commit merges in changes from branches/ASPACEM (specifically,
changes from r4341 through r4787 inclusive).  That branch is now dead.
Please do not commit anything else to it.

For the most part the merge was not troublesome.  The main areas of
uncertainty are:

- build system: I had to import by hand Makefile.core-AM_CPPFLAGS.am
  and include it in a couple of places.  Building etc seems to still
  work, but I haven't tried building the documentation.

- syscall wrappers: Following analysis by Greg & Nick, a whole lot of
  stuff was moved from -generic to -linux after the branch was created.
  I think that is satisfactorily glued back together now.

- Regtests: although this appears to work, no .out files appear, which
  is strange, and makes it hard to diagnose regtest failures.  In
  particular memcheck/tests/x86/scalar.stderr.exp remains in a 
  conflicted state.

- amd64 is broken (slightly), and ppc32 will be unbuildable.  I'll
  attend to the former shortly.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4789
2005-09-27 19:20:21 +00:00
Nicholas Nethercote
de82f7dc42 Remove unnecessary filter_* files for ppc32.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4630
2005-09-13 00:49:49 +00:00
Julian Seward
340cbb8909 Fix register constraints to this works with both -O and without (David
Woodhouse).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4614
2005-09-09 12:03:28 +00:00
Julian Seward
3fd2054ee1 Add a test for {l,st}sw{s,i}. At the moment only works when the program is
compiled -O due to inline assembly problems, and so it fails in a standard
'make regtest'.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4613
2005-09-09 11:33:25 +00:00
Julian Seward
3c642e2c26 These seem to be needed to make regtesting work. Not sure why -- they are
identical to the x86 and amd64 ones.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4612
2005-09-09 11:28:02 +00:00
Tom Hughes
0f4337446c Restore %ebx properly instead of restoring %edx twice.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4524
2005-08-26 09:57:17 +00:00
Julian Seward
1fa1105403 Add tests for amd64 LOOP{,E,NE} insn.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4482
2005-08-23 23:52:54 +00:00
Julian Seward
21cf6b48dc Add regtest for x86 LOOP{,E,NE} insns.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4479
2005-08-23 18:06:01 +00:00
Nicholas Nethercote
560ac62ff7 Hopefully fix a broken regtest.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4438
2005-08-17 02:44:43 +00:00
Nicholas Nethercote
50c158d0ef Fixes for #110657, based on Jakub Jelinek's patch:
- filter out L3 warning messages so they don't break Cachegrind's regtests
- handle lack of mq support gracefully in mq.c



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4429
2005-08-16 02:30:24 +00:00
Nicholas Nethercote
30e76e439a Use the right Vex command line.
BACKPORT TO 3_0_X?



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4424
2005-08-15 13:29:43 +00:00
Nicholas Nethercote
d16a4d9638 Update for Vex.
BACKPORT TO 3_0_X?



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4405
2005-08-14 17:25:28 +00:00
Julian Seward
76cfc4175d Add regtest for x86 cmpxchg8b.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4390
2005-08-12 23:40:55 +00:00
Julian Seward
cc579f2f0e Don't forget tls.vgtest in the final tarball.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4298
2005-08-01 13:40:08 +00:00
Nicholas Nethercote
85e1a563bc Recategorise options in the usage message.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4256
2005-07-25 22:36:52 +00:00
Julian Seward
c930639c1d Don't claim that the --single-step= and --optimise= flags exist any
more.  They have been replaced by --vex-guest-max-insns= and the
--vex-iropt-* flags.




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4241
2005-07-24 07:39:17 +00:00
Julian Seward
4a7697b939 --branchpred= doesn't do anything (I'm not sure what it ever did do). Rm'd.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4239
2005-07-24 07:23:54 +00:00
Julian Seward
1bafc58697 Get rid of --support-elan3=. This flag wasn't doing anything since
the Elan3 user-space driver now works on unmodified Valgrind.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4238
2005-07-24 07:15:44 +00:00
Julian Seward
57252ed688 Rename --smc-support= to --smc-check=.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4237
2005-07-24 07:00:45 +00:00
Nicholas Nethercote
7d2702cc92 Fix broken tests.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4207
2005-07-20 03:03:44 +00:00
Julian Seward
a3e1759850 Add a nested-functions test from Lee Kindness.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4127
2005-07-07 14:29:21 +00:00
Julian Seward
14a5be1fc4 Self-modifying-code check for amd64.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4125
2005-07-07 13:20:31 +00:00
Julian Seward
96bafc6a64 Update expected output.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4124
2005-07-07 11:32:37 +00:00
Julian Seward
c855dc3352 Modify this test so it no longer uses client requests, but instead
relies on --smc-support=all to work correctly.  Hence it tests the
s-m-c support at least on x86.  Jump through various hoops to defeat
vex's basic-block-chasing optimisation, which has an annoying habit of
making this test work correctly even without --smc-support=all.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4123
2005-07-07 11:24:14 +00:00
Julian Seward
a129ed5c4c This is x86 specific; re-home accordingly.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4120
2005-07-06 20:22:16 +00:00
Julian Seward
2a50764852 smc1 is an x86-specific test; re-home it accordingly. (How did this
one evade detection for so long?)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4119
2005-07-06 20:03:43 +00:00
Julian Seward
596670b543 This test is nonsensical for ppc; it only applies to x86 and amd64.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4113
2005-07-06 08:38:19 +00:00
Julian Seward
546fa768ba gcc-4.0.1 rejects insn_{mmx,sse,sse2}.c despite the fact that
gcc-4.0.0 accepted it.  This commit adds flags to placate 4.0.1 (from
Dirk Mueller).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4096
2005-07-03 10:41:02 +00:00
Nicholas Nethercote
fbf8653c8b Removed the remnants of the attempt at an ARM port, because it had
bit-rotted badly and was clogging up the code.

I put the useful remnants in docs/porting-to-ARM in case anyone ever
wants to try porting to ARM again.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4092
2005-07-02 23:13:59 +00:00
Julian Seward
7b0afe576e Kludge to stop this program hanging on ppc32-linux and therefore
messing up the testsuite.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4087
2005-07-02 20:11:59 +00:00
Nicholas Nethercote
1d9d123bac Don't need a foo_SOURCES line if the program has only a single source file
named foo.c.

Now again using the right flags for building fpu_lazy_eflags.c, too.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4086
2005-07-02 18:24:58 +00:00