From 2501b16706f1e920917035d6c63f6ed6b840a9df Mon Sep 17 00:00:00 2001 From: Andrew Pinski Date: Wed, 24 Aug 2005 01:50:54 +0000 Subject: [PATCH] re PR target/20799 (bad relocs for new/delete overrides) 2005-08-23 Andrew Pinski PR target/20799 * config/darwin.c (machopic_select_section): Remove the hack to mark "::operator new" and "::operator delete" for coalescing even though they are not weak. From-SVN: r103426 --- gcc/ChangeLog | 7 +++++++ gcc/config/darwin.c | 22 ---------------------- 2 files changed, 7 insertions(+), 22 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 29c899ef77c..7aeeacdc391 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2005-08-23 Andrew Pinski + + PR target/20799 + * config/darwin.c (machopic_select_section): Remove the hack to + mark "::operator new" and "::operator delete" for coalescing + even though they are not weak. + 2005-08-24 Alan Modra * configure.ac (HAVE_LD_NO_DOT_SYMS): Set for powerpc-linux biarch. diff --git a/gcc/config/darwin.c b/gcc/config/darwin.c index fd503efc950..c7cd1a35287 100644 --- a/gcc/config/darwin.c +++ b/gcc/config/darwin.c @@ -1118,28 +1118,6 @@ machopic_select_section (tree exp, int reloc, else base_function (); } - /* ::operator new and ::operator delete must be coalesced, even - if not weak. There are 8 variants that we look for. */ - else if (TREE_CODE (exp) == FUNCTION_DECL - && ! DECL_ONE_ONLY (exp)) - { - const char * name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (exp)); - if (name[0] == '_' && name[1] == 'Z' - && ((name[2] == 'n' && (name[3] == 'a' || name[3] == 'w') - && name[4] == 'm') - || (name[2] == 'd' && (name[3] == 'a' || name[3] == 'l') - && name[4] == 'P' && name[5] == 'v'))) - { - bool delete_p = name[2] == 'd'; - if (name[5 + delete_p] == 0 - || strcmp (name + 5 + delete_p, "KSt9nothrow_t") == 0) - base_funs[reloc][1] (); - else - base_function (); - } - else - base_function (); - } else base_function (); } -- 2.30.2