235 Commits

Author SHA1 Message Date
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
Julian Seward
cfdf00d9bd Track Vex API change in rev 1062: pass both the guest and host word
sizes to the instrumentatation functions.  Make most of the tools
abort if they are not the same; we can't handle that case yet.




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3397
2005-03-21 00:55:49 +00:00
Julian Seward
94e60faded Update expected outputs following institution of default --show-emwarns=no
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3390
2005-03-20 12:06:57 +00:00
Julian Seward
4f5ccbe0c2 gcc-2.96 build fixes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3362
2005-03-15 01:41:08 +00:00
Nicholas Nethercote
08fd210dd3 Fix minor problems in filters. This helps a couple of massif tests to pass.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3348
2005-03-13 21:40:26 +00:00
Nicholas Nethercote
d55a693729 Add test case for forking threaded programs.
MERGED FROM CVS HEAD


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3326
2005-03-13 05:10:08 +00:00
Julian Seward
d6a05763c7 Followup to rev 3319: remove bits of these tests which 3319 didn't,
for some reason.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3320
2005-03-12 21:49:18 +00:00
Julian Seward
9a76bb9755 Get rid of dastest and rcl_assert. These test instructions that are
so obscure that there has been no need to implement them in Vex-x86
despite having run huge programs through Vex.

Besides, rcl_assert was originally included as a result of fixing an
assertion failure in the old UCode machinery, which no longer exists.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3319
2005-03-12 21:46:56 +00:00
Nicholas Nethercote
5a3535ea87 --num-callers default is now 12, so say that in the help.
Fix cmdline tests for match new --num-callers stuff.

MERGED FROM CVS HEAD



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3315
2005-03-12 20:59:29 +00:00
Julian Seward
a1b340db35 Update expected output.
This highlights an interesting problem with the error filters.
The change is:

-   at 0x.......: xToI (floored.c:16)
-   by 0x.......: main (floored.c:9)
+   at 0x........: xToI (floored.c:16)
+   by 0x........: main (floored.c:9)

IOW, the change happened because some code got moved around,
causing the length of the hex numbers changed, defeating the
hexdigit-"normaliser".



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3314
2005-03-12 20:55:31 +00:00
Nicholas Nethercote
05fe123a9e Update copyright notice for 2005 on all relevant files. Don't bother trying
to be selective about it.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3303
2005-03-12 16:22:54 +00:00
Nicholas Nethercote
0384583ee1 Fix Nulgrind's filter_stderr, and also fix the none/tests/cmdline2 test
(required fixing the usage msg slightly).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3278
2005-03-11 04:57:30 +00:00
Nicholas Nethercote
38c5424bc9 Remove messages about not being able to clean up non-existent core files.
MERGED FROM CVS HEAD


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3277
2005-03-11 04:48:18 +00:00
Julian Seward
0356d27ca6 Merge in changes from the 2.4.0 line. This basically brings in the
overhaul of the thread support.  Many things are now probably broken,
but at least with --tool=none, simple and not-so-simple threaded and
non-thread programs work.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3265
2005-03-10 23:59:00 +00:00
Julian Seward
7c542ccd39 Add new files resulting from merging in the 2.4.0 line. Many of these
seem to be simply duplication of the x86 instruction set tests into
the addrcheck and helgrind trees.  I'm not sure what this duplication
achieves.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3264
2005-03-10 23:23:45 +00:00
Julian Seward
efcf1e61ec Complete rewrite (I think this is the 4th incarnation) of translation
table/cache management.  Two main changes.  (1) Translation areas are
recorded using VexGuestExtents, so that Vex is now properly supported
and code deletion works correctly.  (2) Low overhead BB profiling,
enabled by the --profile-flags=<XXXXXXXX> option.  This finds the top
N bbs at exit and shows them, so as to give a basis from which to do
performane tuning.

To support this, the way tt/tc work is changed.  It is still a
sectored arrangement, but now each sector has its own hash table.
This simplifies a lot of things.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3226
2005-01-19 11:55:34 +00:00
Julian Seward
7956de0e96 Re-enable regression tests for PSLLDQ.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3222
2005-01-11 15:02:34 +00:00
Julian Seward
fe31fa6884 Update some expected regtest outputs.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3221
2005-01-11 14:21:02 +00:00
Julian Seward
c097685542 Make the insn_ tests work at least for the insns which Vex (x86 guest)
currently implements.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3206
2004-12-17 19:12:47 +00:00