This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: do_global_ctors_aux vs. pt placement
P.S.:
I forgot that sh_output_mi_thunk passes hard registers to gen_sibcall...
--- sh.c-20050414-1433 2005-04-14 14:33:21.000000000 +0100
+++ sh.c 2005-04-14 20:18:03.000000000 +0100
@@ -11181,7 +11181,9 @@ shmedia_prepare_call_address (rtx fnaddr
it is possible to generate invalid symbols with asm or linker tricks.
In a list of functions where each returns its sucessor, an invalid
symbol might denote an empty list. */
- if (!TARGET_PT_FIXED && (!is_sym || TARGET_INVALID_SYMBOLS))
+ if (!TARGET_PT_FIXED
+ && (!is_sym || TARGET_INVALID_SYMBOLS)
+ && (!REG_P (fnaddr) || ! TARGET_REGISTER_P (REGNO (fnaddr))))
{
rtx tr = gen_reg_rtx (PDImode);