summaryrefslogtreecommitdiffstats
path: root/cpukit/libdl/rtl.c
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2019-01-22 08:48:19 +1100
committerChris Johns <chrisj@rtems.org>2019-02-09 10:06:34 +1100
commit194eb403c39f5ad346e63dc3352e29570857fd93 (patch)
tree3ef4976810a6e4545a0d4c68138c270ed3abd22c /cpukit/libdl/rtl.c
parentlibdl: Add support for trampolines (diff)
downloadrtems-194eb403c39f5ad346e63dc3352e29570857fd93.tar.bz2
libdl: Add support for large memory programs
- Add trampolines to support relocs that are out of range on support architectures. - Support not loading separate text/data sections in an object file if the symbol provided in the section is a duplicate. A base image may have pulled in part of an object and another part needs to be dynamically loaded. - Refactor the unresolved handling to scale to hundreds of unresolved symbols when loading large number of files. Updates #3685
Diffstat (limited to 'cpukit/libdl/rtl.c')
-rw-r--r--cpukit/libdl/rtl.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/cpukit/libdl/rtl.c b/cpukit/libdl/rtl.c
index a3664c7e34..e3dba5a206 100644
--- a/cpukit/libdl/rtl.c
+++ b/cpukit/libdl/rtl.c
@@ -144,7 +144,7 @@ rtems_rtl_data_init (void)
/*
* Open the archives.
*/
- rtems_rtl_archives_open (&rtl->archives, "/etc/rtl-libs.conf");
+ rtems_rtl_archives_open (&rtl->archives, "/etc/libdl.conf");
/*
* Open the unresolved table.
@@ -265,6 +265,14 @@ rtems_rtl_global_symbols (void)
return &rtl->globals;
}
+const char*
+rtems_rtl_last_error_unprotected (void)
+{
+ if (!rtl)
+ return NULL;
+ return rtl->last_error;
+}
+
rtems_chain_control*
rtems_rtl_objects_unprotected (void)
{