DW_CFA_set_loc, take into account any encoding info conveyed by the
augmentation string. See big comment in the code.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6356
Changes to support XCOFF:
- allow modules to have 'member names' as well as file names. A member
name is a "foo.o" name inside a "bar.a"; necessary as AIX
keeps all its dynamic libraries in .a files.
- rename the type RiLoc to DiLoc (this holds a line number indication).
No idea why it was called RiLoc in the first place.
- trace changes in type SysRes
- implement VG_(di_aix5_notify_segchange)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6266
interface, except for the syscall numbers, into that. Mostly this
means moving include/vki-*.h to include/vki/vki-*.h.
include/pub_tool_basics.h previously dragged in the entire kernel
interface. I've done away with that, so that modules which need to
see the kernel interface now have to include pub_{core,tool}_vki.h
explicitly. This is why there are many modified .c files -- they have
all acquired an extra #include line.
This certainly breaks all platforms except x86. Will fix shortly.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6225
causes V to ignore more DWARF3 CFA expressions on amd64 and so gets
rid of complaints from the CFA reader. Why didn't Red Hat push this
patch upstream? I don't know.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5838
Dwarf, which is a (fully documented) Dwarf3 variant in which some
32-bit fields are expanded to 64 bits. Presumably this is useful for
those vast hordes of folks who regularly build executables or shared
objects more than 4GB long. For whatever reason, IBM's xlc/xlC/xlf
insist on generating 64-bit Dwarf when compiling even hello-world size
programs for ppc64-linux.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5625
interception and wrapping. This was causing failures matching
function names in suppressions to function names in backtraces when
the latter names were Z-encoded (eg malloc), which typically caused
all leak suppressions to fail because they contain names such as
malloc, which are Z-encoded.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5548
function for reading ELF symbol tables on ppc64-linux so as to avoid
cluttering up the {x86,amd64,ppc32}-linux cases with convoluted
hoop-jumping needed to handle both the dotful (older) and dotless
(newer) ppc64-linux ABI variants.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5527
branch hereby becomes inactive. This currently breaks everything
except x86; fixes for amd64/ppc32 to follow.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5520
for ppc64-linux on gcc 4.0.0 and above.
As part of this, simplify the FIND macros and rename some fields in
SegInfo to be a bit clearer.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5501
not found. This is believed to fix the regression in 3.1.X wherein
debug info was sometimes not read from icc-8.1 generated executables.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5470
- fixed launcher.c to recognise ppc32/64-linux platforms properly
- lots of assembly fixes to handle func descriptors, toc references, 64bit regs.
- fixed var types in vki-ppc64-linux
Now gets as far as VG_(translate), but dies from a case of invalid orig_addr.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5299
many shared objects, finding the relevant CFI information for stack
unwinding becomes a significant performance overhead. This change
slowly rearranges the SegInfo list to bring more popular entries to
the front during CFI lookup. This reduces the startup time of
konqueror on memcheck on amd64 from 124 to 110 seconds.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5125
it can't even read the length of the block - just report an error as we
do if there isn't enough data for the rest of the block. Fix bug #114757.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4960
any DWARF2 debug information. All make sure we don't fall over if
the .debug_info is less than four bytes long. Fixed bug 113642.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4856
changes from r4341 through r4787 inclusive). That branch is now dead.
Please do not commit anything else to it.
For the most part the merge was not troublesome. The main areas of
uncertainty are:
- build system: I had to import by hand Makefile.core-AM_CPPFLAGS.am
and include it in a couple of places. Building etc seems to still
work, but I haven't tried building the documentation.
- syscall wrappers: Following analysis by Greg & Nick, a whole lot of
stuff was moved from -generic to -linux after the branch was created.
I think that is satisfactorily glued back together now.
- Regtests: although this appears to work, no .out files appear, which
is strange, and makes it hard to diagnose regtest failures. In
particular memcheck/tests/x86/scalar.stderr.exp remains in a
conflicted state.
- amd64 is broken (slightly), and ppc32 will be unbuildable. I'll
attend to the former shortly.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4789
being executed then propagate the error from the stat instead of just
return ENOACCES all the time. Fixes bug #110208.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4330
Warning: zero-sized CIE/FDE but not at section end in DWARF2 CFI reading
which I know is not a good fix, but I don't want to get into messing
with the CFI reader this close to 3.0, and the appearance of this
message causes many regtests to fail on some systems.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4299
ranges and remove zero-length entries. If these appear it's because
the generating compiler has created invalid CFI info. Nevertheless we
should handle this robustly. This fixes a bug reported by Bill
Hoover.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4232
- m_main: if --log-file-qualifier applies, do not add ".pid"
at the end of the name
- Fix the logic which detected whether the just-devised name
already existed. This was broken (by me) because it could not
distinguish the reasons for failing to open the logfile.
Doing this required changing the return type of VG_(open)
from Int to SysRes (to make failure reasons visible) and
that's the cause of most of the changes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4228