6685 Commits

Author SHA1 Message Date
Nicholas Nethercote
79062cce2e Merge r9106 (fix a minor stack entry display bug) from the DARWIN branch.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9132
2009-02-10 07:14:37 +00:00
Nicholas Nethercote
a8c9970a34 Cleaned up the mess that was the treatment of "below main" functions such as
'__libc_start_main', in Massif, m_debuginfo and m_stacktrace.  As part of
this, --show-below-main is now visible to tools, and Massif pays attention
to it.

Improved the description of --show-below-main=yes in the manual.

Replaced some instances of "__libc_start_main" in the test *.exp files with
"(below main)", which is what will actually be seen.  Also updated
scalar.stderr.exp*, which should make it get closer to actually passing.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9131
2009-02-10 06:48:00 +00:00
Nicholas Nethercote
947f9faaba Merge part of r9129 (factor out duplicated Z-encodings of names) from the
DARWIN branch.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9130
2009-02-10 04:23:41 +00:00
Nicholas Nethercote
7e242995e4 Fix a typo.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9127
2009-02-09 03:52:35 +00:00
Nicholas Nethercote
97ac32d13b Don't install unnecessary .supp files (part 2 of 2).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9125
2009-02-09 03:25:04 +00:00
Nicholas Nethercote
0b2d785793 Makefile.flags.am
Remove mentions of empty variables.

Makefile.am
    Only install default.supp;  other .supp files aren't necessary to
    install.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9123
2009-02-09 01:52:55 +00:00
Bart Van Assche
fc97849a4c Switched from the Apache License to a BSD-style license in order to reduce the number of licences that applies to the source code of Valgrind.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9122
2009-02-08 17:42:12 +00:00
Nicholas Nethercote
1690244664 Merged r9120 (Merge Makefile.{inplace,install}.am, and simplify installation
of libmpiwrap.so) from trunk.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9121
2009-02-06 23:27:16 +00:00
Nicholas Nethercote
2d5f140a5b Make Makefile.install.am much less confusing.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9118
2009-02-06 07:12:57 +00:00
Nicholas Nethercote
b7b48cb4a6 Removed Makefile.core.am with some judicious refactoring. Also fix a stupid
typo in launcher-linux.c that was added in the last commit.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9116
2009-02-06 05:34:19 +00:00
Nicholas Nethercote
009cd24326 Removed Makefile.core.am with some judicious refactoring.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9114
2009-02-06 04:49:14 +00:00
Nicholas Nethercote
44f04e904c Avoid unnecessary EXTRA_DIST files in Makefile.am.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9112
2009-02-06 04:13:52 +00:00
Nicholas Nethercote
eb4a905f4c Merge r9110 (inline Makefile.tool-flags.am) from DARWIN branch.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9111
2009-02-06 04:05:43 +00:00
Nicholas Nethercote
7c930e4eb4 Index: Makefile.core.am
Factor out some includes.  Remove some unnecessary includes.

Index: configure.in
    Improve some comments.  Make the arch/platform/OS output more consistent
    and comprehensive.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9108
2009-02-06 03:46:50 +00:00
Nicholas Nethercote
a893d716bd Fix a minor defect: only the first 14 chars of the 18 chars in the
--massif-out-file= option was being checked, which meant that if you did
--massif-out-filename=foo by mistake it would accept it and produce a file
called "ame=foo".

MERGE to 3_4_BRANCH



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9099
2009-02-03 03:59:05 +00:00
Julian Seward
c9f7ec1fb4 Suppression update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9097
2009-02-01 20:15:32 +00:00
Julian Seward
12054557cf Add support for glibc-2.10 (when it eventually appears).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9096
2009-02-01 19:01:11 +00:00
Julian Seward
c90635f9d3 Move an assertion (pertaining to showing initial segments to the
tools) to the correct place, and add a big comment explaining why this
is necessary.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9094
2009-01-31 15:08:08 +00:00
Bart Van Assche
d704a19db5 Removed mandatory redirections for DRD since these made DRD impossible to use on openSUSE 10.3 ppc.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9092
2009-01-30 18:31:54 +00:00
Bart Van Assche
21e1e4c208 Generalized suppression patterns.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9091
2009-01-30 17:52:39 +00:00
Bart Van Assche
f93d44456f Do not only recognize .plt and .plt.got sections inside the mapped address range, but also outside the mapped address range (necessary for ppc).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9090
2009-01-30 17:52:21 +00:00
Bart Van Assche
bda1d6a840 Suppress any error whose top frame is in libc.so. While not very elegant, this is an effective way to suppress data race reports triggered by glibc's stdio functions (which uses inlined locking functions).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9087
2009-01-29 09:57:22 +00:00
Julian Seward
f0bf7aaf10 VG_(findBoundsFM): add comment re preconditions
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9085
2009-01-29 08:46:15 +00:00
Julian Seward
9d04a7c226 Generalise zlib suppressions a bit.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9084
2009-01-29 08:45:19 +00:00
Julian Seward
bcf0bf5eb2 * get_Seg_containing_addr: fix incorrect test guarding assertion
(which then failed)

* support some more syscalls



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9083
2009-01-29 08:44:49 +00:00
Josef Weidendorfer
70084d4fa2 Callgrind: Remove ifdef'ed-out, non-working code.
Rechecking the diff of r9080 on the mailing list, I thought
I forgot to replace "|" with "+" in one spot. But that was part
of not-used code, so it actually does not matter.
So better get rid of this code part at all (no need to backport ;-).

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9081
2009-01-26 23:21:18 +00:00
Josef Weidendorfer
3a5719678f Cachegrind/Callgrind: allow for cache sizes other than only powers of two
The number of sets, ie. number of cache lines divided by associativity,
and the cache line size still have to be powers of two.
This change is needed for default cache parameters used on some Intel
Core 2 and Atom processors.

Includes cachegrind manual update and explicit tests with 24KB D1/3MB L2
Reverts addition of 6MB warning to {cachegrind,callgrind}/tests/filter_stderr

Backporting to VALGRIND_3_4_BRANCH needs r8912

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9080
2009-01-26 22:56:14 +00:00
Julian Seward
239e053ce5 Initialise laog and laog__exposition even when the first lock-related
action is a lock deletion.  Fixes a segfault reported by Ali
Jannesari.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9063
2009-01-26 10:45:16 +00:00
Julian Seward
a735fd2483 Remove function that was made redundant by r9059.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9062
2009-01-26 01:22:23 +00:00
Julian Seward
a0bf8f8271 Minor refinements:
* h_main.c: handle a few more syscalls

* exp-ptrcheck.supp: ignore errors in glibc's getenv -- is highly optimised

* pc_common.c: fix small error in error message printing

--> 3_4_BRANCH



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9061
2009-01-26 00:09:08 +00:00
Julian Seward
98c1569aff Intercept and replace calls to calls to strnlen in glibc, for the
usual reasons.  Also update an expected output (lines numbers in
h_intercepts.c should be removed by the regtest system, really).

--> 3_4_BRANCH



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9060
2009-01-26 00:06:43 +00:00
Julian Seward
59e2a184ae Prior to this commit, exp-ptrcheck would assert if the DWARF3 data for
global or stack blocks described overlapping blocks (which are
nonsensical).  Unfortunately it is naive to assume compilers will
always produce correct debug info.  This commit makes exp-ptrcheck
much more robust against such (inevitable) anomalies: stack and global
blocks which overlap are simply ignored.

--> 3_4_BRANCH



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9059
2009-01-25 23:59:24 +00:00
Julian Seward
c538f32818 Handle a couple of artefacts produced by icc11: DW_TAG_reference_type
that doesn't have a size, and DW_FORM_ref_addr (assuming my
interpretation of the standard is correct.)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9058
2009-01-25 23:50:32 +00:00
Julian Seward
7f9bff9f46 Handle a couple of artefacts generated by gcc-4.4: DW_OP_reg{0..31}
and DW_OP_const1s.

--> 3_4_BRANCH




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9057
2009-01-25 23:48:31 +00:00
Julian Seward
00e807b701 Handle a few more syscalls, as per #179618.
MERGE TO 3_4_BRANCH.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9056
2009-01-24 10:52:32 +00:00
Julian Seward
c72e27c5b0 Accept 'enum' type DIEs that do not have any names; apparently Dwarf2
allows this.  Patch from Nuno Lopes.  #181707.
MERGE TO 3_4_BRANCH


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9055
2009-01-24 01:44:15 +00:00
Julian Seward
a257ebcc27 Make the leak checker a bit less verbose.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9054
2009-01-24 01:42:20 +00:00
Julian Seward
2e1b7166fc Fix aix5 build breakage following r9021.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9053
2009-01-24 01:22:51 +00:00
Julian Seward
b666f0fa23 Don't try to build m_ume on aix5.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9052
2009-01-24 01:22:25 +00:00
Julian Seward
cc781fbfbd VG_(apply_StackTrace): following r8818, we should regard an entry of -1
as denoting the logical end of the stack.  This change stops printing
of a lot of junk below the logical "-1" end mark.  See added comments
for details.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9051
2009-01-24 00:07:53 +00:00
Julian Seward
3825cfb6aa ML_(evaluate_trivial_GX): handle the case
(DW_OP_addr: DW_OP_plus_uconst: ULEB < 128)

This is a really nasty kludge and should be fixed properly.

MERGE TO 3_4_BRANCH (?)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9050
2009-01-24 00:06:13 +00:00
Julian Seward
3a786496c1 Handle the case where a Compilation Unit (CU) (or, really, the CU and
its associated DIEs) occupies less space than stated in the CU's
header.  icc9 appears to produce CUs with this anomaly.  Not handling
the case causes the reader to lose sync at the start of the following
CU, since it hasn't skipped the junk bytes at the end of the current
CU, and it is basically hosed after that.
MERGE TO 3_4_BRANCH (?)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9049
2009-01-24 00:04:28 +00:00
Nicholas Nethercote
49c08082e5 Merge from DARWIN branch recent minor .vgtest changes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9045
2009-01-23 04:14:33 +00:00
Nicholas Nethercote
e1e3d6f29d Fix up selection of Helgrind tests (merged r9040 from DARWIN branch).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9041
2009-01-23 03:40:09 +00:00
Nicholas Nethercote
dbcc3e99d6 Move memcheck/tests/brk to the linux/ subdir, as it's Linux-specific (merged
from the DARWIN branch).  Also filter the output more so the .stderr.exp2
isn't needed.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9038
2009-01-23 00:57:31 +00:00
Nicholas Nethercote
4372b47de8 Merge some minor regtest updates from the DARWIN branch:
- avoid using <malloc.h> where it's not necessary, because on DARWIN it's
  called <malloc/malloc.h>
- filter the output of brk2 more, which allows the .stderr.exp2 file to be
  removed.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9037
2009-01-23 00:02:07 +00:00
Julian Seward
da8e9c1236 Move the test for __sync_bool_compare_and_swap almost to the bottom,
so it can use $mflag_primary.  This makes the word size for which the
test is done (-m32 or -m64) be the same as for which it is actually
needed, and in some situations unbreaks building of the regtests in
32-bit mode on a 64-bit machine.

For the same reason, apply $mflag_primary to the test for OpenMP.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9034
2009-01-22 22:44:30 +00:00
Nicholas Nethercote
ed322feb84 Rename all the arch/OS/platform-related variables in configure.in to make it
clearer what they mean:
- They all have VGCONF_ prefixes now, to indicate they come out of
  configure.in (and are clearly distinguished from the VGA_/VGO_/VGP_
  #defines passed in to C files).
- The ones that refer to the primary *or* secondary platform have _INCLUDES_
  in them.
- The ones that are in all-caps have a _CAPS suffix.

So, for example, what was VGP_X86_LINUX is now
VGCONF_PLATFORMS_INCLUDE_X86_LINUX, which is more verbose but also a lot
clearer.  The names of the #defines used in the C files (VGA_x86, VGO_linux,
etc) are unchanged.

cputest.c: changed to reflect the Valgrind installation's capabilities,
rather than the machine's capabilities.  In particular, if
--enable-only32bit is used on a 64-bit machine, then this program will claim
to only support 32-bits.  Also use the VGA/VGO/VGP macros which are clearer
than the __i386__ ones.  (This is partially merged from the DARWIN branch.)

configure.in: clean up the comments, distinguish different sections more
clearly, and generally make it more readable.

valgrind.pc.in: try to make this more accurate.  I doubt anyone's using it.
It doesn't appear to be set up to handle dual-architecture builds.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9031
2009-01-22 21:56:32 +00:00
Julian Seward
7e1fd774cc Minor tidyings:
search_all_symtabs: look for data symbols also in .sbss and .rodata
sections.

VG_(seginfo_sect_kind): identify addresses in .sbss sections.

VG_(pp_SectKind): handle missing case Vg_SectGOTPLT

search_all_loctabs, VG_(get_objname), VG_(find_seginfo): augment tests
"di->text_present" with "&& di->text_size > 0" (probably not
necessary, but is clearer, and more consistent in that most places
that look at DebugInfo.text_{size,avma} first perform both of those
tests).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9029
2009-01-22 21:18:15 +00:00
Julian Seward
5904bbd9fd Suppress any error at all that occurs in libpthread, without any
regard for any calling frames.  Needed to hide the fact that we can't
see stdio locking stuff and hence end up reporting a lot of errors in
multithreaded stdio working.
MERGE TO 3_4_BRANCH.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9028
2009-01-22 20:46:51 +00:00