Skip to content

Define behaviour of GOT generating TLS relocations with addends.  #296

@smithp35

Description

@smithp35

Issue #217 which was fixed by #272 accounted for the case where the ABI was out of sync with both GNU ld and LLD with respect to GOT generating relocations with addends.

#272 didn't account for TLS relocations which can also generate GOT entries for S + A although lld and GNU ld will only support the case where A == 0.

Document this in the ABI.

It will also be helpful to document the relaxation that both GNU ld and LLD do for non-premptible symbol definitions. In this case a GOT generating relocation for S produces a dynamic relocation to the null-symbol (ELF symbol index 0) + A where A is the offset of S from the start of the TLS block.

Will post a PR shortly, hopefully tomorrow.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions