diff options
author | sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> | 2008-05-01 20:24:26 +0000 |
---|---|---|
committer | sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> | 2008-05-01 20:24:26 +0000 |
commit | 7cf4e6b6aed533af53339f36099ed244dc4a5b7f (patch) | |
tree | 7774de0b87cbb23fade9f55a9b61b267fdeb0c8c /coregrind/m_initimg | |
parent | acc99856f38b052c8716ebb123c61e51915525c1 (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.c | 10 | ||||
-rw-r--r-- | coregrind/m_initimg/initimg-linux.c | 20 |
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; |