diff options
author | Chris Johns <chrisj@rtems.org> | 2019-02-02 15:09:53 +1100 |
---|---|---|
committer | Chris Johns <chrisj@rtems.org> | 2019-02-09 10:06:34 +1100 |
commit | 6c9f0176a916cdbe88e04417e7aa1405d80c500f (patch) | |
tree | 1846dd800a123e682f15e49a893426a9a6a064c4 /testsuites/libtests/dl09 | |
parent | libdl: Add support for large memory programs (diff) | |
download | rtems-6c9f0176a916cdbe88e04417e7aa1405d80c500f.tar.bz2 |
libdl: Add powerpc large memory and small data support.
- Add support for architecure sections that can be handled by the
architecture back end.
- Add trampoline/fixup support for PowerPC. This means the PowerPC
now supports large memory loading of applications.
- Add a bit allocator to manage small block based regions of memory.
- Add small data (sdata/sbss) support for the PowerPC. The support
makes the linker allocated small data region of memory a global
resource available to libdl loaded object files.
Updates #3687
Updates #3685
Diffstat (limited to 'testsuites/libtests/dl09')
-rw-r--r-- | testsuites/libtests/dl09/dl-load.c | 4 | ||||
-rw-r--r-- | testsuites/libtests/dl09/dl-o1.c | 19 | ||||
-rw-r--r-- | testsuites/libtests/dl09/dl-o2.c | 15 | ||||
-rw-r--r-- | testsuites/libtests/dl09/dl-o3.c | 25 | ||||
-rw-r--r-- | testsuites/libtests/dl09/dl-o4.c | 21 | ||||
-rw-r--r-- | testsuites/libtests/dl09/dl-o5.c | 13 |
6 files changed, 52 insertions, 45 deletions
diff --git a/testsuites/libtests/dl09/dl-load.c b/testsuites/libtests/dl09/dl-load.c index 160f8157d9..ab9a0df85b 100644 --- a/testsuites/libtests/dl09/dl-load.c +++ b/testsuites/libtests/dl09/dl-load.c @@ -18,7 +18,9 @@ RTEMS_RTL_TRACE_ALLOCATOR | \ RTEMS_RTL_TRACE_UNRESOLVED | \ RTEMS_RTL_TRACE_ARCHIVES | \ - RTEMS_RTL_TRACE_DEPENDENCY) + RTEMS_RTL_TRACE_DEPENDENCY | \ + RTEMS_RTL_TRACE_LOAD_SECT | \ + RTEMS_RTL_TRACE_BIT_ALLOC) #define DL09_DEBUG_TRACE DEBUG_TRACE /* RTEMS_RTL_TRACE_ALL */ #define DL09_RTL_CMDS 1 #else diff --git a/testsuites/libtests/dl09/dl-o1.c b/testsuites/libtests/dl09/dl-o1.c index 22b839a438..438c05eee9 100644 --- a/testsuites/libtests/dl09/dl-o1.c +++ b/testsuites/libtests/dl09/dl-o1.c @@ -44,16 +44,17 @@ int rtems_main_o1 (void); int rtems_main_o1 (void) { - printf (DL_NAME ": module: %s\n", dl_localise_file (__FILE__)); - printf (DL_NAME ": dl01_bss1: %4u: %p: %d\n", PAINT_VAR (dl01_bss1)); - printf (DL_NAME ": dl01_bss2: %4u: %p: %f\n", PAINT_VAR (dl01_bss2[0])); - printf (DL_NAME ": dl01_bss3: %4u: %p: %02x\n", PAINT_VAR (dl01_bss3[0])); - printf (DL_NAME ": dl01_data1: %4u: %p: %d\n", PAINT_VAR (dl01_data1)); + printf (DL_NAME ": module: %s @ %p\n", + dl_localise_file (__FILE__), rtems_main_o1); + printf (DL_NAME ": dl01_bss1: %4zu: %p: %d\n", PAINT_VAR (dl01_bss1)); + printf (DL_NAME ": dl01_bss2: %4zu: %p: %f\n", PAINT_VAR (dl01_bss2[0])); + printf (DL_NAME ": dl01_bss3: %4zu: %p: %02x\n", PAINT_VAR (dl01_bss3[0])); + printf (DL_NAME ": dl01_data1: %4zu: %p: %d\n", PAINT_VAR (dl01_data1)); /* no %f in the rtems test printer */ - printf (DL_NAME ": dl01_data2: %4u: %p: %f\n", PAINT_VAR (dl01_data2)); - printf (DL_NAME ": dl01_const1: %4u: %p: %d\n", PAINT_VAR (dl01_const1)); - printf (DL_NAME ": dl01_const2: %4u: %p: %f\n", PAINT_VAR (dl01_const2)); - printf (DL_NAME ": dl01_func1: %4u: %p\n", sizeof(dl01_func1), &dl01_func1); + printf (DL_NAME ": dl01_data2: %4zu: %p: %f\n", PAINT_VAR (dl01_data2)); + printf (DL_NAME ": dl01_const1: %4zu: %p: %d\n", PAINT_VAR (dl01_const1)); + printf (DL_NAME ": dl01_const2: %4zu: %p: %f\n", PAINT_VAR (dl01_const2)); + printf (DL_NAME ": dl01_func1: %4zu: %p\n", sizeof(dl01_func1), &dl01_func1); rtems_main_o2 (); diff --git a/testsuites/libtests/dl09/dl-o2.c b/testsuites/libtests/dl09/dl-o2.c index 907fe9a268..4b9f15cd28 100644 --- a/testsuites/libtests/dl09/dl-o2.c +++ b/testsuites/libtests/dl09/dl-o2.c @@ -17,7 +17,7 @@ int dl02_bss1; float dl02_bss2[7]; char dl02_bss3[21]; -int dl02_data1; +int dl02_data1 = 0x12345678; float dl02_data2; #define DL_NAME "dlo2" @@ -25,13 +25,14 @@ float dl02_data2; int rtems_main_o2 (void) { - printf (DL_NAME ": module: %s\n", dl_localise_file (__FILE__)); - printf (DL_NAME ": dl02_bss1: %4u: %p: %d\n", PAINT_VAR (dl02_bss1)); - printf (DL_NAME ": dl02_bss2: %4u: %p: %f\n", PAINT_VAR (dl02_bss2[0])); - printf (DL_NAME ": dl02_bss3: %4u: %p: %02x\n", PAINT_VAR (dl02_bss3[0])); - printf (DL_NAME ": dl02_data1: %4u: %p: %d\n", PAINT_VAR (dl02_data1)); + printf (DL_NAME ": module: %s @ %p\n", + dl_localise_file (__FILE__), rtems_main_o2); + printf (DL_NAME ": dl02_bss1: %4zu: %p: %d\n", PAINT_VAR (dl02_bss1)); + printf (DL_NAME ": dl02_bss2: %4zu: %p: %f\n", PAINT_VAR (dl02_bss2[0])); + printf (DL_NAME ": dl02_bss3: %4zu: %p: %02x\n", PAINT_VAR (dl02_bss3[0])); + printf (DL_NAME ": dl02_data1: %4zu: %p: %08x\n", PAINT_VAR (dl02_data1)); /* no %f in the rtems test printer */ - printf (DL_NAME ": dl02_data2: %4u: %p: %f\n", PAINT_VAR (dl02_data2)); + printf (DL_NAME ": dl02_data2: %4zu: %p: %f\n", PAINT_VAR (dl02_data2)); rtems_main_o3 (); diff --git a/testsuites/libtests/dl09/dl-o3.c b/testsuites/libtests/dl09/dl-o3.c index 4333f34057..7f8f419bb1 100644 --- a/testsuites/libtests/dl09/dl-o3.c +++ b/testsuites/libtests/dl09/dl-o3.c @@ -21,18 +21,19 @@ int rtems_main_o3 () { - printf (DL_NAME ": module: %s\n", dl_localise_file (__FILE__)); - printf (DL_NAME ": dl04_unresolv_1: %4u: %p: %d\n", PAINT_VAR (dl04_unresolv_1)); - printf (DL_NAME ": dl04_unresolv_2: %4u: %p: %f\n", PAINT_VAR (dl04_unresolv_2)); - printf (DL_NAME ": dl04_unresolv_3: %4u: %p: %02x\n", PAINT_VAR (dl04_unresolv_3)); - printf (DL_NAME ": dl04_unresolv_4: %4u: %p: %p\n", PAINT_VAR (dl04_unresolv_4)); - printf (DL_NAME ": dl04_unresolv_5: %4u: %p: %d\n", PAINT_VAR (dl04_unresolv_5)); - printf (DL_NAME ": dl04_unresolv_6: %4u: %p: %s\n", PAINT_VAR (dl04_unresolv_6)); - printf (DL_NAME ": dl05_unresolv_1: %4u: %p: %" PRIu64 "\n", PAINT_VAR (dl05_unresolv_1)); - printf (DL_NAME ": dl05_unresolv_2: %4u: %p: %" PRIu16 "\n", PAINT_VAR (dl05_unresolv_2)); - printf (DL_NAME ": dl05_unresolv_3: %4u: %p: %" PRIu32 "\n", PAINT_VAR (dl05_unresolv_3)); - printf (DL_NAME ": dl05_unresolv_4: %4u: %p: %" PRIu8 "\n", PAINT_VAR (dl05_unresolv_4)); - printf (DL_NAME ": dl05_unresolv_5: %4u: %p: %" PRIi64 "\n", PAINT_VAR (dl05_unresolv_5)); + printf (DL_NAME ": module: %s : %p\n", + dl_localise_file (__FILE__), rtems_main_o3); + printf (DL_NAME ": dl04_unresolv_1: %4zu: %p: %d\n", PAINT_VAR (dl04_unresolv_1)); + printf (DL_NAME ": dl04_unresolv_2: %4zu: %p: %f\n", PAINT_VAR (dl04_unresolv_2)); + printf (DL_NAME ": dl04_unresolv_3: %4zu: %p: %02x\n", PAINT_VAR (dl04_unresolv_3)); + printf (DL_NAME ": dl04_unresolv_4: %4zu: %p: %p\n", PAINT_VAR (dl04_unresolv_4)); + printf (DL_NAME ": dl04_unresolv_5: %4zu: %p: %d\n", PAINT_VAR (dl04_unresolv_5)); + printf (DL_NAME ": dl04_unresolv_6: %4zu: %p: %s\n", PAINT_VAR (dl04_unresolv_6)); + printf (DL_NAME ": dl05_unresolv_1: %4zu: %p: %" PRIu64 "\n", PAINT_VAR (dl05_unresolv_1)); + printf (DL_NAME ": dl05_unresolv_2: %4zu: %p: %" PRIu16 "\n", PAINT_VAR (dl05_unresolv_2)); + printf (DL_NAME ": dl05_unresolv_3: %4zu: %p: %" PRIu32 "\n", PAINT_VAR (dl05_unresolv_3)); + printf (DL_NAME ": dl05_unresolv_4: %4zu: %p: %" PRIu8 "\n", PAINT_VAR (dl05_unresolv_4)); + printf (DL_NAME ": dl05_unresolv_5: %4zu: %p: %" PRIi64 "\n", PAINT_VAR (dl05_unresolv_5)); rtems_main_o4 (); diff --git a/testsuites/libtests/dl09/dl-o4.c b/testsuites/libtests/dl09/dl-o4.c index 60ada7ac68..9fea2e5d5c 100644 --- a/testsuites/libtests/dl09/dl-o4.c +++ b/testsuites/libtests/dl09/dl-o4.c @@ -14,10 +14,10 @@ #define printf(...) rtems_printf(&rtems_test_printer, __VA_ARGS__); -int dl04_unresolv_1; +int dl04_unresolv_1 = 12345; float dl04_unresolv_2; -char dl04_unresolv_3; -char* dl04_unresolv_4; +char dl04_unresolv_3 = 'z'; +char* dl04_unresolv_4 = "aBcDeF"; const int dl04_unresolv_5 = 4; const char* dl04_unresolv_6 = "dl-O4"; @@ -26,13 +26,14 @@ const char* dl04_unresolv_6 = "dl-O4"; int rtems_main_o4 (void) { - printf (DL_NAME ": module: %s\n", dl_localise_file (__FILE__)); - printf (DL_NAME ": dl04_unresolv_1: %4u: %p: %d\n", PAINT_VAR (dl04_unresolv_1)); - printf (DL_NAME ": dl04_unresolv_2: %4u: %p: %f\n", PAINT_VAR (dl04_unresolv_2)); - printf (DL_NAME ": dl04_unresolv_3: %4u: %p: %02x\n", PAINT_VAR (dl04_unresolv_3)); - printf (DL_NAME ": dl04_unresolv_4: %4u: %p: %p\n", PAINT_VAR (dl04_unresolv_4)); - printf (DL_NAME ": dl04_unresolv_5: %4u: %p: %d\n", PAINT_VAR (dl04_unresolv_5)); - printf (DL_NAME ": dl04_unresolv_6: %4u: %p: %s\n", PAINT_VAR (dl04_unresolv_6)); + printf (DL_NAME ": module: %s @ %p\n", + dl_localise_file (__FILE__), rtems_main_o4); + printf (DL_NAME ": dl04_unresolv_1: %4zu: %p: %d\n", PAINT_VAR (dl04_unresolv_1)); + printf (DL_NAME ": dl04_unresolv_2: %4zu: %p: %f\n", PAINT_VAR (dl04_unresolv_2)); + printf (DL_NAME ": dl04_unresolv_3: %4zu: %p: %02x\n", PAINT_VAR (dl04_unresolv_3)); + printf (DL_NAME ": dl04_unresolv_4: %4zu: %p: %s\n", PAINT_VAR (dl04_unresolv_4)); + printf (DL_NAME ": dl04_unresolv_5: %4zu: %p: %d\n", PAINT_VAR (dl04_unresolv_5)); + printf (DL_NAME ": dl04_unresolv_6: %4zu: %p: %s\n", PAINT_VAR (dl04_unresolv_6)); rtems_main_o5 (); diff --git a/testsuites/libtests/dl09/dl-o5.c b/testsuites/libtests/dl09/dl-o5.c index fc02e19272..fb1169256c 100644 --- a/testsuites/libtests/dl09/dl-o5.c +++ b/testsuites/libtests/dl09/dl-o5.c @@ -26,12 +26,13 @@ int64_t dl05_unresolv_5; int rtems_main_o5 (void) { - printf (DL_NAME ": module: %s\n", dl_localise_file (__FILE__)); - printf (DL_NAME ": dl05_unresolv_1: %4u: %p: %" PRIu64 "\n", PAINT_VAR (dl05_unresolv_1)); - printf (DL_NAME ": dl05_unresolv_2: %4u: %p: %" PRIu16 "\n", PAINT_VAR (dl05_unresolv_2)); - printf (DL_NAME ": dl05_unresolv_3: %4u: %p: %" PRIu32 "\n", PAINT_VAR (dl05_unresolv_3)); - printf (DL_NAME ": dl05_unresolv_4: %4u: %p: %" PRIu8 "\n", PAINT_VAR (dl05_unresolv_4)); - printf (DL_NAME ": dl05_unresolv_5: %4u: %p: %" PRIi64 "\n", PAINT_VAR (dl05_unresolv_5)); + printf (DL_NAME ": module: %s @ %p\n", + dl_localise_file (__FILE__), rtems_main_o5); + printf (DL_NAME ": dl05_unresolv_1: %4zu: %p: %" PRIu64 "\n", PAINT_VAR (dl05_unresolv_1)); + printf (DL_NAME ": dl05_unresolv_2: %4zu: %p: %" PRIu16 "\n", PAINT_VAR (dl05_unresolv_2)); + printf (DL_NAME ": dl05_unresolv_3: %4zu: %p: %" PRIu32 "\n", PAINT_VAR (dl05_unresolv_3)); + printf (DL_NAME ": dl05_unresolv_4: %4zu: %p: %" PRIu8 "\n", PAINT_VAR (dl05_unresolv_4)); + printf (DL_NAME ": dl05_unresolv_5: %4zu: %p: %" PRIi64 "\n", PAINT_VAR (dl05_unresolv_5)); return 0; } |