This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: ppc64 __attribute__((visibility ("hidden"))) and multiple TOCs
- From: Mark Mitchell <mark at codesourcery dot com>
- To: David Edelsohn <dje at watson dot ibm dot com>
- Cc: Jakub Jelinek <jakub at redhat dot com>, Alan Modra <amodra at bigpond dot net dot au>, gcc at gcc dot gnu dot org, binutils at sources dot redhat dot com
- Date: Mon, 25 Jun 2007 09:31:14 -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>
David Edelsohn wrote:
> /* If defined in this object and visibility is not default, must be
> local. */
> else if (DECL_VISIBILITY (exp) != VISIBILITY_DEFAULT)
> local_p = true;
>
> Why does binds_local_p return true for non-default visibility?
I was just about to ask that.
It's an intermediate case: more local than default visibility, but not
*that* local. If the function is defined, then it probably does bind
locally, in that nothing can come along later and replace the definition
we saw.
I think the DECL_EXTERNAL case should go before the visibility checks in
default_binds_local_p_1. A DECL_EXTERNAL entity never binds locally.
--
Mark Mitchell
CodeSourcery
mark@codesourcery.com
(650) 331-3385 x713