Implement userspace TLS, remove RW Locks

This commit is contained in:
2026-01-28 23:52:48 +01:00
parent a3b62ebd3d
commit 3d23187acf
17 changed files with 135 additions and 157 deletions

View File

@@ -6,8 +6,8 @@ PHDRS {
text PT_LOAD;
rodata PT_LOAD;
data PT_LOAD;
tls PT_TLS;
bss PT_LOAD;
tls PT_TLS;
}
SECTIONS {
@@ -15,6 +15,7 @@ SECTIONS {
.text : {
*(.text .text.*)
*(.ltext .ltext.*)
} :text
. = ALIGN(CONSTANT(MAXPAGESIZE));
@@ -27,7 +28,19 @@ SECTIONS {
.data : {
*(.data .data.*)
*(.ldata .ldata.*)
} :data
. = ALIGN(CONSTANT(MAXPAGESIZE));
__bss_start = .;
.bss : {
*(.bss .bss.*)
*(.lbss .lbss.*)
} :bss
__bss_end = .;
. = ALIGN(CONSTANT(MAXPAGESIZE));
@@ -35,32 +48,20 @@ SECTIONS {
.tdata : {
*(.tdata .tdata.*)
} :data :tls
} :tls
__tdata_end = .;
. = ALIGN(CONSTANT(MAXPAGESIZE));
__tbss_start = .;
.tbss : {
*(.tbss .tbss.*)
} :bss :tls
} :tls
__tbss_end = .;
. = ALIGN(CONSTANT(MAXPAGESIZE));
__tls_size = __tbss_end - __tdata_start;
__bss_start = .;
.bss : {
*(.bss .bss.*)
} :data
__bss_end = .;
/DISCARD/ : {
*(.eh_frame*)
*(.note .note.*)