summaryrefslogtreecommitdiff
path: root/coregrind/m_initimg
diff options
context:
space:
mode:
authorsewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9>2008-05-01 20:24:26 +0000
committersewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9>2008-05-01 20:24:26 +0000
commit7cf4e6b6aed533af53339f36099ed244dc4a5b7f (patch)
tree7774de0b87cbb23fade9f55a9b61b267fdeb0c8c /coregrind/m_initimg
parentacc99856f38b052c8716ebb123c61e51915525c1 (diff)
Merge branches/OTRACK_BY_INSTRUMENTATION into the trunk. This adds
support to Memcheck for tracking the origin of uninitialised values, if you use the --track-origins=yes flag. This currently causes some Memcheck regression tests to fail, because they now print an extra line of advisory text in their output. This will be fixed. The core-tool interface is slightly changed. The version number for the interface needs to be incremented. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7982 a5019735-40e9-0310-863c-91ae7b9d1cf9
Diffstat (limited to 'coregrind/m_initimg')
-rw-r--r--coregrind/m_initimg/initimg-aix5.c10
-rw-r--r--coregrind/m_initimg/initimg-linux.c20
2 files changed, 18 insertions, 12 deletions
diff --git a/coregrind/m_initimg/initimg-aix5.c b/coregrind/m_initimg/initimg-aix5.c
index f4f2c651..0a7b6b31 100644
--- a/coregrind/m_initimg/initimg-aix5.c
+++ b/coregrind/m_initimg/initimg-aix5.c
@@ -298,8 +298,9 @@ void VG_(ii_finalise_image)( IIFinaliseImageInfo iifii )
sane way. */
LibVEX_GuestPPC32_initialise(&arch->vex);
- /* Zero out the shadow area. */
- VG_(memset)(&arch->vex_shadow, 0, sizeof(VexGuestPPC32State));
+ /* Zero out the shadow areas. */
+ VG_(memset)(&arch->vex_shadow1, 0, sizeof(VexGuestPPC32State));
+ VG_(memset)(&arch->vex_shadow2, 0, sizeof(VexGuestPPC32State));
# else /* defined(VGP_ppc64_aix5) */
@@ -309,8 +310,9 @@ void VG_(ii_finalise_image)( IIFinaliseImageInfo iifii )
sane way. */
LibVEX_GuestPPC64_initialise(&arch->vex);
- /* Zero out the shadow area. */
- VG_(memset)(&arch->vex_shadow, 0, sizeof(VexGuestPPC64State));
+ /* Zero out the shadow areas. */
+ VG_(memset)(&arch->vex_shadow1, 0, sizeof(VexGuestPPC64State));
+ VG_(memset)(&arch->vex_shadow2, 0, sizeof(VexGuestPPC64State));
# endif
diff --git a/coregrind/m_initimg/initimg-linux.c b/coregrind/m_initimg/initimg-linux.c
index 725fd5cd..bad49415 100644
--- a/coregrind/m_initimg/initimg-linux.c
+++ b/coregrind/m_initimg/initimg-linux.c
@@ -962,8 +962,9 @@ void VG_(ii_finalise_image)( IIFinaliseImageInfo iifii )
sane way. */
LibVEX_GuestX86_initialise(&arch->vex);
- /* Zero out the shadow area. */
- VG_(memset)(&arch->vex_shadow, 0, sizeof(VexGuestX86State));
+ /* Zero out the shadow areas. */
+ VG_(memset)(&arch->vex_shadow1, 0, sizeof(VexGuestX86State));
+ VG_(memset)(&arch->vex_shadow2, 0, sizeof(VexGuestX86State));
/* Put essential stuff into the new state. */
arch->vex.guest_ESP = iifii.initial_client_SP;
@@ -982,8 +983,9 @@ void VG_(ii_finalise_image)( IIFinaliseImageInfo iifii )
sane way. */
LibVEX_GuestAMD64_initialise(&arch->vex);
- /* Zero out the shadow area. */
- VG_(memset)(&arch->vex_shadow, 0, sizeof(VexGuestAMD64State));
+ /* Zero out the shadow areas. */
+ VG_(memset)(&arch->vex_shadow1, 0, sizeof(VexGuestAMD64State));
+ VG_(memset)(&arch->vex_shadow2, 0, sizeof(VexGuestAMD64State));
/* Put essential stuff into the new state. */
arch->vex.guest_RSP = iifii.initial_client_SP;
@@ -996,8 +998,9 @@ void VG_(ii_finalise_image)( IIFinaliseImageInfo iifii )
sane way. */
LibVEX_GuestPPC32_initialise(&arch->vex);
- /* Zero out the shadow area. */
- VG_(memset)(&arch->vex_shadow, 0, sizeof(VexGuestPPC32State));
+ /* Zero out the shadow areas. */
+ VG_(memset)(&arch->vex_shadow1, 0, sizeof(VexGuestPPC32State));
+ VG_(memset)(&arch->vex_shadow2, 0, sizeof(VexGuestPPC32State));
/* Put essential stuff into the new state. */
arch->vex.guest_GPR1 = iifii.initial_client_SP;
@@ -1010,8 +1013,9 @@ void VG_(ii_finalise_image)( IIFinaliseImageInfo iifii )
sane way. */
LibVEX_GuestPPC64_initialise(&arch->vex);
- /* Zero out the shadow area. */
- VG_(memset)(&arch->vex_shadow, 0, sizeof(VexGuestPPC64State));
+ /* Zero out the shadow areas. */
+ VG_(memset)(&arch->vex_shadow1, 0, sizeof(VexGuestPPC64State));
+ VG_(memset)(&arch->vex_shadow2, 0, sizeof(VexGuestPPC64State));
/* Put essential stuff into the new state. */
arch->vex.guest_GPR1 = iifii.initial_client_SP;