Commit 2501b167 by Andrew Pinski Committed by Andrew Pinski

re PR target/20799 (bad relocs for new/delete overrides)

2005-08-23  Andrew Pinski  <pinskia@physics.uc.edu>

        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
parent d82bf747
2005-08-23 Andrew Pinski <pinskia@physics.uc.edu>
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 <amodra@bigpond.net.au>
* configure.ac (HAVE_LD_NO_DOT_SYMS): Set for powerpc-linux biarch.
......
......@@ -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 ();
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment