diff options
author | Chris Johns <chrisj@rtems.org> | 2019-01-22 08:48:19 +1100 |
---|---|---|
committer | Chris Johns <chrisj@rtems.org> | 2019-02-09 10:06:34 +1100 |
commit | 194eb403c39f5ad346e63dc3352e29570857fd93 (patch) | |
tree | 3ef4976810a6e4545a0d4c68138c270ed3abd22c /testsuites/libtests/dl09/dl-load.c | |
parent | libdl: Add support for trampolines (diff) | |
download | rtems-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 'testsuites/libtests/dl09/dl-load.c')
-rw-r--r-- | testsuites/libtests/dl09/dl-load.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/testsuites/libtests/dl09/dl-load.c b/testsuites/libtests/dl09/dl-load.c index ee0ef0a335..160f8157d9 100644 --- a/testsuites/libtests/dl09/dl-load.c +++ b/testsuites/libtests/dl09/dl-load.c @@ -99,7 +99,7 @@ static void dl_check_resolved(void* handle, bool has_unresolved) handle, unresolved != 0 ? "" : "no "); } -static void* dl_load_obj(const char* name, bool has_unresolved) +static void* dl_load_obj (const char* name, bool has_unresolved) { void* handle; @@ -184,11 +184,17 @@ int dl_load_test(void) dl_load_dump (); + /* + * Check for any resolved externals. + */ + printf ("Check is any unresolved externals exist:\n"); + dl_check_resolved (RTLD_SELF, false); + printf ("Running rtems_main_o1:\n"); if (dl_call (o[0].handle, "rtems_main_o1")) return 1; - for (i = 0; i < NUMOF(od); ++i) + for (i = 0; i < NUMOF (od); ++i) dl_object_close (&o[i]); return 0; |