the opportunity to move the handlers from syswrap-generic.c (which
they certainly aren't) to syswrap-linux.c. Fixes#175044.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8769
a file, first the mapping permissions _before_ peering at the file's
header, rather than afterwards. This changes the logic to behave more
like it does in 3.3.x. Fixes#164669, although really it is all still
rather fragile. The bug report,
http://bugs.kde.org/show_bug.cgi?id=164669, contains a detailed
explanation.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8747
* Allow frame-level wildcarding in suppressions. Based on a patch by
Akos PASZTORY. Fixes#151612. With this change, a line "..." in a
suppression stacktrace matches any number of frames, including zero.
* Show line numbers in syntax errors when parsing supp files.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8725
forgotten about in r8710. This should _really_ make the revised
demangler independent of any system installed libiberty.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8714
minor changes to make stack unwinding on amd64-linux approximately
twice as fast as it was before.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8707
20081017 (experimental): accept DW_TAG_enumerator with only a
DW_AT_name but no DW_AT_const_value. This is in violation of the
Dwarf3 standard.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8700
uninitialised in get_sem_count(). This makes it quiet. I am not sure
whether get_sem_count() was correct or not without it (probably was
OK).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8697
represent the sizes of types, even on 32-bit hosts, where a type with
a size >= 2^32 is, well, if not meaningless, then at least impossible
to instantiate. This is of course motivated by reality .. on ppc32
SUSE11.0, the debuginfo for glibc-2.8 appears to contain a declaration
amounting to
char __EH_FRAME_BEGIN__ [4294967296]
Really.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8683
searches through all live Segs and replace it with one which is O(log
N) in the number of live Segs.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8676
tools.
- Factor out 'execv' from 'system' and expose it to tools.
Partly based on a patch from Robert O'Callahan.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8669
make realloc(NULL, size) behave like malloc(size), and make
realloc(ptr, 0) behave like free(ptr), as the real libc realloc does.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8666
relatively minor extensions to m_debuginfo, a major overhaul of
m_debuginfo/readdwarf3.c to get its space usage under control, and
changes throughout the system to enable heap-use profiling.
The majority of the merged changes were committed into
branches/PTRCHECK as the following revs: 8591 8595 8598 8599 8601 and
8161.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8621
try and reduce its space consumption. This change changes some long
linked lists into XArrays instead.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8540
variable & type reader dying on gcc-4.3.x produced Dwarf3. This is
done by handling DW_TAG_class_type and treating it the same as
DW_TAG_structure_type. I don't know if this is really correct or not.
This reader is still grossly inefficient in terms of space use, and
could be majorly improved, by storing information in arrays rather
than in linked lists with (sometimes) more than 5 million elements.
But this will have to wait.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8534
helgrind/ into the core. It's just too darn useful to not be in the
core. There is some overlap in functionality between OSet and WordFM,
but OSet is more space efficient in some circumstances, whereas WordFM
is easier to use and a bit more flexible in some cases.
Also in this new module (m_wordfm) is a type WordBag, build on top of
WordFM. This provides Multiset of UWords functionality.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8524
family of syscalls is impossible to write in a way that's portable and
correct. On some targets (eg x86-linux) you need to do sys_stat64 and
receive the results in a 'struct vki_stat64'. But on other targets
(eg amd64-linux) neither sys_stat64 nor 'struct vki_stat64' exist.
This commit adds a new type, 'struct vg_stat', which contains 64 bit
fields in all the right places, and makes VG_(stat) and VG_(fstat) use
it. This means callers to the two functions no longer need to worry
about the is-it-64-bit-clean-or-not question, since these routines
reformat the received data into a'struct vg_stat'. Kind of like what
glibc must have been doing for decades.
This (indirectly) fixes a bug on x86-linux, in which m_debuginfo would
sometimes fail to read debug info, due to VG_(di_notify_mmap) using
VG_(stat) (hence sys_stat) on the file, which failed, and when in fact
it should have used sys_stat64. Bug reported and tracked down by
Marc-Oliver Straub.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8522