Commit Graph

569 Commits

Author SHA1 Message Date
Julian Seward
c46347280b Add a new program (link_tool_exe.c) and use this to link the tool
executables.  Gets rid of the linker script kludgery and uniformly
uses -Ttext=0x38000000 (or whatever) on Linux, so as to accomodate
both traditional ld and gold.  Should fix #193413 although I have
been unable to test it.  Using a whole new program seems like
overkill, but this is infrastructure to support static linking of
the tool executables on MacOS too.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11141
2010-06-02 00:31:34 +00:00
Julian Seward
06ee4f712b Add missing backslash.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11131
2010-05-14 11:18:52 +00:00
Julian Seward
06b158b13b Add test cases for XADD reg,reg. (Nicolas Sauzede, nicolas.sauzede@st.com).
See #195662.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11127
2010-05-10 20:53:28 +00:00
Julian Seward
bbf4d274fd Enable testing of FISTS and FISTPS on amd64.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11126
2010-05-10 20:06:08 +00:00
Julian Seward
2e6b7655d1 New flag --require-text-symbol=:sopatt:fnpatt, to be used to check
that specified shared objects contain specified symbols.  Along with a
couple of regtests that unfortunately will fail on MacOSX.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11125
2010-05-09 22:30:43 +00:00
Julian Seward
9b0574dff8 Update copyright dates to 2010.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11121
2010-05-03 21:37:12 +00:00
Tom Hughes
8e3cd040cb Link the tls test against tls2.so as it references symbols in it
and Fedora 13 no longer allows so's to be required indirectly (via
tls.so in this case).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11114
2010-04-29 09:22:25 +00:00
Bart Van Assche
53596eaf4a The help text printed by command-line option -h does now show the default
value for option --read-var-info. Fixes bug #231458.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11097
2010-03-27 07:38:39 +00:00
Julian Seward
fc54d10f02 Add tests for UXTAB and SXTAH.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11084
2010-03-08 15:09:06 +00:00
Julian Seward
977b0eaeaa Add command line flag --vex-guest-chase-cond=no|yes [no] to control
whether front ends should speculatively chase through conditional
branches.  Disabled by default.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11026
2010-01-15 10:57:57 +00:00
Julian Seward
d86efc229c Add tests for PLD (cache-prefetch-hint) instructions.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11024
2010-01-09 11:44:21 +00:00
Julian Seward
d547bf3a85 Add a test program for ARM v5 integer instructions, and also for some
v6 instructions.  (Johan Björk)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11003
2010-01-03 23:46:03 +00:00
Julian Seward
d02140ffba Add the default stderr_filter for this directory; else no tests work.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11002
2010-01-03 23:44:34 +00:00
Julian Seward
e66de48efb Further buildsystem bashing, in order to try and get something
make-dist-able.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11000
2010-01-03 21:25:08 +00:00
Julian Seward
e6e6bf27bb Try to integrate none/tests/arm properly in the build system.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10998
2010-01-03 17:40:07 +00:00
Julian Seward
c56752a887 Portability fix for arm-linux.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10995
2010-01-03 11:39:01 +00:00
Julian Seward
e9de458500 Merge from branches/ARM, all parts of the ARM-Linux port except for
the changes to do with reading and using ELF and DWARF3 info.
This breaks all targets except amd64-linux and x86-linux.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10982
2010-01-01 11:59:33 +00:00
Bart Van Assche
244793329b Changes:
- Made sure that C++ compilers do not complain about the header files
  include/pub_tool_libcassert.h and include/pub_tool_basics.h.
- Added the source file none/tests/valgrind_cpp_test.cpp. This source file
  is compiled together with the regression tests in order to verify that
  Valgrind's public header files compile cleanly with a C++ compiler.
These modifications are based on a patch provided by Konstantin Serebryany.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10970
2009-12-29 14:11:38 +00:00
Julian Seward
426c137045 New flag: --trace-children-skip=patt1,patt2,etc
Specifies a comma-separated list of executable-names
(with "*" and "?" wildcards allowed) that should not be traced into
even when --trace-children=yes.  Modified version of a patch
from Bill Hoffman.  Fixes #148932.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10927
2009-11-05 08:55:13 +00:00
Robert Walsh
1a3ad1987f Remove a trailing whitespace.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10873
2009-08-27 05:15:53 +00:00
Bart Van Assche
3a8937832e Added output variant for Linux systems without readlinkat().
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10872
2009-08-26 18:45:46 +00:00
Bart Van Assche
908594dfe1 Added regression tests that verify the following behavior:
- On Linux, whether Valgrind properly intercepts the system calls that access
  /proc/self/cmdline, /proc/<pid>/cmdline, /proc/self/exe and /proc/<pid>/exe.
- On Darwin, whether Valgrind does not modify the behavior of the system calls
  that access the aforementioned files.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10871
2009-08-26 18:11:18 +00:00
Bart Van Assche
ba7848aca3 Fixed bug #204317: regression tests none/tests/cmdline[12] fail if
the gdb path detected by configure differs from /usr/bin/gdb.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10855
2009-08-20 18:38:59 +00:00
Nicholas Nethercote
9acc4cc4d8 Fix the access_extended wrapper, which was rather broken. That's what I get
for not testing properly.  Added a regtest for it too.  Fixes bug 200760
(again, properly this time).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10826
2009-08-16 00:00:17 +00:00
Nicholas Nethercote
86be4a7cf3 Update .exp files for r10783.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10784
2009-08-12 00:14:44 +00:00
Julian Seward
8ffe2fdefa Tidy up of messaging:
* For all tools and the core, don't show statistics when -v is in
  effect.  Instead, try to restrict -v to mostly user-useful
  stuff.

* A new flag --stats=no|yes [no] produces statistics output instead.

* Fix longstanding problem in that Memcheck's leak checker ran after
  the core's error manager module shut down, thereby not showing use
  counts of leak suppressions.  This fixes #186790.

* As a consequence, the leak checker text output of Memcheck has
  changed a bit -- leak check is done before the final error
  summary is done (much more logical), and the output has been
  tidied up a bit.

* Helgrind, Drd and Ptrcheck now also print "For counts of
  detected and suppressed errors, rerun with: -v", which makes
  them consistent with Memcheck in this regard.  These are
  filtered out by the regtest filter scripts.

For all tools except Memcheck, the regtests are unchanged.  On
Memcheck regtests still fail due to rearrangements of the leak
checker output.  This will be fixed by a followup commit.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10746
2009-08-07 15:46:56 +00:00
Nicholas Nethercote
dbcea71779 More docs build tweaks:
- Actually remove the dead docs/images/massif*.png files (this was meant to
  happen in r10720).

- Inline $TOOL/docs/Makefile.am into $TOOL/Makefile.am for all 10 tools.  10
  fewer Makefile.am files FTW!


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10721
2009-08-05 08:08:18 +00:00
Nicholas Nethercote
8026c4766f Various option-related tweaks:
- Match the ordering of the non-tool-specific options in the usage message
  with the order in the user manual.  As a result, we now always print
  --alignment and --trace-malloc in the core's usage messages, which saves
  malloc-replacing tools from doing it themselves (and brings it in line
  with options that only apply to error-collecting tools).

- Improved the presentation of the Vex options with --help-debug.

- Removed documentation of -d in the manual because it's a debugging-only flag.

- Documented --read-var-info in the manual.  This fixes bug 201169.

- Renamed --auto-run-dsymutil as --dsymutil and documented it in the usage
  message.

- Fixed an XML error in manual-core-adv.xml.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10703
2009-08-04 02:32:55 +00:00
Nicholas Nethercote
0c1733b18a This should have been removed in r10699.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10700
2009-08-04 01:08:56 +00:00
Nicholas Nethercote
9c4252c6a1 Don't wrap the "Command:" line, as doing so makes cutting-and-pasting the
command difficult.  Also, when wrapping I was failing to factor in the
escape chars needed for chars like ' ';  now I don't need to.  And this
means the 'long-command' test is no longer necessary.  In other words,
favour utility and simplicity over aesthetics.

Also, the "Command:" line wasn't being wrapped in <line></line> in XML
output.  It now is.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10699
2009-08-04 00:27:56 +00:00
Nicholas Nethercote
5dfe01a847 With the recent VG_(message) change,
VALGRIND_{PRINTF,PRINTF_BACKTRACE,INTERNAL_PRINTF} were no longer appending
newlines.  This meant that --trace-malloc=yes spewed everything onto a
single line, among other things.

Rather than adding the newline back in, I chose to offically change their
behaviour to not add the newlines, as this is more flexible (and the reason
for the underlying VG_(message) change).  I updated all the relevant places
I could find.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10694
2009-08-03 01:38:56 +00:00
Nicholas Nethercote
635d2ba794 Forgot to add these in r10690.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10691
2009-08-03 00:23:16 +00:00
Nicholas Nethercote
c20ba72234 In the "Command:" line in the preamble, escape special chars such as ' ' and
'\\'.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10690
2009-08-02 23:03:06 +00:00
Nicholas Nethercote
ac7761261a We currently use a mix of <option> and <computeroutput> tags for command
line options.  This commit changes them to all <option>.

Also make consistent how options with multiple names (eg. -h --help) are
shown.

Also, remove section describing --help and --version in Callgrind's chapter;
these aren't necessary and are presumably a hangover from when Callgrind was
a separate tool.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10659
2009-07-30 02:57:52 +00:00
Nicholas Nethercote
a3fe17b34b Print the command being run at startup. It wraps to avoid going over 80
chars wide whenever possible.  Finishes off bug 197933.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10657
2009-07-29 23:34:49 +00:00
Nicholas Nethercote
78b2e5c83e Started overhauling the documentation:
- There were detailed descriptions of all the tools in the Quick Start
  Guide, the Manual introduction, and the start of each tool chapter.  To
  avoid duplication/overlap, I removed these altogether from the Quick Start
  Guide, and shortened them in the intro.

- Improved the description of what errors Memcheck can find.

- Made all tool chapters start with "Overview" section, for consistency.

- Made the "run with --tool=XXX" bit consistent in each tool chapter.

- Made all tool chapter titles match the description given when running them.

- Added BBV to the User Manual intro.

- Generally clarified, updated, and future-proofed various bits of text in
  the Quick Start Guide and User Manual introduction. 

Also:
- Changed Nulgrind's start-up description to "the minimal Valgrind tool".

- Fixed some punctuation in the usage message.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10652
2009-07-29 02:36:21 +00:00
Tom Hughes
9bab1b80f8 Make sure the x86 direction flag is cleared again if we set it as part
of a test, as the x86 requires it to be clear when any function is called
and gcc 4.3.0 and later rely on that. Fixes #201708.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10642
2009-07-27 23:09:42 +00:00
Nicholas Nethercote
bd7381bd00 mremap2 is a totally unreliable test; it's the only test that fails on a
number of Linux machines.  This change makes it more reliable, at the cost
of being less specific.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10575
2009-07-24 05:38:23 +00:00
Nicholas Nethercote
aa4962d995 In r10465 --time-stamp=yes got slightly broken -- the space between the time
and the PID was removed.  This commit adds it back in.  It also adds a basic
test that would have detected this regression, and also the breakage in bug
200990.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10573
2009-07-24 05:16:31 +00:00
Bart Van Assche
1804bafbd3 Updated expected output.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10522
2009-07-22 17:38:36 +00:00
Bart Van Assche
06d1aa76b3 Fixed the inline assembly code such that it also works correctly with gcc 4.4.0. While accessing stack variables from inline assembly code that modifies the stack pointer works fine with gcc 3.0 - gcc 4.3 with optimization disabled, it gives incorrect results with gcc 4.4.0.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10484
2009-07-18 10:39:14 +00:00
Julian Seward
f54726edbb Merge none/ changes from branches/MESSAGING_TIDYUP r10464.
See trunk r10465 commit message for details.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10475
2009-07-15 14:52:02 +00:00
Nicholas Nethercote
75b92a2ec9 Shorten the preamble by moving some of it into the --help output. This
partly fixes bug 197933.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10451
2009-07-14 06:55:05 +00:00
Nicholas Nethercote
62851019a9 Suppress an error within syslog(). Patch from Dan Kegel. Fixes bug 191192.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10438
2009-07-13 07:02:26 +00:00
Julian Seward
e818cd9481 Only run none/tests/amd64/bug127521-64 on machines supporting cmpxchg16b.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10433
2009-07-12 13:17:18 +00:00
Julian Seward
205f7fa457 Add tests to verify behaviour of atomic instruction handling.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10410
2009-07-04 12:44:08 +00:00
Nicholas Nethercote
07a1251a20 Make the Linux launcher more like the Darwin one in how it reads the
executable headers.  This means it no longer crashes on an empty executable.
Fixes bug 156065.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10384
2009-06-29 06:57:30 +00:00
Nicholas Nethercote
b05a2a18d7 This commit merges the BUILD_TWEAKS branch onto the trunk. It has the
following improvements:

- Arch/OS/platform-specific files are now included/excluded via the
  preprocessor, rather than via the build system.  This is more consistent
  (we use the pre-processor for small arch/OS/platform-specific chunks
  within files) and makes the build system much simpler, as the sources for
  all programs are the same on all platforms.

- Vast amounts of cut+paste Makefile.am code has been factored out.  If a
  new platform is implemented, you need to add 11 extra Makefile.am lines.
  Previously it was over 100 lines.

- Vex has been autotoolised.  Dependency checking now works in Vex (no more
  incomplete builds).  Parallel builds now also work.  --with-vex no longer
  works;  it's little use and a pain to support.  VEX/Makefile is still in
  the Vex repository and gets overwritten at configure-time;  it should
  probably be renamed Makefile-gcc to avoid possible problems, such as
  accidentally committing a generated Makefile.  There's a bunch of hacky
  copying to deal with the fact that autotools don't handle same-named files
  in different directories.  Julian plans to rename the files to avoid this
  problem.

- Various small Makefile.am things have been made more standard automake
  style, eg. the use of pkginclude/pkglib prefixes instead of rolling our
  own.

- The existing five top-level Makefile.am include files have been
  consolidated into three.

- Most Makefile.am files now are structured more clearly, with comment
  headers separating sections, declarations relating to the same things next
  to each other, better spacing and layout, etc.

- Removed the unused exp-ptrcheck/tests/x86 directory.

- Renamed some XML files.

- Factored out some duplicated dSYM handling code.

- Split auxprogs/ into auxprogs/ and mpi/, which allowed the resulting
  Makefile.am files to be much more standard.

- Cleaned up m_coredump by merging a bunch of files that had been
  overzealously separated.

The net result is 630 fewer lines of Makefile.am code, or 897 if you exclude
the added Makefile.vex.am, or 997 once the hacky file copying for Vex is
removed.  And the build system is much simpler.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10364
2009-06-24 00:37:09 +00:00
Nicholas Nethercote
efcb72de6f Unbreak nestedfns on --enable-only32bit installations.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10165
2009-05-29 00:31:31 +00:00
Nicholas Nethercote
64dcb65ca5 Make this file executable too.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10158
2009-05-28 02:24:28 +00:00