[llvm-bugs] [Bug 32425] Regression with Musl after adding support for outputting to /dev/null

via llvm-bugs llvm-bugs at lists.llvm.org
Mon Jun 12 11:38:11 PDT 2017


Rafael Ávila de Espíndola <rafael.espindola at gmail.com> changed:

           What    |Removed                     |Added
         Resolution|---                         |FIXED
             Status|REOPENED                    |RESOLVED

--- Comment #12 from Rafael Ávila de Espíndola <rafael.espindola at gmail.com> ---
(In reply to Rich Felker from comment #9)
> This is a bug in lld's interpretation of protected, and affects any
> reference to protected functions in a shared library from the main program.
> Protected means that the symbol is _semantically_ not subject to
> interposition, not that the address always resolves the the address of the
> definition; often due to PLT entries or copy relocations, the address will
> necessarily resolve to something other than the original definition.

I don't think that interpretation makes any sense whatsoever. The idea of
protected is to allow efficient access inside of a DSO. If a symbol can be
accessed directly inside a DSO, it cannot be accessed directly from the outside
and have a single address.

As I mentioned before, I am OK with supporting an option where lld doesn't care
about pointer equality, but that should *not* be the default.

Note that this has been discussed before in the generic-abi:


You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20170612/c8efb218/attachment.html>

More information about the llvm-bugs mailing list