Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 21 additions & 13 deletions design-documents/pauthabi-tls.rst
Original file line number Diff line number Diff line change
Expand Up @@ -26,19 +26,27 @@ TLS Dialect
-----------

The base ABI in `AAELF64`_ defines relocations for two TLS
dialects. The "traditional" dialect and the "descriptor" dialect. In
the traditional dialect global and local dynamic TLS use the
``R_AARCH64_TLSGD``, ``R_AARCH64_TLSLD`` prefixed relocations. These
create a pair of GOT entries relocated by ``R_AARCH64_TLS_DTPMOD`` and
``R_AARCH64_TLS_DTPREL``. In the "descriptor" dialect, global and local
dynamic TLS use the ``R_AARCH64_TLSDESC`` prefixed relocations. These
create a pair of GOT entries relocated by ``R_AARCH64_TLSDESC``. Local
Exec and Initial Exec TLS are handled the same way in both dialects.

The `PAUTHABIELF64`_ only supports the descriptor based dialect,
primarily because the traditional dialect is now legacy. GCC defaults
to the "descriptor" dialect and clang only supports the "descriptor"
based dialect.
dialects:

* The "traditional" dialect.

In the "traditional" dialect global and local dynamic TLS use the
``R_AARCH64_TLSGD``, ``R_AARCH64_TLSLD`` prefixed relocations. These
create a pair of GOT entries relocated by ``R_AARCH64_TLS_DTPMOD``
and ``R_AARCH64_TLS_DTPREL``.

* The "descriptor" dialect.

In the "descriptor" dialect, global and local dynamic TLS use the
``R_AARCH64_TLSDESC`` prefixed relocations. These create a pair of
GOT entries relocated by ``R_AARCH64_TLSDESC``.

Local Exec and Initial Exec TLS are handled the same way in both dialects.

The `PAUTHABIELF64`_ only supports the "descriptor" based dialect,
primarily because the "traditional" dialect is now legacy. GCC
defaults to the "descriptor" dialect and clang only supports the
"descriptor" based dialect.

Auth variant TLS relocations
----------------------------
Expand Down