|
From: <sv...@va...> - 2005-11-17 20:15:09
|
Author: sewardj
Date: 2005-11-17 20:15:04 +0000 (Thu, 17 Nov 2005)
New Revision: 5180
Log:
(ppc32) Only include hacky redirects for malloc-replacing tools.
Modified:
trunk/coregrind/m_redir.c
Modified: trunk/coregrind/m_redir.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/m_redir.c 2005-11-17 19:47:37 UTC (rev 5179)
+++ trunk/coregrind/m_redir.c 2005-11-17 20:15:04 UTC (rev 5180)
@@ -42,7 +42,9 @@
#include "pub_core_redir.h"
#include "pub_core_trampoline.h"
#include "pub_core_transtab.h"
+#include "pub_core_tooliface.h" // VG_(needs).malloc_replacement
=20
+
/*------------------------------------------------------------*/
/*--- General purpose redirection. ---*/
/*------------------------------------------------------------*/
@@ -375,14 +377,19 @@
=20
#elif defined(VGP_ppc32_linux)
=20
- add_redirect_sym_to_addr(
- "soname:ld.so.1", "strlen",
- (Addr)&VG_(ppc32_linux_REDIR_FOR_strlen)
- ); =20
- add_redirect_sym_to_addr(
- "soname:ld.so.1", "strcmp",
- (Addr)&VG_(ppc32_linux_REDIR_FOR_strcmp)
- ); =20
+ /* these two drive memcheck nuts if not replaced, and unfortunately
+ they need to be replaced right at the start, before the dynamic
+ linker starts. */
+ if (VG_(needs).malloc_replacement) {
+ add_redirect_sym_to_addr(
+ "soname:ld.so.1", "strlen",
+ (Addr)&VG_(ppc32_linux_REDIR_FOR_strlen)
+ ); =20
+ add_redirect_sym_to_addr(
+ "soname:ld.so.1", "strcmp",
+ (Addr)&VG_(ppc32_linux_REDIR_FOR_strcmp)
+ );
+ }
=20
#else
# error Unknown platform
|