Tidy up a bit.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3617 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/coregrind/vg_replace_malloc.c b/coregrind/vg_replace_malloc.c
index e690c27..3880d92 100644
--- a/coregrind/vg_replace_malloc.c
+++ b/coregrind/vg_replace_malloc.c
@@ -215,58 +215,70 @@
 ALLOC_or_NULL(m_libc_dot_so_dot_6,     malloc,      malloc);
 //ALLOC_or_NULL(m_libpgc_dot_so,         malloc,      malloc);
 
-// operator new(unsigned int), GNU mangling, 32-bit platforms
+
+// operator new(unsigned int), unmangled for some bizarre reason
 ALLOC_or_BOMB(m_libstc_plus_plus_star, builtin_new,    __builtin_new);
 ALLOC_or_BOMB(m_libc_dot_so_dot_6,     builtin_new,    __builtin_new);
 
 ALLOC_or_BOMB(m_libstc_plus_plus_star, __builtin_new,  __builtin_new);
 ALLOC_or_BOMB(m_libc_dot_so_dot_6,     __builtin_new,  __builtin_new);
 
-// TODO: these should only exist on 32-bit platforms
-ALLOC_or_BOMB(m_libstc_plus_plus_star, _Znwj,          __builtin_new);
-ALLOC_or_BOMB(m_libc_dot_so_dot_6,     _Znwj,          __builtin_new);
 
-// TODO: these should only exist on 64-bit platforms
+// operator new(unsigned int), GNU mangling, 32-bit platforms
 // operator new(unsigned long), GNU mangling, 64-bit platforms
-ALLOC_or_BOMB(m_libstc_plus_plus_star, _Znwm,          __builtin_new);
-ALLOC_or_BOMB(m_libc_dot_so_dot_6,     _Znwm,          __builtin_new);
+#if VG_WORDSIZE == 4
+ ALLOC_or_BOMB(m_libstc_plus_plus_star, _Znwj,          __builtin_new);
+ ALLOC_or_BOMB(m_libc_dot_so_dot_6,     _Znwj,          __builtin_new);
+#endif
+#if VG_WORDSIZE == 8
+ ALLOC_or_BOMB(m_libstc_plus_plus_star, _Znwm,          __builtin_new);
+ ALLOC_or_BOMB(m_libc_dot_so_dot_6,     _Znwm,          __builtin_new);
+#endif
 
 
 // operator new(unsigned int), ARM/cfront mangling
 //ALLOC_or_BOMB(m_libpgc_dot_so,         __nw__FUi,      __builtin_new);
 
-// TODO: these should only exist on 32-bit platforms
-// operator new(unsigned, std::nothrow_t const&), GNU mangling
-ALLOC_or_NULL(m_libstc_plus_plus_star, _ZnwjRKSt9nothrow_t,  __builtin_new);
-ALLOC_or_NULL(m_libc_dot_so_dot_6,     _ZnwjRKSt9nothrow_t,  __builtin_new);
 
-// TODO: these should only exist on 64-bit platforms
-// operator new(unsigned long, std::nothrow_t const&), GNU mangling
-ALLOC_or_NULL(m_libstc_plus_plus_star, _ZnwmRKSt9nothrow_t,  __builtin_new);
-ALLOC_or_NULL(m_libc_dot_so_dot_6,     _ZnwmRKSt9nothrow_t,  __builtin_new);
+// operator new(unsigned, std::nothrow_t const&), GNU mangling, 32-bit
+// operator new(unsigned long, std::nothrow_t const&), GNU mangling, 64-bit
+#if VG_WORDSIZE == 4
+ ALLOC_or_NULL(m_libstc_plus_plus_star, _ZnwjRKSt9nothrow_t,  __builtin_new);
+ ALLOC_or_NULL(m_libc_dot_so_dot_6,     _ZnwjRKSt9nothrow_t,  __builtin_new);
+#endif
+#if VG_WORDSIZE == 8
+ ALLOC_or_NULL(m_libstc_plus_plus_star, _ZnwmRKSt9nothrow_t,  __builtin_new);
+ ALLOC_or_NULL(m_libc_dot_so_dot_6,     _ZnwmRKSt9nothrow_t,  __builtin_new);
+#endif
 
-// operator new[](unsigned int), GNU mangling
+
+// operator new[](unsigned int), , unmangled for some bizarre reason
 ALLOC_or_BOMB(m_libstc_plus_plus_star, __builtin_vec_new, __builtin_vec_new );
 ALLOC_or_BOMB(m_libc_dot_so_dot_6,     __builtin_vec_new, __builtin_vec_new );
 
-// TODO: these should only exist on 32-bit platforms
-ALLOC_or_BOMB(m_libstc_plus_plus_star, _Znaj,             __builtin_vec_new );
-ALLOC_or_BOMB(m_libc_dot_so_dot_6,     _Znaj,             __builtin_vec_new );
 
-// TODO: these should only exist on 64-bit platforms
+// operator new[](unsigned int), GNU mangling, 32-bit platforms
 // operator new[](unsigned long), GNU mangling, 64-bit platforms
-ALLOC_or_BOMB(m_libstc_plus_plus_star, _Znam,             __builtin_vec_new );
-ALLOC_or_BOMB(m_libc_dot_so_dot_6,     _Znam,             __builtin_vec_new );
+#if VG_WORDSIZE == 4
+ ALLOC_or_BOMB(m_libstc_plus_plus_star, _Znaj,             __builtin_vec_new );
+ ALLOC_or_BOMB(m_libc_dot_so_dot_6,     _Znaj,             __builtin_vec_new );
+#endif
+#if VG_WORDSIZE == 8
+ ALLOC_or_BOMB(m_libstc_plus_plus_star, _Znam,             __builtin_vec_new );
+ ALLOC_or_BOMB(m_libc_dot_so_dot_6,     _Znam,             __builtin_vec_new );
+#endif
 
-// TODO: these should only exist on 32-bit platforms
-// operator new[](unsigned, std::nothrow_t const&), GNU mangling
-ALLOC_or_NULL(m_libstc_plus_plus_star, _ZnajRKSt9nothrow_t, __builtin_vec_new );
-ALLOC_or_NULL(m_libc_dot_so_dot_6,     _ZnajRKSt9nothrow_t, __builtin_vec_new );
 
-// TODO: these should only exist on 64-bit platforms
-// operator new[](unsigned long, std::nothrow_t const&), GNU mangling
-ALLOC_or_NULL(m_libstc_plus_plus_star, _ZnamRKSt9nothrow_t, __builtin_vec_new );
-ALLOC_or_NULL(m_libc_dot_so_dot_6,     _ZnamRKSt9nothrow_t, __builtin_vec_new );
+// operator new[](unsigned, std::nothrow_t const&), GNU mangling, 32-bit
+// operator new[](unsigned long, std::nothrow_t const&), GNU mangling, 64-bit
+#if VG_WORDSIZE == 4
+ ALLOC_or_NULL(m_libstc_plus_plus_star, _ZnajRKSt9nothrow_t, __builtin_vec_new );
+ ALLOC_or_NULL(m_libc_dot_so_dot_6,     _ZnajRKSt9nothrow_t, __builtin_vec_new );
+#endif
+#if VG_WORDSIZE == 8
+ ALLOC_or_NULL(m_libstc_plus_plus_star, _ZnamRKSt9nothrow_t, __builtin_vec_new );
+ ALLOC_or_NULL(m_libc_dot_so_dot_6,     _ZnamRKSt9nothrow_t, __builtin_vec_new );
+#endif
 
 
 /* Generate a replacement for 'fnname' in object 'soname', which calls