HomeFreeBSD

amd64: Cleanups to setting TLS registers for Linux binaries.

Description

amd64: Cleanups to setting TLS registers for Linux binaries.

  • Use update_pcb_bases() when updating FS or GS base addresses to permit use of FSBASE and GSBASE in Linux processes. This also sets PCB_FULL_IRET. linux32 was setting PCB_32BIT which should be a no-op (exec sets it).
  • Remove write-only variables to construct unused segment descriptors for linux32.

Sponsored by: Netflix

(cherry picked from commit 704547ce1ca56e1123048cd152ed4e468d41d703)

Details

Provenance
jhbAuthored on Mar 12 2021, 5:47 PM
Parents
rG57d7992b50ba: amd64: Only update fsbase/gsbase in pcb for curthread.
Branches
Unknown
Tags
Unknown