summaryrefslogtreecommitdiffstats
path: root/cpukit/libdl/rtl-shell.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-shell.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-shell.c')
-rw-r--r--cpukit/libdl/rtl-shell.c17
1 files changed, 3 insertions, 14 deletions
diff --git a/cpukit/libdl/rtl-shell.c b/cpukit/libdl/rtl-shell.c
index c2a1af5ddd..ab5553174b 100644
--- a/cpukit/libdl/rtl-shell.c
+++ b/cpukit/libdl/rtl-shell.c
@@ -129,17 +129,6 @@ typedef struct
} rtems_rtl_obj_print;
/**
- * Return the different between 2 void*.
- */
-static size_t
-rtems_rtl_delta_voids (void* higher, void* lower)
-{
- char* ch = higher;
- char* cl = lower;
- return ch - cl;
-}
-
-/**
* Parse an argument.
*/
static bool
@@ -235,11 +224,11 @@ rtems_rtl_obj_printer (rtems_rtl_obj_print* print, rtems_rtl_obj* obj)
{
printf ("%-*cexec size : %zi\n", print->indent, ' ', obj->exec_size);
printf ("%-*ctext base : %p (%zi)\n", print->indent, ' ',
- obj->text_base, rtems_rtl_delta_voids (obj->const_base, obj->text_base));
+ obj->text_base, obj->text_size);
printf ("%-*cconst base : %p (%zi)\n", print->indent, ' ',
- obj->const_base, rtems_rtl_delta_voids (obj->data_base, obj->const_base));
+ obj->const_base, obj->const_size);
printf ("%-*cdata base : %p (%zi)\n", print->indent, ' ',
- obj->data_base, rtems_rtl_delta_voids (obj->bss_base, obj->data_base));
+ obj->data_base, obj->data_size);
printf ("%-*cbss base : %p (%zi)\n", print->indent, ' ',
obj->bss_base, obj->bss_size);
}