Describes a process's TLS area. The area encompasses the DTV, both TCBs, and the TLS block, with
the exact layout of these being dependent primarily on current_variant.
const AreaDesc = struct
const AreaDesc = struct {
size: usize,
alignment: usize,
dtv: struct {
/// Offset into the TLS area.
offset: usize,
},
abi_tcb: struct {
/// Offset into the TLS area.
offset: usize,
},
block: struct {
/// The initial data to be copied into the TLS block. Note that this may be smaller than
/// `size`, in which case any remaining data in the TLS block is simply left uninitialized.
init: []const u8,
/// Offset into the TLS area.
offset: usize,
/// This is the effective size of the TLS block, which may be greater than `init.len`.
size: usize,
},
/// Only used on the 32-bit x86 architecture (not x86_64, nor x32).
gdt_entry_number: usize,
}