This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: ppc64 __attribute__((visibility ("hidden"))) and multiple TOCs
On Mon, Jun 25, 2007 at 09:31:14AM -0400, Mark Mitchell wrote:
> 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.
That isn't the meaning that most callers of this function want,
however. They want same shared object, which is what it currently
returns; that's what I think of when you ask me if something binds
"locally", too...
--
Daniel Jacobowitz
CodeSourcery