From: Julian Seward Date: Thu, 5 May 2005 01:16:24 +0000 (+0000) Subject: Tidy up a bit. X-Git-Tag: svn/VALGRIND_3_0_0~701 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a780b773129703fd22efe49cc6e53b729b261845;p=thirdparty%2Fvalgrind.git Tidy up a bit. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3617 --- diff --git a/coregrind/vg_replace_malloc.c b/coregrind/vg_replace_malloc.c index e690c27bfa..3880d921e6 100644 --- a/coregrind/vg_replace_malloc.c +++ b/coregrind/vg_replace_malloc.c @@ -215,58 +215,70 @@ ALLOC_or_NULL(m_libstc_plus_plus_star, malloc, malloc); 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 ); - -// 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 ); +#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 + + +// 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