Commit Graph

9752 Commits

Author SHA1 Message Date
Philippe Waroquiers
6c471293d4 Fix 308711 - give more info about aspacemgr and arenas in out_of_memory
In case of out of memory, Valgrind will output
the state of the address space manager and of the arena.
Then it will output a message to inform the user about the out of memory.

In case out of memory happens again while outputting the aspacemgr
or arena info, then another trial is done to only output the user msg.




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13077
2012-10-21 21:03:11 +00:00
Philippe Waroquiers
b83003a1e0 restructure code for future fixing of 123837 (semctl GETVAL false positive)
Regrouped identical code (except for indentation)
from syswrap-ppc64-linux.c, syswrap-ppc32-linux.c,syswrap-mips32-linux.c
  syswrap-x86-linux.c, syswrap-s390x-linux.c
into
  syswrap-linux.c

(compiled/regtested on x86, amd64, ppc64, mips32, s390x)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13076
2012-10-21 20:21:17 +00:00
Florian Krohm
a74d1dcf0e Fix memory leak.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13075
2012-10-21 19:58:04 +00:00
Florian Krohm
79b79d6388 First round of Char/HChar fixups for coregrind and memcheck.
Little bit of ripple in tools, too.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13074
2012-10-21 19:43:43 +00:00
Philippe Waroquiers
979dc8596b Introduce a test to reproduce bug 123837 (semctl GETVAL false positive)
The test succeeds on amd64, but fails on x86, with the following diff:

+Syscall param semctl(arg) points to uninitialised byte(s)
+   at 0x........: semctl@@GLIBC_2.2 (semctl.c:109)
+   by 0x........: main (sem.c:36)
+ Address 0x........ is on thread 1's stack
+
+Syscall param semctl(arg) points to uninitialised byte(s)
+   at 0x........: semctl@@GLIBC_2.2 (semctl.c:109)
+   by 0x........: main (sem.c:43)
+ Address 0x........ is on thread 1's stack
+



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13073
2012-10-21 18:46:09 +00:00
Philippe Waroquiers
0df0a2725c Fix 308644 vgdb command for having the info for the track-fds option
(allows to have the list of opened fds and the associated info
on request from GDB or from the shell, using vgdb)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13072
2012-10-21 14:37:14 +00:00
Florian Krohm
2ec0ec9bb0 First round of Char/HChar fixes for memcheck.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13071
2012-10-21 03:43:20 +00:00
Florian Krohm
1f7fdd4b26 Fix Char/HChar mixups in helgrind and then some.
Also fix all usages of the wordFM data structure. Once upon a time
wordFM used Words but now it uses UWords.
Likewise for WordBag.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13070
2012-10-21 03:23:36 +00:00
Florian Krohm
becb3e5032 Fix a few Char/HChar mixups in callgrind.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13069
2012-10-21 02:55:56 +00:00
Florian Krohm
4d2d9aca2d Fix a few Char/HChar mixups for cachegrind.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13068
2012-10-21 02:39:42 +00:00
Florian Krohm
51ea2ef441 Fix a few compiler warnings.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13067
2012-10-21 02:30:18 +00:00
Florian Krohm
4c9f59671e Followup to constification of VEX's external interface (VEX r2555).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13066
2012-10-21 02:19:35 +00:00
Florian Krohm
9165e36246 First round of Char/HChar fixups for massif
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13065
2012-10-20 19:57:16 +00:00
Florian Krohm
2d248fcd2e Add a FIXME
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13064
2012-10-20 19:52:14 +00:00
Florian Krohm
2154a2cde6 exp-dhat Char/HChar fixes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13063
2012-10-20 19:34:13 +00:00
Florian Krohm
d05961d0bd Char/HChar fixes for lackey.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13062
2012-10-20 19:30:54 +00:00
Florian Krohm
aa4402ac0c The listener does not use VEX types anywhere else. So this
change fixes the copy-and-pasted panic functions to use
native C types.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13061
2012-10-20 19:28:13 +00:00
Philippe Waroquiers
3ba803f746 Follow-up to cache reorg: update trace cache warning
Update trace cache warning so that it is the same as before the cache reorg
(avoid failure of some tests on Pentium4 as the warning output
must match what is filtered by cachegrind/tests/filter_stderr)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13060
2012-10-20 17:18:35 +00:00
Petar Jovanovic
d38c7c3e17 Add a proper support for several MIPS instructions that generate SigFPE.
Add support to properly handle TEQ, ADD and SUB instructions that generate
exceptions on MIPS platforms. A SignalException test for MIPS32 has also been
added, so we can cover more cases.

This resolves:

none/tests/faultstatus
gdbserver_tests/mcsignopass
gdbserver_tests/mcsigpass


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13059
2012-10-19 14:45:17 +00:00
Florian Krohm
8a6563f826 Issue warning about missing L2 cache only if there are any
caches in the first place.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13058
2012-10-19 03:20:37 +00:00
Florian Krohm
d735bc96be Fix some Char/HChar mixups in exp-bbv
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13057
2012-10-18 03:50:57 +00:00
Florian Krohm
2546adef8a Fix a few Char/Hchar mixups in exp-sgcheck.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13056
2012-10-18 03:46:42 +00:00
Florian Krohm
792e08a5ce Fix VG_(cpuid) invocations.
Also call cache_info_is_sensible. I forgot to do that in r13053.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13055
2012-10-18 03:33:05 +00:00
Florian Krohm
5371dd0942 Fix some prototypes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13054
2012-10-18 03:17:32 +00:00
Florian Krohm
52cb6c14fa Change cache detection for x86/amd64 to fill in VexCacheInfo directly.
New function write_cache_info to dump what was detected for debugging
purposes. 
New function cache_info_is_sensible to ensure that autodetected
cache info lives up to the promises made in libvex.h.
Moved the trace-cache related kludgery to cachegrind where it belongs.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13053
2012-10-18 03:16:45 +00:00
Philippe Waroquiers
aff39b640c Fix 308341 vgdb should report process exit (or fatal signal)
patch from Mark Wielaard.
(with small modifications).
Also clarified some comments related to the resume reply.




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13052
2012-10-17 21:32:03 +00:00
Florian Krohm
c5b4ed0c1c Update list of ignored files.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13051
2012-10-16 01:27:54 +00:00
Bart Van Assche
109e687afd xen: include arg struct field names when marking memory as read.
Makes it easier to figure out what was not initialised.

Thanks, once again, to Julien Grall.

From: Ian Campbell <ian.campbell@citrix.com>


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13050
2012-10-15 18:46:08 +00:00
Bart Van Assche
af89e2e88a xen: Remove cast of ARG* to unsigned int before pointer conversion.
This is pretty dodgy on 64 bit systems.

Thanks to Julien Grall.

From: Ian Campbell <ian.campbell@citrix.com>


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13049
2012-10-15 18:45:28 +00:00
Bart Van Assche
c38ab89684 xen: adding missing break.
Thanks to Julien Grall.

From: Ian Campbell <ian.campbell@citrix.com>


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13048
2012-10-15 18:44:59 +00:00
Bart Van Assche
9a26cdcfce xen: Useful messages for sys/domctl interface_version mismatch
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13047
2012-10-15 18:44:18 +00:00
Christian Borntraeger
b46ca4108e add vgtest file
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13046
2012-10-15 14:21:22 +00:00
Christian Borntraeger
a89f3defe1 make use of opcodes.h. The is part of extended immediate facility
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13045
2012-10-15 14:20:46 +00:00
Christian Borntraeger
37009382a6 Add testcase for checking the ltg + jhe handling
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13044
2012-10-15 14:01:31 +00:00
Philippe Waroquiers
bc8e05a56e fix 308321 testsuite memcheck filter interferes with gdb_filter
Patch from Mark Wielaard.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13043
2012-10-14 18:16:41 +00:00
Florian Krohm
a5928d2ac8 Fix some more Char / HChar mixups
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13042
2012-10-14 16:45:23 +00:00
Florian Krohm
0631f08e48 Update list of ignored files.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13041
2012-10-14 16:43:45 +00:00
Florian Krohm
4d1f391529 Fix compile errors following function prototype change.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13040
2012-10-14 02:58:42 +00:00
Florian Krohm
786e11050a Char/ HChar cleanup: The various panic and printf-like functions
all take const HChar * arguments.
__FILE__ and __func__ expand into string literals (or character 
arrays initialised by them), as do strings created by the preprocessor 
e.g. #stuff.
This change reduces the number of warnings from 17000+ to ~5500


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13039
2012-10-14 00:16:28 +00:00
Julian Seward
21d3562b02 Rough initial triage for bugs that appeared in the past month or so.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13038
2012-10-12 22:49:50 +00:00
Philippe Waroquiers
3d14e1d1d7 Some wrong options silently ignored if starting with same letters as valid option
For example, options below are silently "accepted"+ignored:
  valgrind --profile-heaps=yes --max-stackframes=35 memcheck/tests/trivialleak
  valgrind --profile-heaps=oui --max-stackframes=3.141592654 memcheck/tests/trivialleak

Also fixed the on-line --help output for option --core-redzone-size



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13037
2012-10-12 21:46:55 +00:00
Julian Seward
ddbc41e9fb Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13036
2012-10-11 16:57:27 +00:00
Christian Borntraeger
1a3b5409fc newer versions of devel headers expose CLONE flags only with _GNU_SOURCE
defined


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13035
2012-10-08 20:35:13 +00:00
Christian Borntraeger
9a8022279b fix parent and child tid pointer mixup:
The linux kernel has parent tid pointer first.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13034
2012-10-08 20:26:48 +00:00
Petar Jovanovic
110060a9d2 Fix syntax error from r13028.
Typo in r130128 broke the build on MIPS arch.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13033
2012-10-08 10:07:08 +00:00
Florian Krohm
83fbb427ee s390: Consolidate information about caches for older machines levels.
Unfortunately, there is only incomplete L2 data.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13032
2012-10-08 00:09:22 +00:00
Florian Krohm
7d59048401 This is the 2nd installment of the cache info reorganisation.
The host's VexArchInfo is passed to the tool instrumentation
functions. Purely mechanic patch.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13031
2012-10-07 21:59:42 +00:00
Florian Krohm
bd10a6b0f9 Use last-level cache for simulation. Even if there are more than
3 cache levels. Update documentation.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13030
2012-10-07 21:03:27 +00:00
Florian Krohm
0d5a9a3523 Fix compile error on ppc. Followup to r13028
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13029
2012-10-07 20:27:38 +00:00
Florian Krohm
a9b2103cf2 This patch is the first installment of the cache info reorganisation.
It's reorg only. No new cache autodetection stuff has been added.

coregrind
pub_tool_cpuid.h is removed as it is no longer exposed to tools.
Its contents has moved to pub_core_cpuid.h.
New file: coregrind/m_cache.c to contain the autodetect code for
cache configurations and define other cache characteristics that
cannot be autodetected (i.e. icaches_maintain_coherence). Most of 
cg-arch/x86-amd64.c was moved here. The cache detection code for
x86-64 needs to be fixed to properly initialise VexCacheInfo. It
currently has cachegrind bias.
m_cache.c exports a single function (to coregrind): 
   VG_(machine_get_cache_info)(VexArchInfo *vai)
This function is called from VG_(machine_get_hwcaps) after hwcaps have
been detected.

cachegrind
Remove cachegrind/cg-{ppc32,ppc43,arm,mips32,s390x,x86-amd64}.c
With the exception of x86/mamd64 those were only establishing a
default cache configuration and that is so small a code snippet that
a separate file is no longer warranted. So, the code was moved to
cg-arch.c. Code was added to extract the relevant info from 
x86-amd64.
New function maybe_tweak_LLc which captures the code to massage the
LLc cache configuration into something the simulator can handle. This
was originally in cg-x86-amd64.c but should be used to all architectures.
Changed warning message about missing cache auto-detect feature
to be more useful. Adapted filter-stderr scripts accordingly.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13028
2012-10-07 19:47:04 +00:00