diff options
author | Jerome Forissier <jerome.forissier@linaro.org> | 2019-08-01 18:08:24 +0200 |
---|---|---|
committer | Jérôme Forissier <jerome.forissier@linaro.org> | 2019-08-23 18:47:16 +0200 |
commit | ebef121c1f5cd813489c823c81834f83e7f5fb4e (patch) | |
tree | 031bfc745d3dec8315fdb49ef2549e44d829ebe8 /ldelf/sub.mk | |
parent | 791ee55c91758bc4e1379755024af64bc1a53189 (diff) |
core, ldelf: add support for runtime loading of shared libraries
This commit prepares the introduction of libdl, a dynamic linking
library which will allow TAs to load shared libraries at run time,
and resolve symbols on demand. It adds the following function to the
system PTA, inspired from the POSIX dlopen() and dlsym():
- system_dlopen(): takes a UUID and flags. Performs an upcall into
ldelf which then uses the usual system PTA functions to load an map the
requested library into the address space of the calling TA.
- system_dlsym(): takes a UUID and a symbol name. The symbol is
looked up in the library specified by UUID by calling into ldelf. If
UUID is all zeros, all the mapped binaries are searched.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
Diffstat (limited to 'ldelf/sub.mk')
-rw-r--r-- | ldelf/sub.mk | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/ldelf/sub.mk b/ldelf/sub.mk index 89abc469..d1f9ae9e 100644 --- a/ldelf/sub.mk +++ b/ldelf/sub.mk @@ -1,6 +1,7 @@ global-incdirs-y += include srcs-$(CFG_ARM32_$(sm)) += start_a32.S srcs-$(CFG_ARM64_$(sm)) += start_a64.S +srcs-y += dl.c srcs-y += main.c srcs-y += sys.c srcs-y += ta_elf.c |