Commit Graph

9047 Commits

Author SHA1 Message Date
Florian Krohm
af81e988fc Announce fix for #270796. Also keep the bug list sorted.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12339
2012-01-16 17:26:48 +00:00
Bart Van Assche
cc7b410176 debug info reader: Add support for DW_TAG_unspecified_type. Closes #278313.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12338
2012-01-16 17:11:07 +00:00
Bart Van Assche
31e98a4515 drd: Remove prefix from local variable names
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12337
2012-01-16 13:08:05 +00:00
Bart Van Assche
ea43d21340 debug info reader: rearrange the source code such that gcc issues a warning if an enumeration label is missing.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12336
2012-01-16 09:22:25 +00:00
Florian Krohm
4b9b13911c Add support for the s390's TROO insn. These are the valgrind bits.
Detect ETF2 enhancement facility using STFLE. Add testcases.
Patch by Divya Vyas (divyvyas@linux.vnet.ibm.com) with
modifications. Partial fix of #273114


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12335
2012-01-15 21:02:44 +00:00
Bart Van Assche
fc034de43d Update Subversion ignore lists
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12334
2012-01-15 19:20:56 +00:00
Bart Van Assche
b443a1b776 drd: Make it easier to enable the debug statements in the ELF section suppression code
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12333
2012-01-15 19:17:37 +00:00
Bart Van Assche
0515a0bb85 drd: Set up red zone before the first instruction of a thread is run.
Avoids that DRD sporadically reports mysterious false positive conflicting accesses on
amd64 like e.g. the following:

$ ./vg-in-place --fair-sched=yes --tool=drd --read-var-info=yes --check-stack-var=yes --show-confl-seg=no drd/tests/annotate_smart_pointer 50 50
==18170== drd, a thread error detector
==18170== Copyright (C) 2006-2011, and GNU GPL'd, by Bart Van Assche.
==18170== Using Valgrind-3.8.0.SVN and LibVEX; rerun with -h for copyright info
==18170== Command: ./annotate_smart_pointer 50 50
==18170==
==18170== Conflicting store by thread 1 at 0x7fefff8a0 size 8
==18170==    at 0x400FCE: AnnotateCondVarSignal (unified_annotations.h:32)
==18170== Allocation context: unknown.
==18170==
==18170== Conflicting load by thread 1 at 0x7fefff8a0 size 8
==18170==    at 0x400FDD: AnnotateCondVarSignal (unified_annotations.h:34)
==18170==    by 0x401071: U_AnnotateHappensBefore (unified_annotations.h:46)
==18170==    by 0x4018DD: smart_ptr<counter>::set(counter*, AtomicInt32*) (annotate_smart_pointer.cpp:239)
==18170==    by 0x401778: smart_ptr<counter>::operator=(counter*) (annotate_smart_pointer.cpp:208)
==18170==    by 0x401377: main (annotate_smart_pointer.cpp:326)
==18170== Allocation context: unknown.






























git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12332
2012-01-15 19:13:35 +00:00
Bart Van Assche
d953fbfc3c drd: Refactor functions for starting / stopping to access stack memory
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12331
2012-01-15 19:08:13 +00:00
Bart Van Assche
f374300062 drd: Reformat three comment blocks
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12330
2012-01-15 19:02:20 +00:00
Philippe Waroquiers
48046f6940 Added a new parameter to the memcheck 'leak_check' GDB monitor command
to let the user specify a max nr of loss records to output : on huge
applications, interactive display of a lot of records in gdb can
take a lot of time.


* mc_include.h : 
  - added UInt max_loss_records_output; to LeakCheckParams structure
  - avoid passing LeakCheckParams by struct copy.
* modified test gdbserver_tests/mcleak to test the new parameter
* mc_main.c : parse or set max_loss_records_output in leak_check cmd
  handling and calls.
* mc-manual.xml : document new leak_check parameter
* mc_leakcheck.c : 
  - extract printing rules logic in its own function
  - in print_results, if there is a limit in LeakCheckParam,
    compute from where the printing of loss records has to start

 



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12329
2012-01-14 13:53:13 +00:00
Philippe Waroquiers
e1910a81ca Valgrind gdbserver can open/close connections multiple times
=> avoid leak when re-computing the default vgdb prefix.
Similar change in vgdb.c


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12328
2012-01-13 21:36:46 +00:00
Bart Van Assche
38e08a851c configure.in: Make compiler version check more robust
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12327
2012-01-11 11:34:23 +00:00
Philippe Waroquiers
7245de0062 * Use the arg name forClient to document the calls to VG_(am_get_advisory)
* in function  VG_(am_mmap_file_float_valgrind_flags), use False/*forClient*/
  instead of True (as VG_(am_mmap_file_float_valgrind_flags) is used
  for "valgrind" kind of mmap only).

Regtested on f16/ppc64, deb5/amd64, Ubuntu9.10/x86
 


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12326
2012-01-08 21:01:02 +00:00
Florian Krohm
9d14305592 Terminate comment correctly.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12325
2012-01-02 16:12:30 +00:00
Florian Krohm
83e28c9beb Fix accounting for MC_(realloc). It was inconsistent as compared to
other wrappers in that it took place before the silly-args check. 
Testcase and patch by Yann Droneaud (yann@droneaud.fr).
Fixes #281482

Also included is a related fix to MC_(new_block). Incrementing the
alloc counter and updating the allocated memory amount should
occur under the same condition (allocation succeeded).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12324
2011-12-30 03:09:45 +00:00
Dirk Mueller
dc3e2bece3 add support for glibc 2.15
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12323
2011-12-29 08:24:55 +00:00
Philippe Waroquiers
225138a663 Avoid buffer overrun in percentify call.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12322
2011-12-27 18:43:32 +00:00
Bart Van Assche
a40eb02829 Spelling fix
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12321
2011-12-27 09:14:50 +00:00
Philippe Waroquiers
2d4970f494 Small doc changes:
* In core advanced manual, replace 3.7.0 by current release.
* cleanup in m_gdbserver/README_DEVELOPPERS



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12320
2011-12-27 09:03:36 +00:00
Philippe Waroquiers
09a83b50db fix 289699 vgdb connection in relay mode erroneously closed due to buffer overrun
* use PBUFSIZ+1 for buffers reading characters from gdbserver:
  vgdb reads up to PBUFSIZ characters from gdbserver.
  If vgdb receives a burst of packet from Valgrind gdbserver, PBUFSIZ
  characters can be read. The tracing code adds a trailing \0 to
  this buffer => to avoid buffer overrun, the buffers are dimensionned
  with PBUFSIZ+1.
* use read_buf in function read_char, rather than directly calling read.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12319
2011-12-26 21:21:37 +00:00
Florian Krohm
55996ac099 While investigating whether bugzilla #286040 was a problem or
not (it's not) I noticed that the code was more complex than
it needed to be. So this patch simplifies it a little.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12318
2011-12-26 18:35:29 +00:00
Florian Krohm
1abcf9f6e0 When reading a decimal value consume decimal digits, not hexdigits.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12317
2011-12-26 18:30:18 +00:00
Florian Krohm
b8466723cd Beef up VG_(strerror) to provide correct messages for the
errno codes in asm-generic/errno-base.h (on linux). 
The error strings were obtained by calling strerror natively in
Linux. 
Extend vki-linux.h accordingly. vki-darwin.h already had
those errno codes.
Add testcase. This fixes #287858.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12316
2011-12-24 21:50:53 +00:00
Philippe Waroquiers
c953f410c8 Fix 247386 make perf does not run all performance tests :
* move memcheck/perf/many-loss-records test to perf directory
       massif/perf/many-xpts test to perf directory
* modified many-loss-records.vgperf and many-xpts.vgperf,
  so as to have tool specific options prefixed with their tool
* remove directory memcheck/perf and massif/perf (containing no test anymore)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12315
2011-12-23 11:42:20 +00:00
Philippe Waroquiers
e52f0e1de0 * none/tests/linux/mremap3.vgtest : new test
mremap3.c based on testcase provided by Jan Engelhardt
* coregrind/m_syswrap/syswrap-generic.c
  - The two 'no-thrash checks' that were introduced to fix bug #129866
    were (probably) broken when adress space manager was reworked.
    The new VG_(am_get_advisory_client_simple) returns NULL for a free
    segment, but the check was based on checking not NULL and then
    that the state is free.
    => replaces these two local checks by a call to the new
    am Bool VG_(am_covered_by_single_free_segment) function.

* coregrind/pub_core_aspacemgr.h
  coregrind/m_aspacemgr/aspacemgr-linux.c
  - new function Bool VG_(am_covered_by_single_free_segment)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12314
2011-12-22 13:25:58 +00:00
Philippe Waroquiers
6718c5142d Updated NEWS (set next version to 3.8.0, added 286270 to fixed bugs+reordered)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12313
2011-12-19 11:03:07 +00:00
Bart Van Assche
2e744a997a DRD: revert r12308 because it didn't help
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12312
2011-12-17 15:18:20 +00:00
Bart Van Assche
571ec74b4e DRD: add two ppc output variants
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12311
2011-12-17 14:18:25 +00:00
Bart Van Assche
1351e4ccc9 DRD, load/store tracing: avoid evaluating the address expression twice
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12310
2011-12-17 12:59:45 +00:00
Bart Van Assche
630f8b2e62 Add a configure test for detecting whether gcc supports atomic operations on
64-bit integers on 32-bit platforms. Apparently newer gcc versions support
this but older versions not. Thanks to Philippe Waroquiers for reporting this.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12309
2011-12-17 12:53:23 +00:00
Bart Van Assche
ce0fb977a7 DRD: Suppress uninteresting races triggered by the dynamic loader
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12308
2011-12-14 20:05:51 +00:00
Bart Van Assche
77fa5bdd2e drd/tests/Makefile.am: update EXTRA_DIST
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12307
2011-12-14 07:30:05 +00:00
Bart Van Assche
c1cd140d3b Update Subversion ignore list
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12306
2011-12-14 07:13:06 +00:00
Bart Van Assche
09bb951cba drd --trace-addr: make tracing 64-bit values on a 32-bit platform work
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12305
2011-12-13 11:12:05 +00:00
Bart Van Assche
5bf8c1dd8c DRD, --trace-addr: enable support for Ity_F32 and Ity_F64 / temporarily disable support for 64-bit CAS on 32-bit platforms
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12304
2011-12-13 08:53:23 +00:00
Bart Van Assche
80dda4d67f DRD: Eliminate a temporary variable
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12303
2011-12-13 08:05:07 +00:00
Bart Van Assche
423f1528c4 drd/tests/annotate_trace_memory*: add 32-bit output variants
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12302
2011-12-13 07:52:09 +00:00
Bart Van Assche
7194e38b85 drd/tests/pth_cleanup_handler: increase timeout
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12301
2011-12-13 07:49:30 +00:00
Bart Van Assche
bbc7e3587a DRD: rearrange the definition of u_widen_irop[][]
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12300
2011-12-12 19:54:32 +00:00
Bart Van Assche
665a9dde08 Update Subversion ignore list
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12299
2011-12-12 19:37:48 +00:00
Bart Van Assche
f828c246a6 DRD: make the tracing regression test more complete
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12298
2011-12-12 19:37:10 +00:00
Bart Van Assche
552758fd18 DRD: Make the code for instrumenting store operations more robust
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12297
2011-12-12 19:18:26 +00:00
Bart Van Assche
ba63c7e3d6 drd.h: Add macro DRD_STOP_TRACE_VAR(). To do: update manual
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12296
2011-12-12 19:04:28 +00:00
Bart Van Assche
98a4b64227 DRD: make DRD_(stop_tracing_address_range)() work at an acceptable speed
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12295
2011-12-12 19:02:34 +00:00
Bart Van Assche
97947a4a20 DRD help text: remove a superfluous dot
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12294
2011-12-12 15:49:00 +00:00
Bart Van Assche
f7fb5bb661 Remove trailing whitespace
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12293
2011-12-11 20:34:03 +00:00
Bart Van Assche
7578df74d8 Disable drd/tests/std_thread until libstdc++ gets fixed (see also http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51504).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12292
2011-12-11 20:30:46 +00:00
Bart Van Assche
606de3587f DRD: Make --trace-addr work for atomic loads and stores. To do: update manual
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12291
2011-12-11 20:17:57 +00:00
Bart Van Assche
ffcd373429 DRD, --trace-addr: trace stored values too
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12290
2011-12-11 18:49:39 +00:00