From b36c52097f52012f9a52dff6fc8393d63805158b Mon Sep 17 00:00:00 2001 From: Chris Johns Date: Fri, 3 May 2019 10:15:20 +1000 Subject: libdl: Do not access the ELF file while the allocator is locked. - Load symbols before allocation. - Parse reloc records and place any reloc recs in a cache to use while the allocator is locked. - Relocate symbols after section allocation. - Split section loading into allocation/locating and loading. - Update all arch back-ends with a new reloc interface to control tramp handling. - Add `-a` and `-t` to the object list shell command. Closes #3741 --- testsuites/libtests/dl08/init.c | 2 +- testsuites/libtests/dl09/dl-o1.c | 1 + testsuites/libtests/dl09/dl09.doc | 2 +- testsuites/libtests/dl09/init.c | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) (limited to 'testsuites/libtests') diff --git a/testsuites/libtests/dl08/init.c b/testsuites/libtests/dl08/init.c index 87f7f9b142..d1f01a56bd 100644 --- a/testsuites/libtests/dl08/init.c +++ b/testsuites/libtests/dl08/init.c @@ -56,7 +56,7 @@ static void Init(rtems_task_argument arg) exit (1); } - for (i = 0; i < 100; ++i) + for (i = 0; i < 4; ++i) { printf ("--------------------------------------------------\n"); printf (" Run: %d\n", i); diff --git a/testsuites/libtests/dl09/dl-o1.c b/testsuites/libtests/dl09/dl-o1.c index 438c05eee9..9404a45732 100644 --- a/testsuites/libtests/dl09/dl-o1.c +++ b/testsuites/libtests/dl09/dl-o1.c @@ -55,6 +55,7 @@ int rtems_main_o1 (void) 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); + printf (DL_NAME ": rtems_main_o2: %p\n", &rtems_main_o2); rtems_main_o2 (); diff --git a/testsuites/libtests/dl09/dl09.doc b/testsuites/libtests/dl09/dl09.doc index 4c5d97ef2a..f9df9a276d 100644 --- a/testsuites/libtests/dl09/dl09.doc +++ b/testsuites/libtests/dl09/dl09.doc @@ -18,6 +18,6 @@ directives: concepts: -+ Load modules with a space between then so short address range relative ++ Load modules with a space between them so short address range relative instructions require trampolines. + Repeat 100 times. diff --git a/testsuites/libtests/dl09/init.c b/testsuites/libtests/dl09/init.c index dbcc7ba84c..5343a1dcdf 100644 --- a/testsuites/libtests/dl09/init.c +++ b/testsuites/libtests/dl09/init.c @@ -56,7 +56,7 @@ static void Init(rtems_task_argument arg) exit (1); } - for (i = 0; i < 100; ++i) + for (i = 0; i < 4; ++i) { printf ("--------------------------------------------------\n"); printf (" Run: %d\n", i); -- cgit v1.2.3