Home
last modified time | relevance | path

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

/optee_os/ldelf/
H A Dta_elf_rel.cf104c8ee74935686aa901a0a9bc0e1af4856c059 Tue Sep 01 13:03:02 UTC 2020 Etienne Carriere <etienne.carriere@linaro.org> ldelf: arm32: support R_ARM_NONE relocations

Fixes an issue when the toolchain used to build a TA creates
R_ARM_NONE entries in the relocation table. Such relocation
type means that no relocation is expected but the relocation
table parser did not handle this type prior this change and TAs
with such entries failed to be loaded with an error message like:

E/LD: e32_relocate:378 Unknown relocation type 0

It appears that GCC 9 (at least GCC-9.2 and GCC-9.3) creates such
entries while prior version of the GCC toolchain did not.

Linker that generates the TA executable usually does not add such
relocation type entries in the relocation table as it adds
no real value at run or debug time. This change ensures that if
such entries remain in a TA, it is still loadable.

Fixes: https://github.com/OP-TEE/optee_os/issues/4064
Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (stm32mp1, qemu)
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Jerome Forissier <jerome@forissier.org>