ppc64 __attribute__((visibility ("hidden"))) and multiple TOCs

Mark Mitchell mark@codesourcery.com
Mon Jun 25 13:31:00 GMT 2007


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



More information about the Binutils mailing list