mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-10-17 10:17:45 -04:00
Demo/RISC-V_RV32_QEMU_VIRT_GCC: Add TLS support to linker script
Allocate ROM for initialized thread local storage variables. Allocate TLS offsets for all thread local storage variables. Signed-off-by: Keith Packard <keithpac@amazon.com>
This commit is contained in:
parent
9add6bdf98
commit
bc1a95e9e7
1 changed files with 19 additions and 0 deletions
|
@ -51,6 +51,25 @@ SECTIONS
|
||||||
_erodata = .;
|
_erodata = .;
|
||||||
} >rom AT>rom
|
} >rom AT>rom
|
||||||
|
|
||||||
|
.tdata : {
|
||||||
|
*(.tdata .tdata.*)
|
||||||
|
} >rom AT>rom
|
||||||
|
|
||||||
|
.tbss (NOLOAD) : {
|
||||||
|
*(.tbss .tbss.* .gnu.linkonce.tb.*)
|
||||||
|
*(.tcommon)
|
||||||
|
PROVIDE( __tbss_end = . );
|
||||||
|
PROVIDE( __tls_end = . );
|
||||||
|
} >rom AT>rom
|
||||||
|
PROVIDE( __tdata_source = LOADADDR(.tdata) );
|
||||||
|
PROVIDE( __tdata_source_end = LOADADDR(.tdata) + SIZEOF(.tdata) );
|
||||||
|
PROVIDE( __tdata_size = SIZEOF(.tdata) );
|
||||||
|
PROVIDE( __tbss_offset = ADDR(.tbss) - ADDR(.tdata) );
|
||||||
|
PROVIDE( __tbss_start = ADDR(.tbss) );
|
||||||
|
PROVIDE( __tbss_size = SIZEOF(.tbss) );
|
||||||
|
PROVIDE( __tls_size = __tls_end - ADDR(.tdata) );
|
||||||
|
PROVIDE( __tls_align = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss)) );
|
||||||
|
|
||||||
.data.align :
|
.data.align :
|
||||||
{
|
{
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue