Commit Graph

118 Commits

Author SHA1 Message Date
Julian Seward
a8be862b0f Test program to check the behaviour of a bunch of FP functions.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5590
2006-01-24 00:40:35 +00:00
Julian Seward
bb6217e7a1 Use perf/fbench as a simple FP test too. This is a modified copy, not a symlink.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5588
2006-01-23 03:36:40 +00:00
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
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
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
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
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
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
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
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
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
Tom Hughes
b517f5119a Add a stack switching test.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5090
2005-11-11 17:21:20 +00:00
Tom Hughes
8cc5ae14db Allow 32 bit x86 tests to run on amd64 machines.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5087
2005-11-11 14:33:43 +00:00
Julian Seward
60df0c1a81 Add tests for --partial-loads-ok= flag.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5038
2005-11-08 13:20:24 +00:00
Julian Seward
7d716ad8ce fwrite.stdout.exp seems to be not present and make dist doesn't like that.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5034
2005-11-08 01:24:23 +00:00
Tom Hughes
b5c033e906 Dual architecture support - this commit is a major rework of the build
system that allows multiple copies of valgrind to be built so that we
can build both x86 and amd64 versions of the tools on amd64 machines.

The launcher is then modified to look at the program being run and
decide which tool to use to run it.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5027
2005-11-07 15:24:38 +00:00
Tom Hughes
2467698569 The memcheck/tests/sigprocmask test is designed to test that we handle
the old style sigprocmask system call correctly without corrupting
memory when we copy out the new (larger) signal mask into the user
provided old (smaller) signal mask.

It therefore makes no sense to run it on amd64 or any other platform
which only has the newer rt_sigprocmask system call, and indeed it
wasn't working because we weren't passing the extra argument which
that call expects.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4990
2005-11-02 15:46:07 +00:00
Tom Hughes
68124232d8 Update EXTRA_DIST to include new results files.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4987
2005-11-02 15:17:43 +00:00
Tom Hughes
7cd9d86d6e Removed memcheck/tests/weirdioctl as it is badly broken and seems
to serve no useful purpose.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4984
2005-11-02 13:58:39 +00:00
Nicholas Nethercote
97f1d67fb7 Disable vgtest_ume, which is broken.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4791
2005-09-27 19:52:02 +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
a00ea1b94b fix for #113230
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4751
2005-09-24 19:42:41 +00:00
Nicholas Nethercote
224dad480c Make it possible to match against "???" line in suppressions,
using "obj:*" or "fun:*".  Also generate "obj:*" for such lines
with --gen-suppressions.  Includes a regtest.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4447
2005-08-18 15:49:21 +00:00
Nicholas Nethercote
dbae71819c malloc_usable_size() was totally broken, crashing immediately.
I guess it's not very widely used :)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4439
2005-08-17 04:03:31 +00:00
Nicholas Nethercote
756f513b51 Add a thorough unit test for m_oset. Note that this is Memcheck
testing code that's part of Valgrind, which is a good thing.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4412
2005-08-14 22:43:53 +00:00
Julian Seward
af88ef1f2d Add a regression test for memcheck's ability do deal with partially
defined operands in equality comparisons.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4116
2005-07-06 19:01:53 +00:00
Nicholas Nethercote
cc61edf573 xml1: add another .stderr.exp file for slightly different systems, and
make the stderr.exp64 consistent with the improved filtering.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4090
2005-07-02 21:14:19 +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
4e8bcf9076 Move the last remaining tests out of corecheck.
Also introduced VG_(showing_core_errors)() to make core error display
more consistent.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4073
2005-07-01 04:15:36 +00:00
Nicholas Nethercote
514f201d55 Added VG_() prefixes to functions exported from m_ume to avoid
namespace pollution.

Also broadened a couple of _dl_* suppressions so that vgtest_ume
passes on my machine.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3993
2005-06-21 23:03:36 +00:00
Nicholas Nethercote
b2f4f4cba0 Get "make dist" closer to working again.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3946
2005-06-19 05:43:21 +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
Robert Walsh
d9cbc3ffec Fix x86_64 build.
Also fix vgtest_ume (although it fails on x86_64.)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3943
2005-06-18 18:58:14 +00:00
Nicholas Nethercote
a0a6af2854 Make the stage2.lds building platform-independent by not trying to match
an exact address (idea from Paul Mackerras' PPC port).  Thus it could be
moved into coregrind/Makefile.am.

Let me know if this breaks anything on other platforms.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3939
2005-06-18 16:41:30 +00:00
Nicholas Nethercote
3ae4d1a0ab A cleanup of the redirection stuff.
- Renamed VG_INTERCEPT as VG_REPLACE_FUNCTION to make its purpose
  clearer.

- Renamed VG_WRAPPER as VG_NOTIFY_ON_LOAD to make its purpose cleare.
  Started calling that stuff "load notification".

- Moved various things into m_redir.c, a much more sensible place for
  them.  This reduced the number of exported functions overall.  Renamed
  intercept_demangle() as Z_decode() as part of this.

- Improved the documentation of this stuff, especially in
  pub_core_redir.c.

- Got --run-libc-freeres=yes working again.  It was doing nothing.

- Renamed vg_inject.so as vg_preload_core.so to match
  vg_preload_<tool>.so

- Renamed vg_intercept.c as vg_preloaded.c.  (I kept the "vg_" prefix
  because this filename can appear in stack traces, so the "vg_" is a
  useful hint for users that it belongs to Valgrind.)

- Removed all the Memcheck-specific calls to add_redirect_sym_to_sym()
  from VG_(setup_redirect_table)(), instead using VG_REPLACE_FUNCTION in
  mac_replace_strmem.c, just like vg_replace_malloc.c.  This is the
  right way to do it.  This required moving some of
  coregrind/pub_core_redir.h into the newly added
  include/pub_tool_redir.h.  add_redirect_sym_to_sym() is no longer
  used...

- Now only handing off symbols to m_redir for inspection/decoding after
  they have been deemed to be interesting by the symbol table reader.

- Factored out commonality between the add_redirect_*_to_* functions
  into add_redirect_X_to_X().

- Added "Zh", meaning '-' ('h' for "hyphen"), to the Z-decoding scheme,
  to handle sonames like "ld-linux-x86-64.so.2".

- Added a FAQ explaining the newly found issue of glibc aliasing 
  sometimes causing the wrong function name to appear in stack traces.

- Added a new regtest strchr.c.  It's possible this will fail on some
  platforms.  If so, an alternative output file can be provided, but
  I'd like to see it in practice first.

It's possible that there will be minor breakage on other
platforms/setups, but it should be minimal and easily fixable.

Plus some ordinary cleanups in symtab.c:

- Removed the old optimisation from VG_(addStr)() whereby it kept track
  of the previous 5 added strings and avoiding duplicating any of them.
  Turns out it was barely having any effect any more, and just
  complicated things.

- Made read_symtab() more readable, by introducing a new variable
  "sym_name" and introducing the auxiliary function
  is_symbol_interesting().

- renamed the module variable 'segInfo' as 'segInfo_list' to make it
  more obvious it's a module variable and not just some ordinary local
  variable (which was an easy mistake to make).

-----------------------------------------------------------------------------

XXX: [later] remove add_redirect_sym_to_sym, and everything related to
     X_to_sym?  (ie. only need X_to_addr)

XXX: better function names?  all those 'resolved' names...
     [later...]




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3916
2005-06-16 03:56:58 +00:00
Nicholas Nethercote
1d0e2e6e41 Created m_machine, for various machine-related things.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3903
2005-06-13 04:21:38 +00:00
Julian Seward
d905bd778e Expected outputs on Fedora Core 4.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3826
2005-05-31 19:49:28 +00:00
Julian Seward
2ad0acd102 amd64-linux output
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3798
2005-05-24 15:09:14 +00:00
Julian Seward
01383ef160 Test XML output.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3796
2005-05-24 14:46:02 +00:00
Julian Seward
7e143bf34f Add another possible output.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3783
2005-05-23 14:02:51 +00:00
Julian Seward
232a4a67f8 Another expected output file.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3684
2005-05-12 18:02:01 +00:00
Julian Seward
93d542f1d9 Add expected output file for 64-bit platforms.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3621
2005-05-05 01:37:46 +00:00
Julian Seward
9f22797506 Add expected output files for 64-bit platforms.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3620
2005-05-05 01:32:24 +00:00
Julian Seward
5c34e62c3b Add expected output files for 64-bit platforms.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3619
2005-05-05 01:29:11 +00:00
Julian Seward
af4afafd2a Add expected output files for 64-bit platforms.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3618
2005-05-05 01:23:50 +00:00
Julian Seward
bf6bf8fbbe Move all the 'scalar' (syscall-arg) tests into x86/. In fact they are
really x86-linux specific, but fixing it all properly will have to
wait for another day.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3615
2005-05-04 13:53:00 +00:00
Julian Seward
faa09bd038 Add a new acceptable-output file.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3613
2005-05-04 12:27:48 +00:00
Julian Seward
f9b54012bf Move this test to a more sensible place. Originally it was intended
to check that the threading library hadn't messed up errno.  Now that
doesn't make much sense any more.  Anyway, now it annoyingly fails due
to memcheck reporting bugs in libpthread et al.  Move it to corecheck
so at least it can continue to run and hopefully not continually fail.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3611
2005-05-04 00:26:57 +00:00
Julian Seward
2eb10d8e1c Add another possible .stderr output for memcheck/tests/writev.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3379
2005-03-16 13:10:44 +00:00