summaryrefslogtreecommitdiffstats
path: root/testsuites/libtests/dl08
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2019-01-15 17:47:41 +1100
committerChris Johns <chrisj@rtems.org>2019-02-09 10:06:34 +1100
commitd8c70ba65b13cd023b50b8aed5d91e455017cdd5 (patch)
treef78c3441ef74a7315ef4f7850bd27631bf0d2502 /testsuites/libtests/dl08
parentlibdl: Fix the support for constructors and desctructors. (diff)
downloadrtems-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.c36
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);