Commit Graph

313 Commits

Author SHA1 Message Date
Philippe Waroquiers
ab2d33788e fix n-i-bz report error for vgdb snapshot requested before execution
Massif does not accept to take snapshots of heap before execution has started.
So, if such a snapshot is requested (using vgdb and option --vgdb-error=0),
then such a snapshot must be refused rather than causing an assert.
(problem reported by dark_footix@yahoo.fr)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13015
2012-09-24 21:50:16 +00:00
Philippe Waroquiers
8783c37469 fix 307155 filter_gdb should filter out syscall-template.S T_PSEUDO
With some glibc version (e.g. on fedora 16), gdb output contains
a line with T_PSEUDO which should be filtered out.

Patch from Mark Wielaard.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13013
2012-09-24 21:12:41 +00:00
Julian Seward
e154c80dc7 Update for 3.8.1.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12993
2012-09-18 07:03:27 +00:00
Julian Seward
9fe672c880 Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12989
2012-09-17 18:20:29 +00:00
Florian Krohm
a81c8362b1 Be more flexible by allowing the compile command to be prefixed,
e.g. ccache gcc whatever... This fixes bugzilla #252955.
Patch from  Stephen McCamant <smcc@CS.Berkeley.EDU>.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12977
2012-09-15 19:31:07 +00:00
Florian Krohm
f9979eceb1 Adjust the vbit tester to deal with shift operations that require
an immediate constant as the shift amount. This is needed for
powerpc Iop_ShlD64 etc. What it basically means that we do not
iterate over the bits in the 2nd operand because there are no
V-bits to set. An immediate constant is always completely defined.
Fixes bugzilla #305948.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12969
2012-09-13 19:41:12 +00:00
Philippe Waroquiers
8d4c0e4bd6 Fix 306310 3.8.0 release tarball missing some files
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12964
2012-09-11 19:53:01 +00:00
Florian Krohm
70e9281359 Announce bug fix in NEWS.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12959
2012-09-06 03:26:50 +00:00
Julian Seward
b6ba46da9f Update, tracking merged-to-3_8 fixes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12952
2012-09-03 07:24:30 +00:00
Julian Seward
1b4716e7ef Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12950
2012-09-02 21:53:17 +00:00
Julian Seward
68b4677093 Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12949
2012-09-02 21:20:27 +00:00
Julian Seward
2c4e12fe8c Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12925
2012-09-01 20:33:46 +00:00
Florian Krohm
888f755cc5 Mark two fixes for s390x as [390] because they weren't fixed for 3.8.0
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12924
2012-09-01 20:23:59 +00:00
Florian Krohm
1229190124 s390: Valgrind-side changes to fixing bugzilla #274695:
Testcase, vbit tester update, memcheck support for the new IROps,
NEWS announcement and opcode list update.
Patch by Christian Borntraeger (borntraeger@de.ibm.com).
Vbit tester tweaks by myself.
Fixes bugzilla #274695.
See also companion patch VEX r2496.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12921
2012-09-01 00:15:45 +00:00
Florian Krohm
16690f1ef5 s390: Add testcase for the ecag insn. Based on patch by
Divya Vyas (divyvyas@linux.vnet.ibm.com). Update opcode list.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12903
2012-08-26 19:05:06 +00:00
Julian Seward
cff91df676 Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12895
2012-08-24 16:53:02 +00:00
Julian Seward
c0e616b65f Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12890
2012-08-24 00:06:17 +00:00
Philippe Waroquiers
3abbddda09 fix 301281 valgrind hangs on OS X when the process calls system()
After looking more in depth, gdbserver must not be terminated
in PRE(posix_spawn) on MacOS: this is running in the parent and
(on MacOS) is a single syscall similar to a fork+exec.
On linux, posix_spawn is implemented using 2 syscalls
(fork followed by exec).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12882
2012-08-20 09:27:15 +00:00
Philippe Waroquiers
32fe40711e fix n-i-bz vgdb ptrace calls wrong on mips, causing blocked syscalls to fail
(patch from Petar Jovanovic).

The mips specific code of vgdb.c was storing the arguments
at wrong places in the ptrace setreg. This caused the blocked syscall(s)
to return with an error rather than to be properly restarted.
With this commit, the gdbsrv tests are not blocking anymore
with Valgrind mips32 running on mips64 GNU/Linux.
vgdb is believed to be functional, even if process is blocked in a syscall.

The following tests are still failing
gdbserver_tests/mcbreak                  (stdout)
gdbserver_tests/mcbreak                  (stdoutB)
gdbserver_tests/mcbreak                  (stderrB)
gdbserver_tests/mcsignopass              (stderr)
gdbserver_tests/mcsignopass              (stdoutB)
gdbserver_tests/mcsigpass                (stderr)
gdbserver_tests/mcsigpass                (stdoutB)
gdbserver_tests/nlcontrolc               (stdoutB)
gdbserver_tests/nlsigvgdb                (stderr)
gdbserver_tests/nlsigvgdb                (stderrB)

Of the above, nlsigvgdb failure is still strange.
Others looks like "normal" differences due e.g. to mips specific gdb
behaviour and/or none/tests/faultstatus (re-used in gdbsrv tests)
behaving differently on mips.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12881
2012-08-18 11:06:04 +00:00
Philippe Waroquiers
1a7c864141 Document in NEWS the fix committed in revision 12879.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12880
2012-08-18 10:02:32 +00:00
Philippe Waroquiers
0b5f81bfd3 Fix n-i-bz shmat of a segment > 4Gb does not work
Problem was created by get_shm_size returning an UInt rather
than a SizeT.

see http://sourceforge.net/mailarchive/message.php?msg_id=29682827



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12874
2012-08-16 19:40:52 +00:00
Julian Seward
01ac70be21 --> 3.8.0 final
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12866
2012-08-09 15:06:36 +00:00
Julian Seward
99606c64bf --> 3.8.0-TEST3
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12865
2012-08-08 23:35:35 +00:00
Julian Seward
ccc74aefd3 Move older news into its own file, NEWS.old, so as not to overrun TeX
default memory limits when building the PDF docs.  Fixes #304754.
(Mark Wielaard, mjw@redhat.com)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12863
2012-08-08 20:38:03 +00:00
Julian Seward
c95b63f309 Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12862
2012-08-08 20:21:29 +00:00
Julian Seward
32341bb18b --> 3.8.0-TEST1
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12858
2012-08-07 15:24:51 +00:00
Julian Seward
95ce4a01e8 Fix some typos.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12856
2012-08-07 14:54:17 +00:00
Florian Krohm
f1d7df01e1 Add a testcase for the cu41 insn. Update opcode list, NEWS and bugstatus.
#289839 is finally fixed.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12851
2012-08-06 00:10:53 +00:00
Philippe Waroquiers
4020897fcf fix typo in NEWS (due to via => due to)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12850
2012-08-05 21:35:02 +00:00
Philippe Waroquiers
1e9e94c00c typo ('the the')
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12849
2012-08-05 17:37:39 +00:00
Philippe Waroquiers
80ac8673ac fix typo (improvment)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12848
2012-08-05 17:35:17 +00:00
Julian Seward
06229756f4 A couple more 3.8.0 changes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12845
2012-08-05 16:14:02 +00:00
Julian Seward
6e0f21fe7e First pass at assembling the top level change list for 3.8.0. So,
what did I forget?


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12842
2012-08-05 15:24:12 +00:00
Julian Seward
a2d9bc08aa Partial tidying up for 3.8.0 (sort list of bugs into order, and make pretty)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12840
2012-08-05 14:57:38 +00:00
Philippe Waroquiers
ab7b338320 301265 - add x86 support to Android build
Patch by Dragos Tatulea.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12835
2012-08-05 00:08:25 +00:00
Bart Van Assche
ec3b6103c9 NEWS, drd: List new features first
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12830
2012-08-04 09:19:11 +00:00
Philippe Waroquiers
908e656944 Remove 284540 from NEWS fixed section.
284540 was not about performance but about the presentation
of results.
Revision 12824 (optimising the suppr matching) should not have
marked 284540 as fixed.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12829
2012-08-04 09:08:50 +00:00
Julian Seward
b97cf6bd7b Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12828
2012-08-04 08:41:44 +00:00
Philippe Waroquiers
08c619389b fix 284540 (optimise suppression matching)
Before this patch, matching an error stack trace with many suppression
patterns was implying to repeating the translation of the IPs of the
stack trace to the function name or object name for each suppr pattern.

This patch introduces a "lazy input completer" in the generic match
so that an IP is (in the worst case) translated once to its function
name and once to its object name.

It is a "lazy" completer in the sense that only the needed IP to fun or obj
name are done.

On a artificial test case, has given a factor 3 in performance.
On another big (real) application, gave a factor 2 to 3.
(there was less matching to do, but probably more debug info to search).

match-overrun.supp completed to have non matching suppr first to
better exercise the lazy completer.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12824
2012-08-03 23:11:39 +00:00
Tom Hughes
a5ee19625f Add BZ#304054 to NEWS.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12812
2012-08-02 09:26:38 +00:00
Philippe Waroquiers
36ca11463d Remove --vex-iropt-precise-memory-exns, implement --vex-iropt-register-updates
* Option --vex-iropt-precise-memory-exns has been removed.
  It is replaced by --vex-iropt-register-updates which accepts
  3 values : 'unwindregs-at-mem-access' (replacing
  --vex-iropt-precise-memory-exns=no), 'allregs-at-mem-access'
  (replacing --vex-iropt-precise-memory-exns=yes)
  and a new value 'allregs-at-each-insn'.
  'allregs-at-each-insn' allows the Valgrind gdbserver to always
  show up to date values to GDB.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12809
2012-08-01 22:03:12 +00:00
Philippe Waroquiers
d045b4236a Implement --redzone-size and --core-redzone-size
* For tools replacing the malloc library (e.g. Memcheck, Helgrind, ...),
  the option --redzone-size=<number> allows to control the padding 
  blocks (redzones) added before and after each client allocated block.
  Smaller redzones decrease the memory needed by Valgrind. Bigger
  redzones increase the chance to detect blocks overrun or underrun.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12807
2012-07-31 22:17:28 +00:00
Bart Van Assche
e0b75e7c95 Spelling fixes: developpers -> developers; curiosly -> curiously
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12798
2012-07-28 13:06:45 +00:00
Philippe Waroquiers
f5a8694d7b clarify 2 NEWS entries to indicate that these are for tool developpers.
(NB: I am wondering if these entries should be put in NEWS at all.
Is NEWS targetted at end users only ?
Or at "tool developper users also' ?)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12796
2012-07-28 12:23:48 +00:00
Josef Weidendorfer
6eaedfc09e Added fixed bug 303963
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12782
2012-07-25 12:13:29 +00:00
Julian Seward
ffcff15682 Partial update of bug fixes (I think it is still out of date though.)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12781
2012-07-25 11:02:01 +00:00
Petar Jovanovic
2d29e458d5 Include news about supporting MIPS32/Linux in NEWS file.
PLATFORM CHANGES section has been appended with news for MIPS32/Linux support.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12761
2012-07-19 15:54:02 +00:00
Philippe Waroquiers
964de45da8 Fix 303624 segmentation fault on Android 4.1 (e.g. on android emulator or Galaxy Nexus OMAP)
Valgrind was crashing systematically on Android 4.1.
This crash is caused by AT_IGNORE-ing AT_BASE.
This AT_IGNORE was needed to have breakpoints in shared libs
be handled properly (not very clear what is the problem
in the interaction between Valgrind GDBSERVER, AT_BASE and GDB).
Waiting to better understand all this, as a temporary bypass,
this patch ensures we do not ignore the AT_BASE on android.

The possible consequence is that breakpoints might be inserted
by the Valgrind gdbserver at wrong addresses in shared lib.
(any feedback on that is welcome).

Valgrind was build and then "proved" to work on Android emulator 4.0
and emulator 4.1, by using memcheck on one executable.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12758
2012-07-18 23:01:02 +00:00
Philippe Waroquiers
d861050c71 Be slightly less precise on the leak check perf. improvement in NEWS
(as this 40% is only a measurement of one perf program on amd64).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12757
2012-07-18 22:36:37 +00:00
Philippe Waroquiers
67f15ef871 patch that improves the speed of the leak search by up to 40% (on amd64)
Scanning 1GB of random values made of 200_000 malloc-ed block is
(on amd64) changing from (about) 17 seconds to (about) 10 seconds.

On x86, it goes from 153 seconds to 129 seconds.

(this huge difference between x86 and amd64 leak search time
for this random test is because a random value has about one chance
on 4 to be in the addressable memory on x86 and so the dichotomic
search in the list of malloc-ed blocks is called for a lot more
values than on amd64).

Basically, there are 3 optimisations:
1. call MC_(is_within_valid_secondary) only at the beginning of a
   secondary map (and not for each Word).
2. call SETJMP only at the beginning of a page (and not for each Word)
3. Validate an aligned word using get_vabits8 rather than get_vabits2.

Each of the above optimisation more or less improves by 2 seconds.
(to go from 17 seconds to 10 seconds).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12756
2012-07-18 22:26:51 +00:00