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

Jakub Jelinek jakub@redhat.com
Mon Jun 25 13:29:00 GMT 2007


On Mon, Jun 25, 2007 at 09:15:40AM -0400, David Edelsohn wrote:
> 	Emitting a NOP depends on SYMBOL_FLAG_LOCAL.
> 
>    if (targetm.binds_local_p (decl))
>      flags |= SYMBOL_FLAG_LOCAL;
> 
> PPC64 uses the default binds_local_p() hook, default_binds_local_p_1():
> 
>   /* 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?

Because local in binds_local_p's definition is "defined in the same
executable or shared library" and that's true for hidden visibility.
ppc64 in this case needs more strict definition of what local is though.

	Jakub



More information about the Binutils mailing list