https://sourceware.org/bugzilla/show_bug.cgi?id=17699

Cary Coutant <ccoutant at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |INVALID

--- Comment #6 from Cary Coutant <ccoutant at gmail dot com> ---
I can't find any support for the claims made in Comment #1.

In all ABIs using the IA-64 TLS model, the DTPMOD relocation is defined as
resolving to the index of the load module where the *referenced symbol* is
defined. Thus, the r_sym field of the relocation is relevant, and is used by
the dynamic linker to determine what load module index to insert into the GOT
entry. In the case of a reference to a local symbol, the local symbol can be
(and usually is) collapsed to a section symbol, and the dynamic loader resolves
the relocation to the index of the current load module (which is where the
local symbol is defined).

It appears that Gnu ld has adopted a convention where a 0 symbol index may also
be used to refer to the current load module, but that convention is not
described in the ABI, as far as I can determine, nor does the dynamic linker
depend on it.

In my opinion, the musl dynamic linker was written to conform to one specific
implementation (viz, the Gnu linker), and not to the specification.

Section symbols in the dynamic symbol table are not only perfectly valid, but
are used frequently -- whether for TLS or not. They do not depend on the
section table any more than any other symbol, since the value of a symbol in an
executable is always a proper virtual address.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils

Reply via email to