Commit Graph

253 Commits

Author SHA1 Message Date
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
Nicholas Nethercote
d50a75cd1a Fixed 'make dist'. In particular, all the arch/platform-specific files
get included in the distro now, not just the ones for the arch/platform
that the distro tarball is built on.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4085
2005-07-02 17:36:11 +00:00
Nicholas Nethercote
ce39304dad Avoid compile warning.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4083
2005-07-02 17:11:07 +00:00
Nicholas Nethercote
d690d0fb71 Move some more Corecheck tests into none/tests.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4065
2005-06-30 04:41:56 +00:00
Nicholas Nethercote
3dea409609 Move a bunch of tests from corecheck/tests/ to none/tests/.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4060
2005-06-30 02:15:59 +00:00
Nicholas Nethercote
249c9f83c3 Add alt output
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4049
2005-06-29 03:54:09 +00:00
Nicholas Nethercote
a1527f6993 Move a heap of tests from corecheck/tests/ into none/tests/. There's
no real point in having them in corecheck/tests since they're not testing
anything that Nulgrind doesn't provide.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4048
2005-06-29 03:46:32 +00:00
Nicholas Nethercote
f6fdbbf06d Don't use non-ansi features in valgrind.h in case it's used in a file
compiled with -ansi.  Added a regtest for it.  Fixed bug #103182.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4044
2005-06-28 19:44:10 +00:00
Donna Robinson
b655e45a8e argh! there were loads of the little beggars ....
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3999
2005-06-23 00:17:51 +00:00
Cerion Armour-Brown
d5f7c8aed3 Finally, valgrind on ppc32.
Plenty still to do, but simple programs like ls seem to run ok

Thanks, Paul, for having your ppc port of valgrind 2.4 to work from!




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3969
2005-06-20 15:51:07 +00:00
Nicholas Nethercote
f174930b23 Final commit for the initial modularisation pass:
- Broke part of m_scheduler off into a new module m_threadstate.  It
  contains ThreadState, VG_(threads)[] and some basic operations on the
  thread table.  All simple stuff, the complex stuff stays in m_scheduler.
  This avoids lots of circular dependencies between m_scheduler and other
  modules.

- Managed to finally remove core.h and tool.h, double hurrah!

- Introduced pub_tool_basics.h and pub_core_basics.h, one of which is
  include by every single C file.

- Lots of little cleanups and changes related to the above.

- I even did a small amount of documentation updating.




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3944
2005-06-19 01:24:32 +00:00
Nicholas Nethercote
cbab2cf707 Moved VG_BUGS_TO out of basic_types.h into libcassert.h.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3928
2005-06-18 02:25:16 +00:00
Julian Seward
52293553cd fix trivial regtest failures
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3777
2005-05-20 02:02:10 +00:00
Nicholas Nethercote
26afa60bf2 Update website address.
MERGE TO 2.4 REPOSITORY



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3753
2005-05-17 03:22:38 +00:00
Nicholas Nethercote
92c61a5fd1 Don't mix backticks and apostrophes when quoting words -- eg. use 'foo'
rather than `foo', as www.cl.cam.ac.uk/~mgk25/ucs/quotes.html explains
we should (in more detail than you'd imagine was possible).  I did this
both in output messages and in some comments, for consistency.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3723
2005-05-15 17:28:26 +00:00
Julian Seward
98aa9b7354 Add test cases for MOVQ on amd64.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3705
2005-05-14 11:18:31 +00:00
Julian Seward
0704bc9fa9 No wonder I couldn't figure out exactly how movq was supposed to
behave ..  no test cases!  Now fixed.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3704
2005-05-14 02:08:48 +00:00
Julian Seward
64b9ead5fa AMD x87 instruction tests.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3687
2005-05-12 19:17:36 +00:00
Julian Seward
8b8d9c2095 Use hi-half xmm registers (REX.R, REX.B == 1) (%xmm8-%xmm15) in an
attempt to flush out any register-number bugs that might be lurking.

It would be nice to be able to do the same with the integer registers,
but gcc-3.3.4 is too stupid to understand asms with clobbered
registers "r8d", etc (plain "r8" etc is OK) and I am too ignorant of
perl to know how to mash r8b/r8w/r8d back into plain "r8" etc for the
clobbered registers list.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3659
2005-05-11 11:57:41 +00:00
Julian Seward
9cdd95c8e3 Regression tests for amd64 instructions.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3658
2005-05-11 11:21:29 +00:00
Julian Seward
3a455359a7 * gcc-3.3.4 seems to generate non-working code for eq_double: workaround
* fix wrong stack offset for comparisons involving %rflags
* (unused): sets of register names for reg numbers >= 8


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3657
2005-05-11 10:42:49 +00:00
Julian Seward
81ce2f37dc SSE2 tests for amd64.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3656
2005-05-11 02:12:31 +00:00
Nicholas Nethercote
247e241160 Modularised the core/tool interface ('details', 'needs' and VG_(tdict))
into a new module m_tooliface.  Pretty straightforward.  Touches a lot
of files because many files use this interface and so need to include
the headers for the new module.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3652
2005-05-10 04:37:01 +00:00
Julian Seward
c01e895fde * test cases for amd64 SSE
* modify gen_insn_test to handle them


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3649
2005-05-10 02:49:11 +00:00
Julian Seward
f39c29a1a8 Versions of Tom's excellent insn-set test programs modified for the
amd64 insn set.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3647
2005-05-09 22:01:37 +00:00
Nicholas Nethercote
a08662c48c Big clean-up: changed the core/tool interface to be mediated entirely
through the VG_(tdict) function dictionary, rather than using TL_(foo)
functions.

This facilitated the following changes:

- Removed the "TL_" prefix, which is no longer needed.

- Removed the auto-generated files vg_toolint.[ch], which were no longer
  needed, which simplifies the build a great deal.  Their (greatly
  streamlined) contents went into core.h and vg_needs.h (and will soon
  go into a new module defining the core/tool interface).  
  
  This also meant that tool.h.base reverted to tool.h (so no more
  accidentally editing tool.h and not having the changes go into the
  repo, hooray!)  And gen_toolint.pl was removed.  And toolfuncs.def was
  removed.

- Removed VG_(missing_tool_func)(), no longer used.

- Bumped the core/tool interface major version number to 8.  And I
  killed the minor version number, which was never used.  The layout
  of the ToolInfo struct is such that this should not cause problems.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3644
2005-05-09 01:02:08 +00:00
Nicholas Nethercote
fe432113e6 A crucial, crucial change: update my email address.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3632
2005-05-08 02:10:27 +00:00
Julian Seward
68dbd9d954 Update expected output.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3605
2005-05-03 16:44:31 +00:00
Julian Seward
b6cf98b540 Update expected output.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3527
2005-04-07 17:39:08 +00:00
Julian Seward
7755428fed Add exhaustive tests for pslldq/psrldq.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3526
2005-04-07 17:32:20 +00:00
Julian Seward
26abbc7615 Update expected outputs.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3513
2005-04-03 00:16:11 +00:00
Nicholas Nethercote
f1f707c7b2 This change reduces the number of calls to dlsym() when loading tools from a
lot to one.  This required two basic changes.

1. Tools are responsible for telling the tool about any functions they
provide that the tool may call.  This includes basic functions like
TL_(instrument)(), functions that assist core services such as
TL_(pp_Error)(), and malloc-replacement-related functions like
TL_(malloc)().  

2. Tools that replace malloc now specify the size of the heap block redzones
through an arg to the VG_(malloc_funcs)() function, rather than with a
variable VG_(vg_malloc_redzone_szB).

One consequence of these changes is that VG_(tool_init_dlsym)() no longer
needs to be generated by gen_toolint.pl.

There are a number of further improvements that could follow on from this one.
- Avoid the confusingly different definitions of the TL_() macro in the
  core vs. for tools.  Indeed, the functions provided by the tools now don't
  need to use the TL_() macro at all, as they can have arbitrary names.
- Remove a lot of the auto-generated stuff in vg_toolint.c and vg_toolint.h
  (indeed, it might be possible to not auto-generate these at all, which
  would be nice).
- The handling of VgToolInterface is currently split across vg_needs.c and
  vg_toolint.c, which isn't nice.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3487
2005-03-31 04:37:24 +00:00
Nicholas Nethercote
bc95f773e8 Avoid compiler warnings.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3431
2005-03-25 23:50:11 +00:00
Nicholas Nethercote
8bda11d0c1 Remove a couple of compiler warnings.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3423
2005-03-24 04:44:26 +00:00
Julian Seward
e0a92e30c3 Make the regtests buildable on amd64, by moving various x86 specific
programs to the right place.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3416
2005-03-23 13:32:27 +00:00