diff options
author | Chris Johns <chrisj@rtems.org> | 2019-01-15 17:47:41 +1100 |
---|---|---|
committer | Chris Johns <chrisj@rtems.org> | 2019-02-09 10:06:34 +1100 |
commit | d8c70ba65b13cd023b50b8aed5d91e455017cdd5 (patch) | |
tree | f78c3441ef74a7315ef4f7850bd27631bf0d2502 /testsuites/libtests/dl08 | |
parent | libdl: Fix the support for constructors and desctructors. (diff) | |
download | rtems-d8c70ba65b13cd023b50b8aed5d91e455017cdd5.tar.bz2 |
libdl: Add support for trampolines
- Trampolines or fixups for veneers provide long jump support
for instruciton sets that implement short relative address
branches. The linker provides trampolines when creating a
static image. This patch adds trampoline support to libdl
and the ARM architecture.
- The dl09 test requires enough memory so modules are outside
the relative branch instruction ranges for the architecture.
Updates #3685
Diffstat (limited to 'testsuites/libtests/dl08')
-rw-r--r-- | testsuites/libtests/dl08/dl-load.c | 36 |
1 files changed, 21 insertions, 15 deletions
diff --git a/testsuites/libtests/dl08/dl-load.c b/testsuites/libtests/dl08/dl-load.c index 615a837b39..6f4c6f3fa4 100644 --- a/testsuites/libtests/dl08/dl-load.c +++ b/testsuites/libtests/dl08/dl-load.c @@ -7,18 +7,24 @@ * http://www.rtems.org/license/LICENSE. */ -#define ARCHIVE_TRACE (RTEMS_RTL_TRACE_DETAIL | \ - RTEMS_RTL_TRACE_WARNING | \ - RTEMS_RTL_TRACE_LOAD | \ - RTEMS_RTL_TRACE_UNLOAD | \ - RTEMS_RTL_TRACE_SYMBOL | \ - RTEMS_RTL_TRACE_RELOC | \ - RTEMS_RTL_TRACE_ALLOCATOR | \ - RTEMS_RTL_TRACE_UNRESOLVED | \ - RTEMS_RTL_TRACE_ARCHIVES | \ - RTEMS_RTL_TRACE_DEPENDENCY) -#define DL08_DEBUG_TRACE 0 /* RTEMS_RTL_TRACE_ALL */ -#define DL08_RTL_CMDS 0 +#define TEST_TRACE 0 +#if TEST_TRACE + #define DEBUG_TRACE (RTEMS_RTL_TRACE_DETAIL | \ + RTEMS_RTL_TRACE_WARNING | \ + RTEMS_RTL_TRACE_LOAD | \ + RTEMS_RTL_TRACE_UNLOAD | \ + RTEMS_RTL_TRACE_SYMBOL | \ + RTEMS_RTL_TRACE_RELOC | \ + RTEMS_RTL_TRACE_ALLOCATOR | \ + RTEMS_RTL_TRACE_UNRESOLVED | \ + RTEMS_RTL_TRACE_ARCHIVES | \ + RTEMS_RTL_TRACE_DEPENDENCY) + #define DL_DEBUG_TRACE DEBUG_TRACE /* RTEMS_RTL_TRACE_ALL */ + #define DL_RTL_CMDS 1 +#else + #define DL_DEBUG_TRACE 0 + #define DL_RTL_CMDS 0 +#endif #include <dlfcn.h> @@ -33,7 +39,7 @@ typedef int (*call_sig)(void); static void dl_load_dump (void) { -#if DL08_RTL_CMDS +#if DL_RTL_CMDS char* list[] = { "rtl", "list", NULL }; char* sym[] = { "rtl", "sym", NULL }; printf ("RTL List:\n"); @@ -114,8 +120,8 @@ int dl_load_test(void) printf ("Test source (link in strstr): %s\n", dl_localise_file (__FILE__)); -#if DL08_DEBUG_TRACE - rtems_rtl_trace_set_mask (DL08_DEBUG_TRACE); +#if DL_DEBUG_TRACE + rtems_rtl_trace_set_mask (DL_DEBUG_TRACE); #endif o1 = dl_load_obj("/dl08-o1.o", false); |