5086 Commits

Author SHA1 Message Date
Julian Seward
05df97ecb3 Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6613
2007-02-25 00:04:14 +00:00
Julian Seward
026fac7496 Update redhat8 suppressions.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6612
2007-02-25 00:03:00 +00:00
Julian Seward
b095682a89 CFI reader: make reading of 'encoded addresses' be much more in
line with the DWARF3 spec and also with binutils/readelf.c:

- Update some comments

- Get rid of kludge_then_addDiCfSI; apparently no longer needed

- Pass the SegInfo's text_bias around in the AddressDecodingInfo,
  so that ...

- read_encoded_Addr can set 'base' to the text_bias when handling
  DW_EH_PE_absptr.  This is the central change of this commit and
  appears (to me) to be what DWARF3 requires.  (The spec is less
  than clear ..)

- don't use read_encoded_Addr to read the FDE arange field since
  read_encoded_Addr's adding-on of a 'base' value is meaningless
  here - the arange is not an address, but a value saying how many
  bytes the FDE covers.  Instead just read a little-endian value of
  the right size.  This is in accordance with DWARF3 and with 
  readelf.c.  Add new function read_le_encoded_literal to make 
  this possible.

I believe this is all correct, and it's certainly much better than it
was.  But given that the DWARF3 spec isn't as formal as it should be,
it's hard to be sure.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6611
2007-02-24 23:29:31 +00:00
Julian Seward
80835689c0 Make the frame unwinder able to handle 64-bit DWARF (untested :-(
mostly by a lot of comparison of this code vs that of
binutils-2.17/binutils/dwarf.c vs the relevant specs.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6610
2007-02-23 10:10:02 +00:00
Julian Seward
1228d56595 Update
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6609
2007-02-23 09:04:16 +00:00
Julian Seward
4cb951158d Add an intercept for __memmove_chk (another glibc 2.5 artefact)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6608
2007-02-23 09:03:26 +00:00
Julian Seward
06d8004b23 Make ppc32/64-aix5 work again following recent VG_(tt_fast) rearrangement.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6606
2007-02-20 19:23:19 +00:00
Nicholas Nethercote
77e856b6e3 comment
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6604
2007-02-19 04:16:09 +00:00
Nicholas Nethercote
2e87ac2d9c Add a script to make running in-place simpler.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6603
2007-02-19 04:09:24 +00:00
Josef Weidendorfer
e37e6f66dd Update
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6602
2007-02-16 21:57:27 +00:00
Josef Weidendorfer
b7dea1c39d Callgrind: Fix threads display of "callgrind_control -s"
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6601
2007-02-16 21:55:25 +00:00
Julian Seward
f8d99e1ee3 Improve --debug-dump=frames output.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6600
2007-02-16 20:11:27 +00:00
Julian Seward
c555fa5434 Correctly handle DW_CFA_def_cfa_sf (existing code fails to scale
offset by data_a_f).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6599
2007-02-16 19:20:28 +00:00
Julian Seward
b86440ca79 Update
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6598
2007-02-16 15:39:24 +00:00
Julian Seward
6b895f8c7d Non-functional (debug printing only) change:
Implement GNU binutils 'readelf' style output for --debug-dump=lines
(fully) and --debug-dump=frames (partially).

Initial testing with --debug-dump=lines shows our DWARF2 line number
reader behaves identically to readelf for all examples I tried so far.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6597
2007-02-16 14:17:10 +00:00
Julian Seward
be97b31c6c Make VG_(printf) et al conform to ANSI w.r.t. capitalisation of
hex numbers: %x produces lowercase hex, and %X produces uppercase.
Unfortunately this probably changes the output in dozens of places.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6596
2007-02-16 14:10:24 +00:00
Julian Seward
15f33c3c91 --wait-for-gdb=yes: gcc 4.1.2 now appears to delete do-nothing loops, so
make the loop variable volatile so it can't do that.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6595
2007-02-16 13:57:07 +00:00
Josef Weidendorfer
bd44a1aed7 Update. I hope I got the right section ;-)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6594
2007-02-16 13:17:40 +00:00
Josef Weidendorfer
ef2d36cdfd callgrind: fix --collect-systime=yes with "no instrumentation" mode
(see bug 139363)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6593
2007-02-16 13:12:43 +00:00
Nicholas Nethercote
27321d94ab correctify
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6592
2007-02-16 11:57:18 +00:00
Josef Weidendorfer
4751ad5d06 lackey: Take possible condition invertion for Jccs into account
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6591
2007-02-16 11:13:53 +00:00
Julian Seward
a3f3016abe Updated expected output.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6590
2007-02-13 10:24:32 +00:00
Nicholas Nethercote
c5c907296f update
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6589
2007-02-12 22:38:50 +00:00
Julian Seward
0dfa208588 Essentially non-functional tidyings and improvements to debuginfo
reading.  Two sets of changes:

* New flags for debugging the readers.  
  --debug-dump=syms
  --debug-dump=line
  --debug-dump=frames

  These (currently accepted but nonfunctional) are intended to
  create output in the style of (that is, identical to)
    /usr/bin/readelf --syms
    /usr/bin/readelf --debug-dump=line
    /usr/bin/readelf --debug-dump=frames
  respectively.  The plan is that flaws in these readers can then
  be easily found by diff-ing the output against that from readelf.

  Also, a new flag --trace-symtab-patt=<object filename pattern>
  which is used to limit all debuginfo-related debug info to the
  set of shared object names matching the given pattern.  This
  facilitates extracting the debuginfo details of one specific
  shared object, which is usually what is required, rather than
  having to wade through megabytes of junk from every object in
  the process.

* Propagate the avma/svma/image address-naming scheme
  (as described at the top of debuginfo.c) through large parts of
  readelf.c and readdwarf.c.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6588
2007-02-12 17:47:14 +00:00
Nicholas Nethercote
2bd2d570c9 This code shouldn't be run unless --trace-mem was specified.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6587
2007-02-12 11:28:38 +00:00
Nicholas Nethercote
d7b400e174 Update for changes to lackey
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6586
2007-02-12 10:37:37 +00:00
Julian Seward
2426b66fd0 * make the --trace-mem output format more concise
* new option --trace-superblocks for getting a log of superblock entries



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6585
2007-02-12 08:42:13 +00:00
Julian Seward
04fc4caed2 Get rid of the unused --model-pthreads flag.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6584
2007-02-12 08:39:54 +00:00
Julian Seward
517d5c52e8 Fix ppc64-linux dispatcher following r6582.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6583
2007-02-11 09:09:20 +00:00
Julian Seward
79f854bc29 Redo the dispatcher's fast-cache mechanism (VG_(tt_fast) et al) to be
more cache friendly.  This changes the mechanism from being a table of
pointers to (guest address, translated code pairs) to being a table of
pairs (guest address, pointer to translated code).  The effect ranges
from zero up to about 20% performance improvement on memcheck, the
biggest effects being seen for programs which jump around a large
number of blocks of code and whose data set does not fit in L2.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6582
2007-02-11 05:08:06 +00:00
Nicholas Nethercote
2dd37581a1 extra thing
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6581
2007-02-10 05:20:03 +00:00
Julian Seward
73a17ab6f3 Oops; make declarations match definitions. So much for C's type system.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6580
2007-02-09 17:45:09 +00:00
Julian Seward
56b7f5a6c9 Work around gcc limitations on aix.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6579
2007-02-09 02:37:11 +00:00
Julian Seward
9943647c57 Unbreak aix build.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6578
2007-02-09 02:11:06 +00:00
Julian Seward
56b4de0b8b Specialise VG_(ssort) for 4-word elements. This removes about 80% of
all calls to VG_(memcpy).  Thanks to cachegrind for showing somebody
was calling VG_(memcpy) a huge number of times, and to callgrind for
finding out who :-)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6577
2007-02-08 16:25:56 +00:00
Julian Seward
a58d05c83f Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6576
2007-02-08 12:42:11 +00:00
Julian Seward
3ae5768e35 Handle type MPI_PACKED and associated functions PMPI_Packed and
PMPI_Unpacked.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6575
2007-02-08 12:05:03 +00:00
Julian Seward
db5018c18d Add cg_merge, a program for merging (adding) cachegrind output files,
and associated documentation.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6574
2007-02-08 11:31:03 +00:00
Julian Seward
5748ebe527 Add a new flag --cachegrind-log-file to cg_annotate, which tells it
precisely the name of the profile data file it should use (instead of
assuming cachegrind.out.<pid> where <pid> is specified by the --<pid>
flag).  The old mechanism is still supported though.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6573
2007-02-08 06:47:19 +00:00
Julian Seward
1e55d37448 * Add new flag --cachegrind-out-file to specify the output file
basename to be something other than "cachegrind.out".

* Observe the core-supplied --log-file-qualifier, if specified,
  in creation of output file names.

* To make the above work, move most of the stuff in cg_pre_clo_init
  into cg_post_clo_init, so that the core's determination of the
  log file qualifier, if any, is done by the time cachegrind comes
  to process its arguments.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6572
2007-02-07 19:55:30 +00:00
Julian Seward
ae7b3f3305 Make VG_(clo_log_file_qualifier) tool-visible.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6571
2007-02-07 19:50:55 +00:00
Nicholas Nethercote
1c8e6c7021 s/IRBB/IRSB/
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6570
2007-02-05 23:23:55 +00:00
Nicholas Nethercote
a01fea1a7a Simplify some Perl.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6569
2007-02-02 23:23:01 +00:00
Julian Seward
7825ba9858 Update
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6568
2007-02-02 02:36:30 +00:00
Dirk Mueller
3ff24518cb update. hopefully I may backport this to 3.2.x soon.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6567
2007-01-31 23:35:34 +00:00
Dirk Mueller
ac2bbadda5 implement support for AT_FDCWD in openat()
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6566
2007-01-31 23:06:08 +00:00
Julian Seward
6e31d2727b Make SSE-1 friendly.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6565
2007-01-30 23:16:32 +00:00
Nicholas Nethercote
904ce59903 Merge 3.2.3 release notes into trunk.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6563
2007-01-30 05:18:38 +00:00
Julian Seward
5dd20ba758 Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6559
2007-01-29 01:09:13 +00:00
Julian Seward
bba12795fd Add regtest against vex cse failure that surfaced in 3.2.2.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6557
2007-01-29 00:52:43 +00:00