memcheck:Addr4
Changed the `name' need of the memcheck skin from "valgrind" to "memcheck" for
this. But the name Valgrind will return when I print core and skin names in
the startup message.
One issue is that some skins share suppression types, eg. memcheck and
addrcheck. Might be useful to allow multi-skin suppressions, viz:
memcheck,addrcheck:Addr4
This won't be too hard to tack on, though.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1163
[re the ELF symbol reader]
This patch tries to exploit the dynamic symbols of a library if the
standard and debug symbols are missing.
This way, I avoid the "object doesn't have a symbol table message"
message and valgrind is able to print meaningful backtraces (else you
have only "in libsomelib.so"), even in the case of stripped libs.
Since the check of the .dynsym/.dynstr sections is done before the
.symtab/.strtab sections, the previous behavior is preseved for
unstripped libraries.
MERGE TO STABLE (if it doesn't cause probs with suppression files)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1161
vg_libpthread.c:1550: warning: weak declaration of `write' after
first use results in unspecified behavior
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1149
for .S files. Possibly due to the presence of the following on this dist:
autoconf (GNU Autoconf) 2.53
automake (GNU automake) 1.6.3
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1148
- New core uinstrs, GETSEG, PUTSEG (save and restore segment regs)
- New core uinstr USESEG, which takes a segment selector and a
virtual address, and returns a linear address -- and also does
a limit check. This calls through to VG_(use_ldt) in vg_ldt.c.
- Insn parser (disAMode) made aware of segment override prefixes
- Obvious fixes to insn emitter and translators
None of the skins understand these new uinstrs, so only --skin=none
works with them at the mo. This and some other rough edges still
need to be fixed.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1139
- added some missing SUBDIRS variables
- removed unnecessary coregrind/demangle/ from some INCLUDES lists
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1137
use_under_scores instead, to be consistent.
Also added some missing 'extern's on function declarations in vg_skin.h.
Also added a quick note in vg_regtest.in on the simplest way to run regression
tests.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1135
LDTs and __NR_modify_ldt.
- Each thread has its own LDT. Usually NULL, but if we need to
change an entry, it is allocated. LDTs are inherited from parents
as one would expect.
- We intercept __NR_modify_ldt and update the calling thread's LDT
accordingly. This is done in coregrind/vg_ldt.c. The kernel
never sees these syscalls.
- New architectural state for %cs, %ss, %ds, %es, %fs and %gs.
Probably overkill including %cs and %ss. These are saved and
restored in the usual way, _except_ at syscalls -- there's no
point, since we are hiding all LDT operations from the kernel now.
This does assume that no syscall implicitly looks at the
segment registers, but I think that's safe.
Still only halfway there. JITter is still unaware of seg regs
and override prefixes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1133
an example skin which is referred to in the documentation, and is designed to
be a template which can be copied.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1122
the `valgrind' script is kept, so people who install valgrind in a directory
other than the one I do don't need to use the --valgrind option all the time.
As a consequence, vg_regtests is now installed in and run out of bin/, rather
than tests/.
Also added a GPL copyright notice to vg_regtests.in.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1118
--dev, because the old ones were now totally confusing (since --head no longer
applies to HEAD). Had to change a couple of .vgtest "vgopt:" lines for this.
Unfortunately the --stable result files are still *.stderr.exp.hd" because
changing them via CVS is a pain.
Also improved documentation in script slightly.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1117
valgrind's strcmp() implementation (to clients) treats char as signed
whereas the libc implementation it replaces treats char as unsigned.
Fix! God knows how anything much ever worked before now.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1115
Add as many suppressions as I reasonably can for SuSE 8.1. There's
still a lot of junk, but that can only be fixed by a more direct
tackling of gcc-3.2's bad habits.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1112
Fix stupid bug in which vg_push_signal_frame/vg_pop_signal_frame assumed
that the handler wouldn't change the signal-number parameter it was passed.
Fixes this:
vg_signals.c:1065 (vgPlain_signal_returns):
Assertion `sigNo >= 1 && sigNo <= 64' failed.
and possibly arbitrary other mutancy in the signal handling too.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1111
the head, but still ..)
Source is .tar.bz2 not .tar.gz
Added cachegrind and vg_annotate to the spec file, as suggested by
Rafael Garcia-Suarez <rgarciasuarez@free.fr>.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1110