Make a copy of r2270/r12476 for work on translation chaining.
drd, free() intercept: Swap freeing and cleaning memory.

Note: since the big lock is held while the malloc() and free() intercepts are
running, and since mmap() is treated by Valgrind as a non-blocking system call,
this code change is not expected to result in a behavior change of drd.
Swizzle external.
Fix track-origin instrumentation for ppc32 following r2270/r12476
(initial DFP support).  Maynard Johnson (maynardj@us.ibm.com).
configure.in: Avoid that configure complains about "-----: command not found".
drd, realloc() intercept: Swap freeing and cleaning memory.
Fixes for capabilities checking w.r.t. Power DFP instructions
(Valgrind side).  Fixes #297329.
(Maynard Johnson, maynardj@us.ibm.com)
Add translation chaining support for amd64, x86 and ARM
(Valgrind side).  See #296422.
Add support for the move_pages system call. BZ#282790.
Make the return type of VG_(disp_run_translations) be void, rather
than the HWord it was claimed to be.  Inconsistency spotted by
Philippe Waroquiers.
Comment-only fix.  (Tom Tromey <tromey@redhat.com>)
Fix assert due to gdbserver discarding translation
The fix consists in checking if the translation
of the 'from' address is still existing.

Patch also contains a big comment explaining why it is
safe to discard/erase the current translation being
executed.

In a follow-up patch, the Bool in VG_(translate) will
be removed :
  Bool VG_(translate) ( /*OUT*/Bool* caused_discardP,
(if experiment confirms the hypothesis that it is
safe to discard current translation).
Switch back optimisation flag back to -O2 by removing the -O

Note that I believe it is possible to avoid Makefile.all.am
edition for this by using:
   ./configure CFLAGS="-O0 -g"

I think with this, make will mostly compile everything with the given CFLAGS
except the main programs (valgrind, vgdb, ...).
Fix incorrect use of VG_(addToXA).  (Tom Tromey <tromey@redhat.com>)
Add support for reading DWARF4 .debug_types sections.  Fixes #284124.
(Tom Tromey, tromey@redhat.com)
TCHAIN: remove caused_discard* argument to VG_(translate)
This is the followup to rev 12488.
With this revision, translation chaining is not done
if the translation with 'from address' is not existing
anymore (discarded or erased).
The assumption documented in 12488 comment has been checked by:
  * first reproduce a crash in Firefox when always setting
    caused discard to False
  * then upgrade to rev 12488
  * with this upgrade, no crash anymore.
=> this verifies that the caused discard logic is properly
replaced by revision 12488.

So, the caused discard logic can be removed.
fix off by one in string
Skip the test if it was not compiled, i.e. dwarf4 is not supported.
Disable test on big-endian platforms.
outer/inner setup: new perf/vg_perf options to run perf tests  + support translation chaining in inner.

* perf/vg_perf:
Similarly to tests/vg_regtest, perf/vg_perf now accepts the 3 
optional arguments:
    --outer-valgrind
    --outer-tool
    --outer-args

This allows easy analysis or comparison of performance between
different Valgrind versions (e.g. using callgrind, or cachegrind/cg_diff).

* See README_DEVELOPERS for more details.

* vg_regtest modified so as to use the 'in-place' build of inner, rather
  than the installed version.

* added option --smc-check=all-non-file to vg_perf and vg_regtest 
  outer default arguments (needed when evaluating a Valgrind which does
  translation chaining).