Implement userspace TLS, remove RW Locks
This commit is contained in:
@@ -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.*)
|
||||
|
||||
Reference in New Issue
Block a user