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: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