Home
last modified time | relevance | path

Searched hist:b011a82a6399c722ff1aa62c68456845d9a1be0f (Results 1 – 1 of 1) sorted by relevance

/optee_os/ta/arch/arm/
H A Dta.ld.Sb011a82a6399c722ff1aa62c68456845d9a1be0f Tue Jul 21 08:54:44 UTC 2020 Jerome Forissier <jerome@forissier.org> ta: ta.ld.S: add .tdata and .tbss sections

Preparing for C++ support in TAs.

TA object file generated by a thread-enabled toolchain (such as g++
built without --disable-threads) may contain .tdata* and .tbss*
sections even if the application is single threaded. Those are similar
to .data and .bss except that they are templates to be used by the
runtime code to set up Thread Local Storage data blocks.

This commit adds those two sections as well as related relocation
sections (.rel.tdata, .rel.tbss, .rela.tdata, .rela.tbss). The
fragments are copied from GCC's internal linker script (shown by
-Wl,-verbose). They are inserted next to .dynamic and .got because they
may all be part of a RELRO segment if the linker chooses to create one.
In practice there can be only one RELRO segment [1] so sections have to
be contiguous. Note that ldelf currently ignores RELRO.

[1] https://reviews.llvm.org/D40029

Signed-off-by: Jerome Forissier <jerome@forissier.org>
Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>