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.

Reviewed by: kib
MFC after: 1 week
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D29026

Details

Provenance
jhbAuthored on Mar 12 2021, 5:47 PM
Reviewer
kib
Differential Revision
D29026: amd64: Cleanups to setting TLS registers for Linux binaries.
Parents
rG92211458689b: amd64: Only update fsbase/gsbase in pcb for curthread.
Branches
Unknown
Tags
Unknown