This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: ppc64 __attribute__((visibility ("hidden"))) and multiple TOCs
- From: David Edelsohn <dje at watson dot ibm dot com>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: Mark Mitchell <mark at codesourcery dot com>, Alan Modra <amodra at bigpond dot net dot au>, gcc-patches at gcc dot gnu dot org, binutils at sources dot redhat dot com
- Date: Mon, 25 Jun 2007 15:55:06 -0400
- Subject: Re: ppc64 __attribute__((visibility ("hidden"))) and multiple TOCs
- References: <20070625110601.GQ7012@devserv.devel.redhat.com> <467FBAED.7000609@codesourcery.com> <200706251315.l5PDFeQ35784@makai.watson.ibm.com> <467FC3A2.5020705@codesourcery.com> <20070625134308.GA32079@caradoc.them.org> <467FCE1B.8080705@codesourcery.com> <20070625154639.GS7012@devserv.devel.redhat.com> <467FEEE8.8090401@codesourcery.com> <200706251643.l5PGhhQ27990@makai.watson.ibm.com> <467FF1CA.5090205@codesourcery.com> <20070625170440.GT7012@devserv.devel.redhat.com>
Assuming that I did not introduce any typos from jetlag, can
someone check if the following fixes the problem?
Thanks, David
* config/rs6000/predicates.md (current_file_function_operand):
Ensure the symbol is non-external for AIX ABI.
Index: predicates.md
===================================================================
*** predicates.md (revision 125995)
--- predicates.md (working copy)
***************
*** 696,702 ****
(define_predicate "current_file_function_operand"
(and (match_code "symbol_ref")
(match_test "(DEFAULT_ABI != ABI_AIX || SYMBOL_REF_FUNCTION_P (op))
! && (SYMBOL_REF_LOCAL_P (op)
|| (op == XEXP (DECL_RTL (current_function_decl),
0)))")))
--- 696,704 ----
(define_predicate "current_file_function_operand"
(and (match_code "symbol_ref")
(match_test "(DEFAULT_ABI != ABI_AIX || SYMBOL_REF_FUNCTION_P (op))
! && ((SYMBOL_REF_LOCAL_P (op)
! && (DEFAULT_ABI != ABI_AIX
! || !SYMBOL_REF_EXTERNAL_P (op)))
|| (op == XEXP (DECL_RTL (current_function_decl),
0)))")))