mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
cpu: Add TLS symbols for newer picolibc to linker scripts
Newer picolibc versions require some additional symbols defined in the linker script to correctly manage alignment constraints on thread local storage. Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
parent
743ae3f095
commit
fb01e6a3fb
@ -132,6 +132,10 @@ SECTIONS
|
||||
} > rom
|
||||
__tls_size = __tbss_end - __tdata_start;
|
||||
__tbss_size = __tls_size - __tdata_size;
|
||||
PROVIDE( __tbss_offset = ADDR(.tbss) - ADDR(.tdata) );
|
||||
PROVIDE( __tls_align = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss)) );
|
||||
PROVIDE( __arm32_tls_tcb_offset = MAX(8, __tls_align) );
|
||||
PROVIDE( __arm64_tls_tcb_offset = MAX(16, __tls_align) );
|
||||
|
||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
||||
PROVIDE_HIDDEN (__exidx_start = .);
|
||||
|
@ -106,6 +106,9 @@ SECTIONS
|
||||
} > rom
|
||||
__tls_size = __tbss_end - __tdata_start;
|
||||
__tbss_size = __tls_size - __tdata_size;
|
||||
PROVIDE( __tls_align = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss)) );
|
||||
PROVIDE( __arm32_tls_tcb_offset = MAX(8, __tls_align) );
|
||||
PROVIDE( __arm64_tls_tcb_offset = MAX(16, __tls_align) );
|
||||
|
||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
||||
PROVIDE_HIDDEN (__exidx_start = .);
|
||||
|
@ -159,6 +159,8 @@ SECTIONS
|
||||
} >flash : tls
|
||||
__tls_size = __tbss_end - __tdata_start;
|
||||
__tbss_size = __tls_size - __tdata_size;
|
||||
PROVIDE( __tbss_offset = ADDR(.tbss) - ADDR(.tdata) );
|
||||
PROVIDE( __tls_align = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss)) );
|
||||
|
||||
.lalign :
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user