Commit Graph

8241 Commits

Author SHA1 Message Date
Julian Seward
d9e22f3594 Add tests for ROUNDPD and ROUNDPS.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11481
2010-12-06 11:05:29 +00:00
Julian Seward
45c678fc20 Speedups and fixes:
* (speedup) addMemEvent: generate inline code to check whether a
  memory access is within 16k of the stack pointer, and if so
  don't bother to call the helper

* (speedup) find_Block_containing: cache the most recently seen 2
  blocks, and check new references in them first.  This gives a
  worthwhile speedup.

* (fix) at the end of the run, merge stats from un-freed blocks
  back into APs.  This fixes misleading stats that cause un-freed
  blocks to appear to not have been accessed at all.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11480
2010-12-06 10:56:09 +00:00
Tom Hughes
d0687af4c6 Rework the strcasecmp stuff a little, based on Jakub Jelinek's patch
on bug #256600 because the original version turned out to somewhat
fragile across different glibc versions.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11479
2010-11-12 10:40:20 +00:00
Tom Hughes
8051104c57 Add replacements for strcasecmp and related functions which have
hyper-optimised versions which defeat valgrind in recent versions
of glibc.

Fixes #256600 based on patch from Dmitry Djachenko.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11478
2010-11-12 10:03:13 +00:00
Bart Van Assche
9b2de38586 DRD: the help text does now indicate that lock contention detection is off by default / changed default value of the exclusive mutex threshold from 1000s to off. See also #255247.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11477
2010-10-25 18:18:54 +00:00
Bart Van Assche
64567610ee Removed superfluous semicolon.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11476
2010-10-22 15:09:38 +00:00
Julian Seward
f289166f72 Merge from 3_6_BRANCH, r11471 (final change to NEWS for 3.6.0)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11475
2010-10-22 06:44:59 +00:00
Julian Seward
ee58d770ca Finalise doc stuff for 3.6.0.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11462
2010-10-20 17:07:01 +00:00
Julian Seward
c797ab7f0c Preserve the stack's 16-alignment in x86 and amd64 wrappers.
Fixes #254646.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11461
2010-10-20 15:58:09 +00:00
Julian Seward
ce9c5ac16a Size the ARM_LINUX_FAKE_COMMPAGE correctly and add explanatory
comments.  Fixes #254556.  (Peter Maydell, peter.maydell@linaro.org)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11460
2010-10-20 15:43:09 +00:00
Bart Van Assche
c3fd661e6d Updated Subversion ignore lists.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11459
2010-10-20 13:20:15 +00:00
Tom Hughes
77171c6bfb Avoid a double free when a binary has a build-id and no debuglink section.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11458
2010-10-19 13:12:59 +00:00
Julian Seward
1353a3bc9d Make sure all the handwritten assembly files for arm-linux are compiled with -marm.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11457
2010-10-18 18:11:42 +00:00
Bart Van Assche
40edddab8e DRD: Removed section about Qt from the manual.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11456
2010-10-18 16:44:08 +00:00
Julian Seward
d54e321de7 Add test cases for SMSAD{X}, SMLSD{X}, USAD{A}8, added in vex r2067.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11455
2010-10-18 16:35:38 +00:00
Bart Van Assche
4b4a5445ff Removed the Qt4 configure tests because these are no longer necessary.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11454
2010-10-18 16:32:11 +00:00
Bart Van Assche
68360e7f39 DRD: Disabled the Qt4 regression tests because these are too hard to maintain.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11453
2010-10-18 16:31:34 +00:00
Julian Seward
ba806c0170 Handle new Iop_Sad8Ux4 introduced in vex r2067.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11452
2010-10-18 16:31:14 +00:00
Bart Van Assche
ed78339ff9 Avoid that using VALGRIND_GET_VBITS() / VALGRIND_SET_VBITS() triggers warnings about casting away constness.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11451
2010-10-18 16:30:50 +00:00
Tom Hughes
8a3cde403f Add support for DW_ATE_UTF from DWARF4 which is needed for char16_t
support in C++0X.

Patch from Christian Borntraeger on bug #254550.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11450
2010-10-18 14:57:58 +00:00
Tom Hughes
9900b430c5 Don't look for build-id notes if NT_GNU_BUILD_ID is not defined.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11449
2010-10-18 13:04:13 +00:00
Tom Hughes
c8aedaf422 Add support for using build-id to find debugging information as
some distributions are starting to drop the old debuglink support
now. Fixes #254257.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11448
2010-10-18 12:38:22 +00:00
Julian Seward
0199bdd69f Bump version number on the trunk.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11447
2010-10-15 08:52:43 +00:00
Julian Seward
7b33a9428e Update filter for Ubuntu 10.04.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11444
2010-10-14 10:46:56 +00:00
Julian Seward
81510fd6fe Update expected outputs following recent amd64-unwind improvements (??)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11443
2010-10-14 10:46:22 +00:00
Julian Seward
c262befad2 Update expected output.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11442
2010-10-14 10:45:20 +00:00
Julian Seward
369c729ea3 Updates for 3.6.0.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11441
2010-10-14 00:26:42 +00:00
Julian Seward
b43eec1219 Documentation update for 3.6.0 (not including NEWS).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11440
2010-10-13 21:47:29 +00:00
Julian Seward
b3bb084c4a Increase default size of the freed blocks queue from 10MB to 20MB.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11439
2010-10-13 21:19:54 +00:00
Julian Seward
32dd8e857c Add documentation for exp-dhat.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11438
2010-10-13 14:06:00 +00:00
Julian Seward
bf740e3b6c Add heading items.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11437
2010-10-13 14:05:30 +00:00
Julian Seward
9a9190f918 * cosmetic output changes
* add an assertion that the core block lookup routine works sanely


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11436
2010-10-13 14:04:25 +00:00
Julian Seward
0e140511b6 Changes to make exp-ptrcheck work reasonable on Fedora 14 x86:
* looks_like_a_pointer: x86-linux: halve lower threshold value
  to take account of evident address space randomisation done
  by Fedora 14 on x86

* handle __NR_lgetxattr

* move __NR_mq_* entries to the correct place (tidyup only)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11435
2010-10-12 22:47:09 +00:00
Julian Seward
ecf76d8b09 Minimal fixes needed to make this tool actually usable:
* change the per-block-byte freq count type from 8- to 16-bit
  so as to reduce the misleadingness of eventual numbers for
  frequently accessed blocks

* disable debug printing

* add command line parameters to control the number of APs shown
  in the final output, and to control the sorting order

* show average block size for each AP

* avoid possible problems when retiring a block and merging its
  per-byte access counts into the AP's counts

* add a trailer message giving some important hints to the user



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11434
2010-10-12 18:08:33 +00:00
Julian Seward
2b84460a22 Fix up printing of the can't-autodetect-params message and the
filtering out thereof, so as to make Cachegrind and Callgrind
pass their regressiont tests on ARM-Linux.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11433
2010-10-12 10:14:43 +00:00
Julian Seward
dfb2ce8d2e Define VG_CLREQ_SZB correctly on ARM, so Cachegrind and Callgrind
don't assert in their regtests on ARM.  (Value is the same in both
ARM and Thumb mode, fortunately.)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11432
2010-10-12 10:13:17 +00:00
Julian Seward
230002ce29 Add DHAT as an experimental tool. DHAT (a Dynamic Heap Analysis Tool)
is a heap profiler that is complementary to Massif.  DHAT tracks heap
allocations, and connects which memory accesses are to which blocks.
It can find the following information:

* total allocation and max liveness

* average block lifetime (# instructions between allocation and
  freeing)

* average number of reads and writes to each byte in the block
  ("access ratios")

* average of longest interval of non-access to a block, also 
  measured in instructions

* which fields of blocks are used a lot, and which aren't
  (hot-field profiling)

Using these stats it is possible to identify allocation points with
the following characteristics:

* potential process-lifetime leaks (blocks allocated by the point just
  accumulate, and are freed only at the end of the run)

* excessive turnover: points which chew through a lot of heap, even if
  it is not held onto for very long

* excessively transient: points which allocate very short lived blocks

* useless or underused allocations: blocks which are allocated but not
  completely filled in, or are filled in but not subsequently read.

* blocks which see extended periods of inactivity.  Could these
  perhaps be allocated later or freed sooner?

* blocks with inefficient layout (hot fields spread out over
  multiple cache lines), or with alignment holes



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11431
2010-10-12 10:09:15 +00:00
Julian Seward
1375448f10 Make the --prefix-to-strip=... command-line option added in r11312
behave more like the original proposal in #245535.  This makes it
more flexible and general.  Also rename it.

* new name is --fullpath-after=

* allow multiple instances of --fullpath-after=

* don't require the specified strings to be prefixes, only substrings

But retain the elegant backwards-compatibility trick in Bart's r11312
commit: if --fullpath-after= is not specified at all, then behave
exactly as before.

Fixes #245535.  A mixture of patches from Bart Van Assche
(bart.vanassche@gmail.com), Alexander Potapenko (glider@google.com),
and me (integration and documentation).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11430
2010-10-12 00:44:05 +00:00
Julian Seward
2569c4fc94 Remove some fluff detected by llvm-2.8 (clang):
- "*(int *)0 = " is apparently ignored by LLVM for who-knows-why
  reason.  Cast the zero to a volatile int * instead.

- remove an unused function that gcc failed to mention was unused
  (why?  because it was marked __attribute__((noreturn)) ?)

As an aside, clang/llvm-2.8 seemed to be able to successfully
compile Valgrind.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11429
2010-10-11 19:15:33 +00:00
Julian Seward
1a7379bf89 Enable support for sys_ppoll on arm-linux (Rodrigo Belem, rodrigo.belem@openbossa.org).
See #253636.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11428
2010-10-11 19:09:53 +00:00
Julian Seward
9decf216bf Add tests for NOP cases.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11427
2010-10-11 18:55:24 +00:00
Julian Seward
d8c8293925 Improve NEON instruction set tests, so as to run tests with
different data in high and low d-register halves.
(Dmitry Zhurikhin, zhur@ispras.ru)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11426
2010-10-11 17:41:46 +00:00
Bart Van Assche
6888d60d53 none/tests/ppc*/jm-insns.c: Minor simplification.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11425
2010-10-11 07:04:07 +00:00
Bart Van Assche
7603476c7b Updated Subversion ignore list.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11424
2010-10-10 18:59:07 +00:00
Bart Van Assche
fbf9a9135c Updated DRD manual.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11423
2010-10-10 18:57:53 +00:00
Bart Van Assche
67e6d2e122 Updated the NEWS file.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11422
2010-10-10 18:54:44 +00:00
Bart Van Assche
54644b1287 Let the macro ANNOTATE_BENIGN_RACE_STATIC() do what the comment above that macro says what it does.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11421
2010-10-10 18:53:00 +00:00
Bart Van Assche
ad86d78a6c E-mail address update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11420
2010-10-10 18:07:31 +00:00
Bart Van Assche
445c62fee8 Removed an outdated document.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11419
2010-10-10 17:24:29 +00:00
Julian Seward
18503c8e64 Dwarf3 reader: handle Dwarf3 created by gcc-4.5.1. In other words,
work around the all-new-buggy-Dwarf3 created by gcc-4.5.1.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11418
2010-10-08 23:57:25 +00:00