Searched hist:bb8cd6f08ea47e3f0d58169846fee0bbae18caae (Results 1 – 1 of 1) sorted by relevance
| /optee_os/ldelf/ |
| H A D | ta_elf_rel.c | bb8cd6f08ea47e3f0d58169846fee0bbae18caae Mon Aug 03 07:58:33 UTC 2020 Jerome Forissier <jerome@forissier.org> ldelf: __resolve_sym(): support STT_NOTYPE
Symbols defined in a linker script are assigned type STT_NOTYPE, but the __resolve_sym() function in ldelf only supports STT_OBJECT and STT_FUNCTION. As a result, it is impossible to resolve STT_NOTYPE symbols at runtime. This causes an error in shared libraries when ftrace is enabled:
# Platform: QEMU $ make CFG_FTRACE_SUPPORT=y CFLAGS_ta_arm32=-pg run
$ xtest 1019
D/LD: ldelf:134 Loading TA 5b9e0e40-2636-11e1-ad9e-0002a5d5c51b E/LD: __resolve_sym:61 Symbol type not supported E/TC:? 0 init_with_ldelf:232 ldelf failed with res: 0xffff000a
* regression_1019 Test dynamically linked TA regression_1000.c:1502: [...] TEEC_ERROR_NOT_SUPPORTED
This commit adds STT_NOTYPE to the supported types, handled the same way as STT_OBJECT and STT_FUNCTION.
Fixes: 97c5ac19427b ("ldelf: check ranges in __resolve_sym()") Signed-off-by: Jerome Forissier <jerome@forissier.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
|