Page MenuHomeFreeBSD

Correct the offset of static TLS variables for Initial-Exec.
ClosedPublic

Authored by jhb on Dec 3 2019, 10:37 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Nov 20, 5:33 PM
Unknown Object (File)
Mon, Nov 11, 1:31 AM
Unknown Object (File)
Sat, Nov 9, 7:54 PM
Unknown Object (File)
Sat, Nov 9, 5:59 PM
Unknown Object (File)
Sat, Nov 9, 9:08 AM
Unknown Object (File)
Sat, Nov 9, 8:43 AM
Unknown Object (File)
Sat, Nov 9, 7:07 AM
Unknown Object (File)
Fri, Nov 8, 10:30 PM
Subscribers

Details

Summary

%tp points to the start of the TLS block after the tcb, but
Obj_Entry.tlsoffset includes the tcb, so subtract the size of the
tcb to compute the offset relative to %tp.

Test Plan

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Note that this is the same fix as rS339072 for powerpc and rS342671 for powerpc64, and matches the mips implementation, all of which use Variant I TLS and thus should look the same (ignoring the values of the constants themselves).

(Also, %tp in the revision summary looks odd, RISC-V doesn't prefix registers with anything)

This revision was not accepted when it landed; it landed in state Needs Review.Dec 10 2019, 9:56 PM
This revision was automatically updated to reflect the committed changes.