This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Re: PATCH: rs6000 sibling calls
- From: David Edelsohn <dje at watson dot ibm dot com>
- To: Richard Henderson <rth at redhat dot com>
- Cc: dalej at apple dot com, gcc-patches at gcc dot gnu dot org
- Date: Thu, 08 Aug 2002 17:45:20 -0400
- Subject: Re: Re: PATCH: rs6000 sibling calls
- References: <20020808210945.GC5285@redhat.com>
>>>>> Richard Henderson writes:
> The @local means that you cannot generate a sibcall to a function
> for which targetm.binds_local_p is false.
So, PowerPC should follow the same logic as Alpha:
if (DEFAULT_ABI == ABI_DARWIN
|| (TREE_ASM_WRITTEN (fndecl) && !flag_pic) || !TREE_PUBLIC (fndecl))
return 1;
This will work on Darwin and SVR4 and AIX. The only place this breaks is
when optionally invoking runtime linking on AIX to emulate SVR4 semantics
allowing overrides of functions in libraries. I'll have to investigate
whether its worth always disabling TREE_ASM_WRITTEN for TARGET_AIX as
well.
Thanks, David