Commit Graph

292 Commits

Author SHA1 Message Date
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
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
a00ea1b94b fix for #113230
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4751
2005-09-24 19:42:41 +00:00
Julian Seward
8be9f5eef7 Fix signedness-of-char problem which caused this to segfault on ppc32-linux.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4462
2005-08-19 09:07:34 +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
64974a1033 Added VG_(OSet_LookupWithCmp)(), which can be useful.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4444
2005-08-17 21:06:07 +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
7ec1597605 Bleh, forgot this.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4418
2005-08-15 02:06:39 +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
Nicholas Nethercote
c37f2349c6 fix an output for xml1
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4383
2005-08-11 02:48:11 +00:00
Julian Seward
a31dc3adf0 Update regtest output after r4356. Will update 64-bit expected output
tomorrow.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4357
2005-08-09 22:21:14 +00:00
Tom Hughes
9ee36c69b4 Fix up the sigaction results.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4347
2005-08-08 18:32:54 +00:00
Julian Seward
b725cfc2e2 Updated expected output following %eflags.ac simulation fix.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4334
2005-08-06 12:26:26 +00:00
Nicholas Nethercote
4054aeb4c2 Remove temporary file once regtest completes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4301
2005-08-01 15:12:23 +00:00
Nicholas Nethercote
d597c842e5 Add explanation of filename.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4300
2005-08-01 15:11:15 +00:00
Julian Seward
a421699ed2 Rename tags in XML <status> block.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4240
2005-07-24 07:33:15 +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
Nicholas Nethercote
1b5839b47a Fixed bug #88678 -- debug info is now correctly gathered for files
containing spaces.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4146
2005-07-12 23:28:59 +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
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
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
Julian Seward
f359efb084 Update expected output. Hopefully this won't be so fragile now
(famous last words).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4089
2005-07-02 20:43:05 +00:00
Julian Seward
8fa9d5c66d Improve filtering to get rid of suppressions, using magic incantations
from Tom H and Ashley Pittman.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4088
2005-07-02 20:41:25 +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
2d1d192a24 Fix scalar.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4084
2005-07-02 17:15:28 +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
Julian Seward
2d19fe5d84 Update expected output.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4071
2005-06-30 23:32:30 +00:00
Julian Seward
c53b36df0f Update expected output.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4069
2005-06-30 12:40:17 +00:00
Nicholas Nethercote
b5a0177d11 Allow for glibc-2.4.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4063
2005-06-30 04:06:38 +00:00
Nicholas Nethercote
7a954963d7 Try to make toobig-allocs work on 64-bit platforms.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4061
2005-06-30 02:34:32 +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
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
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
Julian Seward
a7d31aa20e Get rid of the ELFSZ define, which is created at the configure stage
and use VG_WORDSIZE, as that is used everywhere else.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3952
2005-06-19 16:14:06 +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
67424caf39 Fix strchr. It was rather bogus.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3921
2005-06-17 19:28:29 +00:00
Nicholas Nethercote
c9a033dc8c Forgot to add strchrc.stderr.exp.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3918
2005-06-16 13:14:51 +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
Julian Seward
d0029796b7 Update expected output.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3915
2005-06-15 21:34:35 +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
2541030659 Update expected outputs.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3866
2005-06-10 10:25:02 +00:00
Julian Seward
60f21ea327 More expected outputs for FC4.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3827
2005-05-31 20:01:34 +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
Nicholas Nethercote
5198d87cbe Renamed the $PLATFORM/vki_unistd.h files as vki_unistd-$PLATFORM.h, to
match the headers files in include/.

As a consequence, coregrind/$PLATFORM directories are no longer needed,
hooray!





git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3814
2005-05-29 23:30:48 +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