https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100152

--- Comment #43 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Iain D Sandoe <ia...@gcc.gnu.org>:

https://gcc.gnu.org/g:b6600392bf71c4a9785f8f49948b611425896830

commit r12-103-gb6600392bf71c4a9785f8f49948b611425896830
Author: Iain Sandoe <i...@sandoe.co.uk>
Date:   Sat Apr 24 13:34:49 2021 +0100

    Darwin : Adjust darwin_binds_local_p for PIC code [PR100152].

    Darwin's dynamic linker supports interposition and lazy symbol binding.
    If we are generating PIC code and a symbol is public, then it could
    potentially be indirected via a lazy-resolver stub; we cannot tell at
    compile-time if this will be done (since the indirection can be the
    result of adding a -flat-namespace option at link-time).  Here we are
    conservative and assume that any such symbol cannot bind locally.
    The default implementation for binds_local_p handles undefined, weak and
    common symbols which are always indirected (for mdynamic-no-pic also).

    gcc/ChangeLog:

            PR target/100152
            * config/darwin.c (darwin_binds_local_p): Assume that any
            public symbol might be interposed for PIC code. Update function
            header comment to reflect current Darwin capability.

Reply via email to