Skip to content

Commit f485fa0

Browse files
committed
[bsp][ra8m1] fix llvm-arm compile error
1 parent 5a28bd1 commit f485fa0

File tree

1 file changed

+35
-1
lines changed
  • bsp/renesas/ra8m1-ek/script

1 file changed

+35
-1
lines changed

bsp/renesas/ra8m1-ek/script/fsp.ld

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -611,6 +611,40 @@ SECTIONS
611611
__bss_end__ = .;
612612
} > RAM
613613

614+
.tdata :
615+
{
616+
*(.tdata .tdata.* .gnu.linkonce.td.*)
617+
__tdata_end = .;
618+
} > RAM AT > FLASH
619+
PROVIDE( __tls_base = ADDR(.tdata));
620+
PROVIDE( __tdata_start = ADDR(.tdata));
621+
PROVIDE( __tdata_source = LOADADDR(.tdata) );
622+
PROVIDE( __tdata_source_end = LOADADDR(.tdata) + SIZEOF(.tdata) );
623+
PROVIDE( __data_source_end = __tdata_source_end );
624+
PROVIDE( __tdata_size = SIZEOF(.tdata) );
625+
626+
/*
627+
* TLS zeroed data is relocated as if it immediately followed
628+
* the tdata values. However, the linker 'magically' erases the
629+
* memory allocation so that no ROM is consumed by this
630+
* section
631+
*/
632+
.tbss :
633+
{
634+
*(.tbss .tbss.* .gnu.linkonce.tb.*)
635+
*(.tcommon)
636+
PROVIDE( __tls_end = . );
637+
PROVIDE( __tbss_end = . );
638+
} > RAM
639+
PROVIDE( __tbss_start = ADDR(.tbss));
640+
PROVIDE( __tbss_offset = ADDR(.tbss) - ADDR(.tdata) );
641+
PROVIDE( __tbss_size = SIZEOF(.tbss) );
642+
PROVIDE( __tls_size = __tls_end - __tls_base );
643+
PROVIDE( __tls_align = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss)) );
644+
PROVIDE( __tls_size_align = (__tls_size + __tls_align - 1) & ~(__tls_align - 1));
645+
PROVIDE( __arm32_tls_tcb_offset = MAX(8, __tls_align) );
646+
PROVIDE( __arm64_tls_tcb_offset = MAX(16, __tls_align) );
647+
614648
.heap (NOLOAD):
615649
{
616650
. = ALIGN(8);
@@ -837,4 +871,4 @@ SECTIONS
837871

838872
/* Symbol required for RA Configuration tool. */
839873
__tz_OPTION_SETTING_DATA_FLASH_S_N = __OPTION_SETTING_DATA_FLASH_S_End;
840-
}
874+
}

0 commit comments

Comments
 (0)