diff options
author | Chris Johns <chrisj@rtems.org> | 2017-03-28 17:23:05 +1100 |
---|---|---|
committer | Chris Johns <chrisj@rtems.org> | 2017-04-04 13:26:01 +1000 |
commit | d2e31f70c12f6363cef79ffad781df6ec0acdfb5 (patch) | |
tree | 3ebf30b9233ccfbff397ef245f3b74f1f2bd69dd /testsuites | |
parent | dosfs: Fix file name search (diff) | |
download | rtems-d2e31f70c12f6363cef79ffad781df6ec0acdfb5.tar.bz2 |
libdl: Back port C++ exception throw and catch from 4.12.
Closes #2956.
Diffstat (limited to 'testsuites')
28 files changed, 3515 insertions, 16 deletions
diff --git a/testsuites/libtests/Makefile.am b/testsuites/libtests/Makefile.am index ed773c4e06..8b7a39f92e 100644 --- a/testsuites/libtests/Makefile.am +++ b/testsuites/libtests/Makefile.am @@ -44,7 +44,7 @@ _SUBDIRS += syscall01 endif if DLTESTS -_SUBDIRS += dl01 dl02 +_SUBDIRS += dl01 dl02 dl03 dl04 dl05 endif include $(top_srcdir)/../automake/test-subdirs.am diff --git a/testsuites/libtests/configure.ac b/testsuites/libtests/configure.ac index 2b32a4220c..84acb0358c 100644 --- a/testsuites/libtests/configure.ac +++ b/testsuites/libtests/configure.ac @@ -127,6 +127,9 @@ deviceio01/Makefile devnullfatal01/Makefile dl01/Makefile dl02/Makefile +dl03/Makefile +dl04/Makefile +dl05/Makefile dumpbuf01/Makefile ftp01/Makefile gxx01/Makefile diff --git a/testsuites/libtests/dl01/dl01.scn b/testsuites/libtests/dl01/dl01.scn index ed53cfe66d..6a326b9437 100644 --- a/testsuites/libtests/dl01/dl01.scn +++ b/testsuites/libtests/dl01/dl01.scn @@ -1,14 +1,14 @@ + + *** BEGIN OF TEST libdl (RTL) 1 *** load: /dl-o1.o -handle: 0x2137d8 loaded -Loaded module: argc:2 -[../../../../../../../../rtems.master/c/src/../../testsuites/libtests/dl01/dl-o1.c] +handle: 0x2048cf0 loaded +Loaded module: argc:2 [/opt/work/chris/rtems/kernel/rtems.git/c/src/../../testsuites/libtests/dl01/dl-o1.c] 0: Line 1 1: Line 2 -Loaded module: argc:3 -[../../../../../../../../rtems.master/c/src/../../testsuites/libtests/dl01/dl-o1.c] +Loaded module: argc:3 [/opt/work/chris/rtems/kernel/rtems.git/c/src/../../testsuites/libtests/dl01/dl-o1.c] 0: Call 2, line 1 1: Call 2, line 2 2: Call 2, line 3 -handle: 0x2137d8 closed +handle: 0x2048cf0 closed *** END OF TEST libdl (RTL) 1 *** diff --git a/testsuites/libtests/dl01/init.c b/testsuites/libtests/dl01/init.c index 9fbdaa5618..e9c7a1a470 100644 --- a/testsuites/libtests/dl01/init.c +++ b/testsuites/libtests/dl01/init.c @@ -73,6 +73,8 @@ static void Init(rtems_task_argument arg) #define CONFIGURE_EXTRA_TASK_STACKS (8 * 1024) +#define CONFIGURE_MAXIMUM_SEMAPHORES 1 + #define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION #define CONFIGURE_RTEMS_INIT_TASKS_TABLE @@ -80,4 +82,3 @@ static void Init(rtems_task_argument arg) #define CONFIGURE_INIT #include <rtems/confdefs.h> - diff --git a/testsuites/libtests/dl02/dl02.scn b/testsuites/libtests/dl02/dl02.scn index f1b4489a5f..94fdfd7b66 100644 --- a/testsuites/libtests/dl02/dl02.scn +++ b/testsuites/libtests/dl02/dl02.scn @@ -1,22 +1,22 @@ + + *** BEGIN OF TEST libdl (RTL) 2 *** load: /dl-o1.o -handle: 0x2150d0 has unresolved externals +handle: 0x204da80 has unresolved externals load: /dl-o2.o -handle: 0x215838 loaded -Loaded module: argc:4 -[../../../../../../../../rtems.master/c/src/../../testsuites/libtests/dl02/dl-o1.c] +handle: 0x204ea98 loaded +Loaded module: argc:4 [/opt/work/chris/rtems/kernel/rtems.git/c/src/../../testsuites/libtests/dl02/dl-o1.c] 0: 1 1: 2 2: 3 3: 4 -Loaded module: argc:4 -[../../../../../../../../rtems.master/c/src/../../testsuites/libtests/dl02/dl-o2.c] +Loaded module: argc:4 [/opt/work/chris/rtems/kernel/rtems.git/c/src/../../testsuites/libtests/dl02/dl-o2.c] 0: 1 1: 2 2: 3 3: 4 dl_o1_callback: string in dl_o2 rtems_main: callback count: 3 -handle: 0x2150d0 closed -handle: 0x215838 closed +handle: 0x204da80 closed +handle: 0x204ea98 closed *** END OF TEST libdl (RTL) 2 *** diff --git a/testsuites/libtests/dl02/init.c b/testsuites/libtests/dl02/init.c index f761b465ae..bf2d1a9717 100644 --- a/testsuites/libtests/dl02/init.c +++ b/testsuites/libtests/dl02/init.c @@ -73,6 +73,8 @@ static void Init(rtems_task_argument arg) #define CONFIGURE_EXTRA_TASK_STACKS (8 * 1024) +#define CONFIGURE_MAXIMUM_SEMAPHORES 1 + #define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION #define CONFIGURE_RTEMS_INIT_TASKS_TABLE diff --git a/testsuites/libtests/dl03/Makefile.am b/testsuites/libtests/dl03/Makefile.am new file mode 100644 index 0000000000..de8a79a4ed --- /dev/null +++ b/testsuites/libtests/dl03/Makefile.am @@ -0,0 +1,19 @@ +rtems_tests_PROGRAMS = dl03 +dl03_SOURCES = init.c dl-cache.c + +dist_rtems_tests_DATA = dl03.scn dl03.doc + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(top_srcdir)/../automake/compile.am +include $(top_srcdir)/../automake/leaf.am + +AM_CPPFLAGS += -I$(top_srcdir)/../support/include + +LINK_OBJS = $(dl03_OBJECTS) +LINK_LIBS = $(dl03_LDLIBS) + +dl03$(EXEEXT): $(dl03_OBJECTS) $(dl03_DEPENDENCIES) + @rm -f dl03$(EXEEXT) + $(make-exe) + +include $(top_srcdir)/../automake/local.am diff --git a/testsuites/libtests/dl03/dl-cache.c b/testsuites/libtests/dl03/dl-cache.c new file mode 100644 index 0000000000..a2eb071e75 --- /dev/null +++ b/testsuites/libtests/dl03/dl-cache.c @@ -0,0 +1,296 @@ +/* + * Copyright (c) 2016 Chris Johns <chrisj@rtems.org>. All rights reserved. + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.org/license/LICENSE. + */ + +#ifdef HAVE_CONFIG_H + #include "config.h" +#endif + +#include "tmacros.h" + +#include <fcntl.h> +#include <sys/types.h> +#include <unistd.h> +#include <stdlib.h> +#include <stdio.h> + +#include <rtems/rtl/rtl.h> +#include <rtems/rtl/rtl-obj-cache.h> +#include <rtems/rtl/rtl-trace.h> + +#include "dl-cache.h" + +#define CACHE_SIZE (2048) +#define CACHE_SIZE_TOO_BIG (-1) +#define CACHE_BUFFER_SIZE (CACHE_SIZE * 4) + +static uint8_t* contents; + +static const char const* filename = "/dl-test"; + +static void dl_cache_create_file(void) +{ + uint16_t* p; + int fd; + int i; + rtems_test_assert((contents = malloc(CACHE_BUFFER_SIZE)) != NULL); + memset(contents, 0, CACHE_BUFFER_SIZE); + p = (uint16_t*) contents; + for (i = 0; i < (CACHE_BUFFER_SIZE / sizeof(uint16_t)); ++i) + *p++ = i; + rtems_test_assert((fd = open(filename, + O_WRONLY | O_TRUNC | O_CREAT, + S_IRUSR | S_IWUSR)) >= 0); + rtems_test_assert(write(fd, contents, CACHE_BUFFER_SIZE) == CACHE_BUFFER_SIZE); + rtems_test_assert(close(fd) >= 0); +} + +static bool dl_cache_check(void* buffer, off_t offset, size_t length) +{ + uint16_t* b; + uint16_t* c; + int i; + b = buffer; + c = (uint16_t*) (contents + offset); + printf("cache: buffer: "); + for (i = 0; i < 4; ++i) + printf("%04x/%04x ", b[i], c[i]); + printf("\n"); + return memcmp(buffer, contents + offset, length) == 0; +} + +static off_t dl_cache_buffer_offset(rtems_rtl_obj_cache_t* cache, void* buffer) +{ + return (off_t) (((uint8_t*) buffer) - ((uint8_t*) cache->buffer)); +} + +static void dl_init_rtl(void) +{ + /* + * Check the RTL object is created and can be locked and unlocked. + */ + rtems_test_assert(rtems_rtl_data () == NULL); + rtems_test_assert(rtems_rtl_lock () != NULL); + rtems_test_assert(rtems_rtl_unlock () == true); + rtems_test_assert(rtems_rtl_data () != NULL); + rtems_rtl_trace_set_mask(RTEMS_RTL_TRACE_ALL | RTEMS_RTL_TRACE_CACHE); +} + +int dl_cache_test(void) +{ + rtems_rtl_obj_cache_t cache; + int fd; + void* buffer; + off_t offset_in; + off_t offset; + size_t length_in; + size_t length; + + /* + * Make sure the RTL can initialise. + */ + dl_init_rtl(); + + /* + * Create the file to test the cache with. + */ + dl_cache_create_file(); + + /* + * Check the too big error is handled. + */ + printf ("cache create with large size\n"); + rtems_test_assert(rtems_rtl_obj_cache_open(&cache, + CACHE_SIZE_TOO_BIG) == false); + + /* + * Create a cache. + */ + printf ("cache create\n"); + rtems_test_assert(rtems_rtl_obj_cache_open(&cache, + CACHE_SIZE) == true); + rtems_test_assert(cache.fd == -1); + rtems_test_assert(cache.file_size == 0); + rtems_test_assert(cache.size == CACHE_SIZE); + rtems_test_assert(cache.buffer != NULL); + + /* + * Open the file to use with the cache tests. + */ + printf ("cache file open\n"); + rtems_test_assert((fd = open(filename, O_RDONLY)) >= 0); + + buffer = NULL; offset_in = 0; length_in = length = CACHE_SIZE / 2; + printf("cache read: in: offset=%d length=%d\n", (int) offset_in, (int) length); + rtems_test_assert(rtems_rtl_obj_cache_read(&cache, + fd, + offset_in, + &buffer, + &length) == true); + offset = dl_cache_buffer_offset(&cache, buffer); + printf("cache read: out: offset=%d length=%d\n", (int) offset, (int) length); + rtems_test_assert(offset == offset_in); + rtems_test_assert(length == length_in); + rtems_test_assert(dl_cache_check(buffer, (int) offset_in, length) == true); + + buffer = NULL; offset_in = 0; length_in = length = CACHE_SIZE; + printf("cache read: in: offset=%d length=%d\n", (int) offset_in, (int) length); + rtems_test_assert(rtems_rtl_obj_cache_read(&cache, + fd, + offset_in, + &buffer, + &length) == true); + offset = dl_cache_buffer_offset(&cache, buffer); + printf("cache read: out: offset=%d length=%d\n", (int) offset, (int) length); + rtems_test_assert(offset == offset_in); + rtems_test_assert(length == length_in); + rtems_test_assert(dl_cache_check(buffer, (int) offset_in, length) == true); + + buffer = NULL; offset_in = CACHE_SIZE / 2; length_in = length = CACHE_SIZE / 2; + printf("cache read: in: offset=%d length=%d\n", (int) offset_in, (int) length); + rtems_test_assert(rtems_rtl_obj_cache_read(&cache, + fd, + offset_in, + &buffer, + &length) == true); + offset = dl_cache_buffer_offset(&cache, buffer); + printf("cache read: out: offset=%d length=%d\n", (int) offset, (int) length); + rtems_test_assert(offset == offset_in); + rtems_test_assert(length == length_in); + rtems_test_assert(dl_cache_check(buffer, (int) offset_in, length) == true); + + buffer = NULL; offset_in = CACHE_BUFFER_SIZE - CACHE_SIZE; length_in = length = CACHE_SIZE; + printf("cache read: in: offset=%d length=%d\n", (int) offset_in, (int) length); + rtems_test_assert(rtems_rtl_obj_cache_read(&cache, + fd, + offset_in, + &buffer, + &length) == true); + offset = dl_cache_buffer_offset(&cache, buffer); + printf("cache read: out: offset=%d length=%d\n", (int) offset, (int) length); + rtems_test_assert(offset == 0); + rtems_test_assert(length == length_in); + rtems_test_assert(dl_cache_check(buffer, (int) offset_in, length) == true); + + buffer = NULL; offset_in = CACHE_BUFFER_SIZE - (CACHE_SIZE / 2); length_in = length = CACHE_SIZE / 2; + printf("cache read: in: offset=%d length=%d\n", (int) offset_in, (int) length); + rtems_test_assert(rtems_rtl_obj_cache_read(&cache, + fd, + offset_in, + &buffer, + &length) == true); + offset = dl_cache_buffer_offset(&cache, buffer); + printf("cache read: out: offset=%d length=%d\n", (int) offset, (int) length); + rtems_test_assert(offset == (CACHE_SIZE / 2)); + rtems_test_assert(length == length_in); + rtems_test_assert(dl_cache_check(buffer, (int) offset_in, length) == true); + + buffer = NULL; offset_in = 0; length_in = length = CACHE_SIZE / 4; + printf("cache read: in: offset=%d length=%d\n", (int) offset_in, (int) length); + rtems_test_assert(rtems_rtl_obj_cache_read(&cache, + fd, + offset_in, + &buffer, + &length) == true); + offset = dl_cache_buffer_offset(&cache, buffer); + printf("cache read: out: offset=%d length=%d\n", (int) offset, (int) length); + rtems_test_assert(offset == offset_in); + rtems_test_assert(length == length_in); + rtems_test_assert(dl_cache_check(buffer, (int) offset_in, length) == true); + + buffer = NULL; offset_in = 0; length_in = length = CACHE_SIZE / 8; + printf("cache read: in: offset=%d length=%d\n", (int) offset_in, (int) length); + rtems_test_assert(rtems_rtl_obj_cache_read(&cache, + fd, + offset_in, + &buffer, + &length) == true); + offset = dl_cache_buffer_offset(&cache, buffer); + printf("cache read: out: offset=%d length=%d\n", (int) offset, (int) length); + rtems_test_assert(offset == offset_in); + rtems_test_assert(length == length_in); + rtems_test_assert(dl_cache_check(buffer, (int) offset_in, length) == true); + + buffer = NULL; offset_in = 0; length_in = length = CACHE_SIZE; + printf("cache read: in: offset=%d length=%d\n", (int) offset_in, (int) length); + rtems_test_assert(rtems_rtl_obj_cache_read(&cache, + fd, + offset_in, + &buffer, + &length) == true); + offset = dl_cache_buffer_offset(&cache, buffer); + printf("cache read: out: offset=%d length=%d\n", (int) offset, (int) length); + rtems_test_assert(offset == offset_in); + rtems_test_assert(length == length_in); + rtems_test_assert(dl_cache_check(buffer, (int) offset_in, length) == true); + + buffer = NULL; offset_in = CACHE_BUFFER_SIZE - 40; length_in = length = 16; + printf("cache read: in: offset=%d length=%d\n", (int) offset_in, (int) length); + rtems_test_assert(rtems_rtl_obj_cache_read(&cache, + fd, + offset_in, + &buffer, + &length) == true); + offset = dl_cache_buffer_offset(&cache, buffer); + printf("cache read: out: offset=%d length=%d\n", (int) offset, (int) length); + rtems_test_assert(length == length_in); + rtems_test_assert(dl_cache_check(buffer, (int) offset_in, length) == true); + + buffer = NULL; offset_in = CACHE_BUFFER_SIZE - 40; length_in = length = 40; + printf("cache read: in: offset=%d length=%d\n", (int) offset_in, (int) length); + rtems_test_assert(rtems_rtl_obj_cache_read(&cache, + fd, + offset_in, + &buffer, + &length) == true); + offset = dl_cache_buffer_offset(&cache, buffer); + printf("cache read: out: offset=%d length=%d\n", (int) offset, (int) length); + rtems_test_assert(length == length_in); + rtems_test_assert(dl_cache_check(buffer, (int) offset_in, length) == true); + + buffer = NULL; offset_in = CACHE_BUFFER_SIZE - 40; length_in = length = 80; + printf("cache read: in: offset=%d length=%d\n", (int) offset_in, (int) length); + rtems_test_assert(rtems_rtl_obj_cache_read(&cache, + fd, + offset_in, + &buffer, + &length) == true); + offset = dl_cache_buffer_offset(&cache, buffer); + printf("cache read: out: offset=%d length=%d\n", (int) offset, (int) length); + rtems_test_assert(length == 40); + rtems_test_assert(dl_cache_check(buffer, (int) offset_in, length) == true); + + buffer = NULL; offset_in = CACHE_BUFFER_SIZE - CACHE_SIZE + 80; + length_in = length = 20; + printf("cache read: in: offset=%d length=%d\n", (int) offset_in, (int) length); + rtems_test_assert(rtems_rtl_obj_cache_read(&cache, + fd, + offset_in, + &buffer, + &length) == true); + offset = dl_cache_buffer_offset(&cache, buffer); + printf("cache read: out: offset=%d length=%d\n", (int) offset, (int) length); + rtems_test_assert(length == length_in); + rtems_test_assert(dl_cache_check(buffer, (int) offset_in, length) == true); + + buffer = NULL; offset_in = CACHE_BUFFER_SIZE - 40; + length_in = length = 40; + printf("cache read: in: offset=%d length=%d\n", (int) offset_in, (int) length); + rtems_test_assert(rtems_rtl_obj_cache_read(&cache, + fd, + offset_in, + &buffer, + &length) == true); + offset = dl_cache_buffer_offset(&cache, buffer); + printf("cache read: out: offset=%d length=%d\n", (int) offset, (int) length); + rtems_test_assert(length == length_in); + rtems_test_assert(dl_cache_check(buffer, (int) offset_in, length) == true); + + rtems_rtl_obj_cache_close(&cache); + + return 0; +} diff --git a/testsuites/libtests/dl03/dl-cache.h b/testsuites/libtests/dl03/dl-cache.h new file mode 100644 index 0000000000..e46df4b939 --- /dev/null +++ b/testsuites/libtests/dl03/dl-cache.h @@ -0,0 +1,14 @@ +/* + * Copyright (c) 2016 Chris Johns <chrisj@rtems.org>. All rights reserved. + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.org/license/LICENSE. + */ + +#if !defined(_DL_CACHE_H_) +#define _DL_CACHE_H_ + +int dl_cache_test(void); + +#endif diff --git a/testsuites/libtests/dl03/dl03.doc b/testsuites/libtests/dl03/dl03.doc new file mode 100644 index 0000000000..4a325de9cc --- /dev/null +++ b/testsuites/libtests/dl03/dl03.doc @@ -0,0 +1,28 @@ +# Copyright (c) 2014 Chris Johns <chrisj@rtems.org> +# +# The license and distribution terms for this file may be +# found in the file LICENSE in this distribution or at +# http://www.rtems.org/license/LICENSE. +# + +This file describes the directives and concepts tested by this test set. + +test set name: dl02 + +directives: + + dlopen + dlinfo + dlsym + dlclose + +concepts: + ++ Load 2 interdependent ELF object files. ++ Check there are no unreolved externals. There should be unresolved + externals after the first lond and none after the second load. ++ Locate the rtems_main symbol in dl-o1. ++ Call the rtems_main sym and have that function call the second object. + Call the second download with a callback handler to a symbol in the first + object file. ++ Unload the ELF files. diff --git a/testsuites/libtests/dl03/dl03.scn b/testsuites/libtests/dl03/dl03.scn new file mode 100644 index 0000000000..aee8eb7dbb --- /dev/null +++ b/testsuites/libtests/dl03/dl03.scn @@ -0,0 +1,69 @@ + + +*** BEGIN OF TEST libdl (RTL) 3 *** +cache create with large size +rtl: alloc: new: OBJECT addr=0x0 size=4294967295 +cache create +rtl: alloc: new: OBJECT addr=0x2038bc8 size=2048 +cache file open +cache read: in: offset=0 length=1024 +rtl: cache: 3: fd=-1 offset=0 length=1024 area=[0,1024] cache=[0,0] size=0 +rtl: cache: 3: seek: offset=0 buffer_offset=0 read=2048 cache=[0,2048] dist=0 +cache read: out: offset=0 length=1024 +cache: buffer: 0000/0000 0001/0001 0002/0002 0003/0003 +cache read: in: offset=0 length=2048 +rtl: cache: 3: fd=3 offset=0 length=2048 area=[0,2048] cache=[0,2048] size=8192 +cache read: out: offset=0 length=2048 +cache: buffer: 0000/0000 0001/0001 0002/0002 0003/0003 +cache read: in: offset=1024 length=1024 +rtl: cache: 3: fd=3 offset=1024 length=1024 area=[1024,2048] cache=[0,2048] size=8192 +cache read: out: offset=1024 length=1024 +cache: buffer: 0200/0200 0201/0201 0202/0202 0203/0203 +cache read: in: offset=6144 length=2048 +rtl: cache: 3: fd=3 offset=6144 length=2048 area=[6144,8192] cache=[0,2048] size=8192 +rtl: cache: 3: seek: offset=6144 buffer_offset=0 read=2048 cache=[6144,8192] dist=2048 +cache read: out: offset=0 length=2048 +cache: buffer: 0c00/0c00 0c01/0c01 0c02/0c02 0c03/0c03 +cache read: in: offset=7168 length=1024 +rtl: cache: 3: fd=3 offset=7168 length=1024 area=[7168,8192] cache=[6144,8192] size=8192 +cache read: out: offset=1024 length=1024 +cache: buffer: 0e00/0e00 0e01/0e01 0e02/0e02 0e03/0e03 +cache read: in: offset=0 length=512 +rtl: cache: 3: fd=3 offset=0 length=512 area=[0,512] cache=[6144,8192] size=8192 +rtl: cache: 3: seek: offset=0 buffer_offset=0 read=2048 cache=[0,2048] dist=8192 +cache read: out: offset=0 length=512 +cache: buffer: 0000/0000 0001/0001 0002/0002 0003/0003 +cache read: in: offset=0 length=256 +rtl: cache: 3: fd=3 offset=0 length=256 area=[0,256] cache=[0,2048] size=8192 +cache read: out: offset=0 length=256 +cache: buffer: 0000/0000 0001/0001 0002/0002 0003/0003 +cache read: in: offset=0 length=2048 +rtl: cache: 3: fd=3 offset=0 length=2048 area=[0,2048] cache=[0,2048] size=8192 +cache read: out: offset=0 length=2048 +cache: buffer: 0000/0000 0001/0001 0002/0002 0003/0003 +cache read: in: offset=8152 length=16 +rtl: cache: 3: fd=3 offset=8152 length=16 area=[8152,8168] cache=[0,2048] size=8192 +rtl: cache: 3: seek: offset=8152 buffer_offset=0 read=40 cache=[8152,8192] dist=40 +cache read: out: offset=0 length=16 +cache: buffer: 0fec/0fec 0fed/0fed 0fee/0fee 0fef/0fef +cache read: in: offset=8152 length=40 +rtl: cache: 3: fd=3 offset=8152 length=40 area=[8152,8192] cache=[8152,8192] size=8192 +cache read: out: offset=0 length=40 +cache: buffer: 0fec/0fec 0fed/0fed 0fee/0fee 0fef/0fef +cache read: in: offset=8152 length=80 +rtl: cache: 3: fd=3 offset=8152 length=80 area=[8152,8232] cache=[8152,8192] size=8192 +rtl: cache: 3: truncate length=40 +cache read: out: offset=0 length=40 +cache: buffer: 0fec/0fec 0fed/0fed 0fee/0fee 0fef/0fef +cache read: in: offset=6224 length=20 +rtl: cache: 3: fd=3 offset=6224 length=20 area=[6224,6244] cache=[8152,8192] size=8192 +rtl: cache: 3: seek: offset=6224 buffer_offset=0 read=1968 cache=[6224,8192] dist=1968 +cache read: out: offset=0 length=20 +cache: buffer: 0c28/0c28 0c29/0c29 0c2a/0c2a 0c2b/0c2b +cache read: in: offset=8152 length=40 +rtl: cache: 3: fd=3 offset=8152 length=40 area=[8152,8192] cache=[6224,8192] size=8192 +cache read: out: offset=1928 length=40 +cache: buffer: 0fec/0fec 0fed/0fed 0fee/0fee 0fef/0fef +rtl: cache: 3: close +rtl: alloc: del: OBJECT addr=0x2038bc8 +*** END OF TEST libdl (RTL) 3 *** diff --git a/testsuites/libtests/dl03/init.c b/testsuites/libtests/dl03/init.c new file mode 100644 index 0000000000..ae8272294c --- /dev/null +++ b/testsuites/libtests/dl03/init.c @@ -0,0 +1,67 @@ +/* + * Copyright (c) 2014 Chris Johns <chrisj@rtems.org>. All rights reserved. + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.org/license/LICENSE. + */ + +#ifdef HAVE_CONFIG_H + #include "config.h" +#endif + +#include "tmacros.h" + +#include <errno.h> +#include <string.h> +#include <stdint.h> +#include <unistd.h> + +#include "dl-cache.h" + +const char rtems_test_name[] = "libdl (RTL) 3"; + +/* forward declarations to avoid warnings */ +static rtems_task Init(rtems_task_argument argument); + +static int test(void) +{ + int ret; + ret = dl_cache_test(); + if (ret) + rtems_test_exit(ret); + return 0; +} + +static void Init(rtems_task_argument arg) +{ + TEST_BEGIN(); + + test(); + + TEST_END(); + + rtems_test_exit(0); +} + +#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER +#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER + +#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 4 + +#define CONFIGURE_MAXIMUM_TASKS 1 + +#define CONFIGURE_MINIMUM_TASK_STACK_SIZE (8U * 1024U) + +#define CONFIGURE_EXTRA_TASK_STACKS (8 * 1024) + +#define CONFIGURE_MAXIMUM_SEMAPHORES 1 + +#define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION + +#define CONFIGURE_RTEMS_INIT_TASKS_TABLE +#define CONFIGURE_INIT_TASK_ATTRIBUTES (RTEMS_DEFAULT_ATTRIBUTES | RTEMS_FLOATING_POINT) + +#define CONFIGURE_INIT + +#include <rtems/confdefs.h> diff --git a/testsuites/libtests/dl04/Makefile.am b/testsuites/libtests/dl04/Makefile.am new file mode 100644 index 0000000000..d45bc87c4d --- /dev/null +++ b/testsuites/libtests/dl04/Makefile.am @@ -0,0 +1,50 @@ +rtems_tests_PROGRAMS = dl04 +# include a C++ file in the source to trick automake into adding C++ rules <sigh>. +dl04_SOURCES = init.c dl-load.c dl-cpp.cpp dl-tar.c dl-tar.h + +BUILT_SOURCES = dl-tar.c dl-tar.h + +dist_rtems_tests_DATA = dl04.scn dl04.doc + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(top_srcdir)/../automake/compile.am +include $(top_srcdir)/../automake/leaf.am + +AM_CPPFLAGS += -I$(top_srcdir)/../support/include + +LINK_OBJS = $(dl04_OBJECTS) +LINK_LIBS = $(dl04_LDLIBS) + +dl-o4.o: dl-o4.cpp + +dl.tar: dl-o4.o + @rm -f $@ + $(PAX) -w -f $@ $< +CLEANFILES += dl.tar + +dl-tar.c: dl.tar + $(BIN2C) -C $< $@ +CLEANFILES += dl-tar.c + +dl-tar.h: dl.tar + $(BIN2C) -H $< $@ +CLEANFILES += dl-tar.h + +dl04.pre$(EXEEXT): $(dl04_OBJECTS) $(dl04_DEPENDENCIES) + @rm -f dl04.pre$(EXEEXT) + $(make-exe) + rm -f dl04.pre.ralf + +dl04.pre: dl04.pre$(EXEEXT) + mv $< $@ +CLEANFILES += dl04.pre + +dl-sym.o: dl04.pre + rtems-syms -e -c "$(CFLAGS)" -o $@ $< + +dl04$(EXEEXT): $(dl04_OBJECTS) $(dl04_DEPENDENCIES) dl-sym.o + @rm -f dl04$(EXEEXT) + $(LINK.c) $(CPU_CFLAGS) $(AM_CFLAGS) $(AM_LDFLAGS) \ + -o $(basename $@)$(EXEEXT) $(LINK_OBJS) dl-sym.o $(LINK_LIBS) + +include $(top_srcdir)/../automake/local.am diff --git a/testsuites/libtests/dl04/dl-cpp.cpp b/testsuites/libtests/dl04/dl-cpp.cpp new file mode 100644 index 0000000000..454de9004b --- /dev/null +++ b/testsuites/libtests/dl04/dl-cpp.cpp @@ -0,0 +1,4 @@ +/* empty file to trick automake. */ +class empty +{ +}; diff --git a/testsuites/libtests/dl04/dl-load.c b/testsuites/libtests/dl04/dl-load.c new file mode 100644 index 0000000000..1409d79a9f --- /dev/null +++ b/testsuites/libtests/dl04/dl-load.c @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2016 Chris Johns <chrisj@rtems.org>. All rights reserved. + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.org/license/LICENSE. + */ + +#ifdef HAVE_CONFIG_H + #include "config.h" +#endif + +#include "tmacros.h" + +#include <stdio.h> + +#include <dlfcn.h> + +#include <rtems/rtl/rtl-trace.h> + +#include "dl-load.h" + +int dl_load_test(void) +{ + void* handle; + const char* err; + + rtems_rtl_trace_set_mask(RTEMS_RTL_TRACE_ALL); + handle = dlopen("/dl-o4.o", RTLD_GLOBAL | RTLD_NOW); + err = dlerror(); + if (err != NULL) + printf("dlopen: %s\n", err); + rtems_test_assert(handle != NULL); + rtems_test_assert(dlclose(handle) == 0); + + return 0; +} diff --git a/testsuites/libtests/dl04/dl-load.h b/testsuites/libtests/dl04/dl-load.h new file mode 100644 index 0000000000..c1dca92438 --- /dev/null +++ b/testsuites/libtests/dl04/dl-load.h @@ -0,0 +1,14 @@ +/* + * Copyright (c) 2016 Chris Johns <chrisj@rtems.org>. All rights reserved. + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.org/license/LICENSE. + */ + +#if !defined(_DL_LOAD_H_) +#define _DL_LOAD_H_ + +int dl_load_test(void); + +#endif diff --git a/testsuites/libtests/dl04/dl-o4.cpp b/testsuites/libtests/dl04/dl-o4.cpp new file mode 100644 index 0000000000..e63afe385f --- /dev/null +++ b/testsuites/libtests/dl04/dl-o4.cpp @@ -0,0 +1,30 @@ +class Foo { +public: + Foo() {}; + ~Foo() {}; + + virtual void f1() {}; + virtual void f2() {}; + virtual void f3() {}; + virtual void f4() {}; + virtual void f5() {}; + virtual void f6() {}; + virtual void f7() {}; +}; + +class Bar : public Foo { +}; + +void baz(void) +{ + Bar b; + + b.f1(); +} + +extern "C" { + void func(void) + { + baz(); + } +} diff --git a/testsuites/libtests/dl04/dl04.doc b/testsuites/libtests/dl04/dl04.doc new file mode 100644 index 0000000000..f36dc7b07f --- /dev/null +++ b/testsuites/libtests/dl04/dl04.doc @@ -0,0 +1,21 @@ +# Copyright (c) 2016 Chris Johns <chrisj@rtems.org> +# +# The license and distribution terms for this file may be +# found in the file LICENSE in this distribution or at +# http://www.rtems.org/license/LICENSE. +# + +This file describes the directives and concepts tested by this test set. + +test set name: dl04 + +directives: + + dlopen + dlerror + dlclose + +concepts: + ++ Load a single ELF object file containing C++ code that tests the cache handling. ++ Unload the ELF file. diff --git a/testsuites/libtests/dl04/dl04.scn b/testsuites/libtests/dl04/dl04.scn new file mode 100644 index 0000000000..90732241a0 --- /dev/null +++ b/testsuites/libtests/dl04/dl04.scn @@ -0,0 +1,1004 @@ + + +*** BEGIN OF TEST libdl (RTL) 4 *** +rtl: alloc: new: SYMBOL addr=0x2041f50 size=384 +rtl: alloc: new: OBJECT addr=0x20424e0 size=2048 +rtl: alloc: new: OBJECT addr=0x2042ce8 size=2048 +rtl: alloc: new: OBJECT addr=0x20434f0 size=2048 +rtl: alloc: new: OBJECT addr=0x2043cf8 size=2048 +rtl: alloc: new: OBJECT addr=0x2044500 size=144 +rtl: alloc: new: OBJECT addr=0x2040cf8 size=13 +rtl: alloc: new: OBJECT addr=0x2040d10 size=2 +rtl: adding global symbols, table size 21828 +rtl: global symbol add: 872 +rtl: alloc: new: SYMBOL addr=0x2044598 size=17440 +rtl: esyms: .div -> 0x2001510 +rtl: esyms: .rem -> 0x20017c0 +rtl: esyms: .udiv -> 0x2001508 +rtl: esyms: .umul -> 0x2001420 +rtl: esyms: .urem -> 0x20017b8 +rtl: esyms: BSP_output_char -> 0x2034ef4 +rtl: esyms: BSP_shared_interrupt_init -> 0x2004c70 +rtl: esyms: CLOCK_SPEED -> 0x20007e0 +rtl: esyms: Clock_driver_ticks -> 0x2036734 +rtl: esyms: Clock_exit -> 0x2004314 +rtl: esyms: Clock_initialize -> 0x2004404 +rtl: esyms: Clock_isr -> 0x2004364 +rtl: esyms: Configuration -> 0x202a46c +rtl: esyms: Configuration_POSIX_API -> 0x2035584 +rtl: esyms: Configuration_RTEMS_API -> 0x2034e6c +rtl: esyms: Console_Configuration_Count -> 0x2034ef8 +rtl: esyms: Console_Configuration_Ports -> 0x2034efc +rtl: esyms: Console_Port_Count -> 0x2036290 +rtl: esyms: Console_Port_Data -> 0x2036288 +rtl: esyms: Console_Port_Minor -> 0x2036284 +rtl: esyms: Console_Port_Tbl -> 0x203628c +rtl: esyms: ERC32_MEC -> 0x1f80000 +rtl: esyms: IMFS_LIMITS_AND_OPTIONS -> 0x2032908 +rtl: esyms: IMFS_chown -> 0x20059b0 +rtl: esyms: IMFS_create_node -> 0x2005a18 +rtl: esyms: IMFS_eval_path -> 0x2005ef4 +rtl: esyms: IMFS_fchmod -> 0x2005f0c +rtl: esyms: IMFS_initialize_node -> 0x2005fb4 +rtl: esyms: IMFS_initialize_support -> 0x2006038 +rtl: esyms: IMFS_link -> 0x200624c +rtl: esyms: IMFS_memfile_write -> 0x2006bac +rtl: esyms: IMFS_mknod -> 0x2006df0 +rtl: esyms: IMFS_mknod_control_device -> 0x2032990 +rtl: esyms: IMFS_mknod_control_dir_default -> 0x2032938 +rtl: esyms: IMFS_mknod_control_enosys -> 0x20329e0 +rtl: esyms: IMFS_mknod_control_memfile -> 0x2032a40 +rtl: esyms: IMFS_mount -> 0x2006ea0 +rtl: esyms: IMFS_node_clone -> 0x20060ec +rtl: esyms: IMFS_node_destroy -> 0x2006104 +rtl: esyms: IMFS_node_destroy_default -> 0x2005f88 +rtl: esyms: IMFS_node_free -> 0x2006120 +rtl: esyms: IMFS_node_initialize_default -> 0x2006160 +rtl: esyms: IMFS_node_initialize_directory -> 0x2005ab4 +rtl: esyms: IMFS_node_remove_default -> 0x2005f64 +rtl: esyms: IMFS_node_remove_directory -> 0x2005acc +rtl: esyms: IMFS_readlink -> 0x20071b0 +rtl: esyms: IMFS_rename -> 0x2006f14 +rtl: esyms: IMFS_rmnod -> 0x2007014 +rtl: esyms: IMFS_stat -> 0x2007088 +rtl: esyms: IMFS_stat_file -> 0x20070e8 +rtl: esyms: IMFS_symlink -> 0x200714c +rtl: esyms: IMFS_unmount -> 0x2007218 +rtl: esyms: IMFS_utime -> 0x200728c +rtl: esyms: Initialization_tasks -> 0x2034ecc +rtl: esyms: PROM_END -> 0x200000 +rtl: esyms: PROM_SIZE -> 0x200000 +rtl: esyms: PROM_START -> 0x0 +rtl: esyms: RAM_END -> 0x2400000 +rtl: esyms: RAM_SIZE -> 0x400000 +rtl: esyms: RAM_START -> 0x2000000 +rtl: esyms: RTEMS_Malloc_Area -> 0x20366c8 +rtl: esyms: RTEMS_Malloc_GC_list -> 0x2035030 +rtl: esyms: RTEMS_Malloc_Heap -> 0x2034ee8 +rtl: esyms: RTEMS_Malloc_Initialize -> 0x2007d94 +rtl: esyms: TOD_TICKS_PER_SECOND_method -> 0x2016f48 +rtl: esyms: Untar_FromMemory -> 0x201c2d0 +rtl: esyms: _API_Mutex_Allocate -> 0x2016700 +rtl: esyms: _API_Mutex_Initialization -> 0x20166d0 +rtl: esyms: _API_Mutex_Lock -> 0x2016764 +rtl: esyms: _API_Mutex_Unlock -> 0x2016944 +rtl: esyms: _API_extensions_Add -> 0x2016674 +rtl: esyms: _API_extensions_Initialization -> 0x2016658 +rtl: esyms: _API_extensions_List -> 0x2036f40 +rtl: esyms: _API_extensions_Run_postdriver -> 0x201668c +rtl: esyms: _Balloc -> 0x201fdc4 +rtl: esyms: _Barrier_Information -> 0x2036b78 +rtl: esyms: _Barrier_Manager_initialization -> 0x20149fc +rtl: esyms: _Bfree -> 0x201fe54 +rtl: esyms: _CORE_mutex_Flush -> 0x2016c04 +rtl: esyms: _CORE_mutex_Initialize -> 0x2016a74 +rtl: esyms: _CORE_mutex_Seize_interrupt_blocking -> 0x2016c10 +rtl: esyms: _CORE_mutex_Surrender -> 0x2016cc8 +rtl: esyms: _CORE_semaphore_Initialize -> 0x2016e84 +rtl: esyms: _CPU_Context_Initialize -> 0x201c0ec +rtl: esyms: _CPU_Context_restore -> 0x2004db4 +rtl: esyms: _CPU_Context_restore_fp -> 0x201c22c +rtl: esyms: _CPU_Context_restore_heir -> 0x2004cf4 +rtl: esyms: _CPU_Context_save_fp -> 0x201c1e0 +rtl: esyms: _CPU_Context_switch -> 0x2004cb8 +rtl: esyms: _CPU_Exception_frame_print -> 0x2005184 +rtl: esyms: _CPU_Fatal_halt -> 0x20041bc +rtl: esyms: _CPU_ISR_Get_level -> 0x201bfcc +rtl: esyms: _CPU_ISR_install_raw_handler -> 0x201bfe0 +rtl: esyms: _CPU_ISR_install_vector -> 0x201c0b0 +rtl: esyms: _CPU_Initialize -> 0x201bf8c +rtl: esyms: _CPU_Null_fp_context -> 0x2036ea0 +rtl: esyms: _CPU_Trap_slot_template -> 0x2032548 +rtl: esyms: _Chain_Append -> 0x20169ec +rtl: esyms: _Chain_Extract -> 0x2016a18 +rtl: esyms: _Chain_Get -> 0x2016a3c +rtl: esyms: _Chain_Initialize -> 0x2016990 +rtl: esyms: _Debug_Level -> 0x2036e3c +rtl: esyms: _Debug_Manager_initialization -> 0x20160f4 +rtl: esyms: _Dual_ported_memory_Information -> 0x2036bb4 +rtl: esyms: _Dual_ported_memory_Manager_initialization -> 0x2014a54 +rtl: esyms: _ERC32_MEC -> 0x1f80000 +rtl: esyms: _ERC32_MEC_Timer_Control_Mirror -> 0x20007c0 +rtl: esyms: _Event_Manager_initialization -> 0x2014a8c +rtl: esyms: _Event_Seize -> 0x2014b14 +rtl: esyms: _Event_Surrender -> 0x2014d1c +rtl: esyms: _Extension_Information -> 0x2036f4c +rtl: esyms: _Extension_Manager_initialization -> 0x20161f8 +rtl: esyms: _Freechain_Initialize -> 0x2016f68 +rtl: esyms: _Freechain_Put -> 0x2016fac +rtl: esyms: _Heap_Allocate_aligned_with_boundary -> 0x20173f4 +rtl: esyms: _Heap_Block_allocate -> 0x20172bc +rtl: esyms: _Heap_Free -> 0x2017628 +rtl: esyms: _Heap_Get_first_and_last_block -> 0x2017100 +rtl: esyms: _Heap_Initialize -> 0x2017198 +rtl: esyms: _Heap_Resize_block -> 0x2017818 +rtl: esyms: _Heap_Size_of_alloc_area -> 0x2017930 +rtl: esyms: _IO_All_drivers_initialized -> 0x2036f88 +rtl: esyms: _IO_Driver_address_table -> 0x2034e9c +rtl: esyms: _IO_Initialize_all_drivers -> 0x201626c +rtl: esyms: _IO_Number_of_drivers -> 0x202a544 +rtl: esyms: _ISR_Handler -> 0x2004dc4 +rtl: esyms: _ISR_Handler_initialization -> 0x2017a08 +rtl: esyms: _ISR_Vector_table -> 0x20372b4 +rtl: esyms: _Internal_Objects -> 0x2036db8 +rtl: esyms: _Internal_errors_What_happened -> 0x20372a4 +rtl: esyms: _Message_queue_Information -> 0x2036bf0 +rtl: esyms: _Message_queue_Manager_initialization -> 0x2014e90 +rtl: esyms: _Objects_API_maximum_class -> 0x2018478 +rtl: esyms: _Objects_Allocate -> 0x2018460 +rtl: esyms: _Objects_Allocate_unprotected -> 0x2018394 +rtl: esyms: _Objects_Close -> 0x20184a0 +rtl: esyms: _Objects_Extend_information -> 0x20184bc +rtl: esyms: _Objects_Free -> 0x2018828 +rtl: esyms: _Objects_Get -> 0x20188cc +rtl: esyms: _Objects_Get_information -> 0x201897c +rtl: esyms: _Objects_Get_information_id -> 0x20189f0 +rtl: esyms: _Objects_Get_isr_disable -> 0x2018a08 +rtl: esyms: _Objects_Information_table -> 0x2036da8 +rtl: esyms: _Objects_Initialize_information -> 0x2018a70 +rtl: esyms: _Objects_Namespace_remove -> 0x2018b48 +rtl: esyms: _Objects_Shrink_information -> 0x2018b70 +rtl: esyms: _Once -> 0x2018c6c +rtl: esyms: _Once_Mutex -> 0x2036e34 +rtl: esyms: _POSIX_API_Initialize -> 0x20164f4 +rtl: esyms: _POSIX_Barrier_Information -> 0x2037130 +rtl: esyms: _POSIX_Barrier_Manager_initialization -> 0x2013d90 +rtl: esyms: _POSIX_Condition_variables_Information -> 0x20371c0 +rtl: esyms: _POSIX_Condition_variables_Manager_initialization -> 0x2013620 +rtl: esyms: _POSIX_Key_Manager_initialization -> 0x20136a4 +rtl: esyms: _POSIX_Keys_Information -> 0x2037184 +rtl: esyms: _POSIX_Keys_Key_value_compare -> 0x2013658 +rtl: esyms: _POSIX_Keys_Key_value_lookup_tree -> 0x20363fc +rtl: esyms: _POSIX_Keys_Keypool -> 0x20371fc +rtl: esyms: _POSIX_Keys_Run_destructors -> 0x201381c +rtl: esyms: _POSIX_Message_queue_Information -> 0x20370b8 +rtl: esyms: _POSIX_Message_queue_Information_fds -> 0x203723c +rtl: esyms: _POSIX_Message_queue_Manager_initialization -> 0x2013cc4 +rtl: esyms: _POSIX_Mutex_Default_attributes -> 0x203716c +rtl: esyms: _POSIX_Mutex_Information -> 0x20370f4 +rtl: esyms: _POSIX_Mutex_Manager_initialization -> 0x2013d24 +rtl: esyms: _POSIX_Objects -> 0x2037208 +rtl: esyms: _POSIX_RWLock_Information -> 0x2036f8c +rtl: esyms: _POSIX_RWLock_Manager_initialization -> 0x2013dc8 +rtl: esyms: _POSIX_Semaphore_Information -> 0x2037040 +rtl: esyms: _POSIX_Semaphore_Manager_initialization -> 0x2014990 +rtl: esyms: _POSIX_Spinlock_Information -> 0x2037004 +rtl: esyms: _POSIX_Spinlock_Manager_initialization -> 0x2014400 +rtl: esyms: _POSIX_Thread_Exit -> 0x201471c +rtl: esyms: _POSIX_Threads_API_extensions -> 0x20350c0 +rtl: esyms: _POSIX_Threads_Default_attributes -> 0x20350cc +rtl: esyms: _POSIX_Threads_Information -> 0x2036fc8 +rtl: esyms: _POSIX_Threads_Initialize_user_threads_p -> 0x2035580 +rtl: esyms: _POSIX_Threads_Manager_initialization -> 0x20146cc +rtl: esyms: _POSIX_Threads_Sporadic_budget_TSR -> 0x2014490 +rtl: esyms: _POSIX_Threads_User_extensions -> 0x2035088 +rtl: esyms: _POSIX_Threads_cancel_run -> 0x2013584 +rtl: esyms: _POSIX_Timer_Information -> 0x203707c +rtl: esyms: _POSIX_Timer_Manager_initialization -> 0x2014958 +rtl: esyms: _POSIX_signals_Abnormal_termination_handler -> 0x2013e00 +rtl: esyms: _POSIX_signals_Action_handler -> 0x2013e10 +rtl: esyms: _POSIX_signals_Check_signal -> 0x2013fb4 +rtl: esyms: _POSIX_signals_Clear_process_signals -> 0x2014088 +rtl: esyms: _POSIX_signals_Clear_signals -> 0x20140f0 +rtl: esyms: _POSIX_signals_Default_vectors -> 0x20344ec +rtl: esyms: _POSIX_signals_Inactive_siginfo -> 0x20369d4 +rtl: esyms: _POSIX_signals_Manager_Initialization -> 0x2013efc +rtl: esyms: _POSIX_signals_Pending -> 0x20369f4 +rtl: esyms: _POSIX_signals_Set_process_signals -> 0x2014248 +rtl: esyms: _POSIX_signals_Siginfo -> 0x20369f8 +rtl: esyms: _POSIX_signals_Unblock_thread -> 0x201426c +rtl: esyms: _POSIX_signals_Vectors -> 0x2036854 +rtl: esyms: _POSIX_signals_Wait_queue -> 0x20369e0 +rtl: esyms: _PROM_END -> 0x200000 +rtl: esyms: _PROM_SIZE -> 0x200000 +rtl: esyms: _PROM_START -> 0x0 +rtl: esyms: _Partition_Information -> 0x2036c2c +rtl: esyms: _Partition_Manager_initialization -> 0x2014ec8 +rtl: esyms: _Per_CPU_Information -> 0x20376e0 +rtl: esyms: _Protected_heap_Allocate_aligned_with_boundary -> 0x2018cd0 +rtl: esyms: _Protected_heap_Free -> 0x2018d08 +rtl: esyms: _Protected_heap_Get_block_size -> 0x2018d38 +rtl: esyms: _Protected_heap_Resize_block -> 0x2018d6c +rtl: esyms: _RAM_END -> 0x2400000 +rtl: esyms: _RAM_SIZE -> 0x400000 +rtl: esyms: _RAM_START -> 0x2000000 +rtl: esyms: _RBTree_Extract -> 0x2019080 +rtl: esyms: _RBTree_Find -> 0x201922c +rtl: esyms: _RBTree_Insert -> 0x201928c +rtl: esyms: _RBTree_Next -> 0x201950c +rtl: esyms: _RTEMS_API_Initialize -> 0x201655c +rtl: esyms: _RTEMS_Allocator_Mutex -> 0x2036e38 +rtl: esyms: _RTEMS_Objects -> 0x2037278 +rtl: esyms: _RTEMS_Tasks_Invoke_task_variable_dtor -> 0x2015f60 +rtl: esyms: _RTEMS_tasks_API_extensions -> 0x2035150 +rtl: esyms: _RTEMS_tasks_Information -> 0x2036d5c +rtl: esyms: _RTEMS_tasks_Initialize_user_tasks -> 0x2015e00 +rtl: esyms: _RTEMS_tasks_Initialize_user_tasks_body -> 0x2015a1c +rtl: esyms: _RTEMS_tasks_Initialize_user_tasks_p -> 0x2034e60 +rtl: esyms: _RTEMS_tasks_Manager_initialization -> 0x2015e5c +rtl: esyms: _RTEMS_tasks_User_extensions -> 0x2035118 +rtl: esyms: _RTEMS_version -> 0x20325b8 +rtl: esyms: _Rate_monotonic_Information -> 0x2036c68 +rtl: esyms: _Rate_monotonic_Manager_initialization -> 0x2014f00 +rtl: esyms: _Region_Information -> 0x2036ca4 +rtl: esyms: _Region_Manager_initialization -> 0x2014f38 +rtl: esyms: _SPARC_Counter -> 0x2035224 +rtl: esyms: _SPARC_Counter_difference_default -> 0x201c278 +rtl: esyms: _Scheduler_Handler_initialization -> 0x20195a4 +rtl: esyms: _Scheduler_Table -> 0x202a54c +rtl: esyms: _Scheduler_default_Node_destroy -> 0x20195c4 +rtl: esyms: _Scheduler_default_Node_initialize -> 0x20195cc +rtl: esyms: _Scheduler_default_Release_job -> 0x20195d4 +rtl: esyms: _Scheduler_default_Start_idle -> 0x20195dc +rtl: esyms: _Scheduler_default_Tick -> 0x20195fc +rtl: esyms: _Scheduler_priority_Block -> 0x20196f0 +rtl: esyms: _Scheduler_priority_Change_priority -> 0x2019860 +rtl: esyms: _Scheduler_priority_Initialize -> 0x20196a0 +rtl: esyms: _Scheduler_priority_Priority_compare -> 0x2019a70 +rtl: esyms: _Scheduler_priority_Schedule -> 0x2019a78 +rtl: esyms: _Scheduler_priority_Unblock -> 0x2019b60 +rtl: esyms: _Scheduler_priority_Update_priority -> 0x2019bfc +rtl: esyms: _Scheduler_priority_Yield -> 0x2019c60 +rtl: esyms: _Semaphore_Information -> 0x2036d20 +rtl: esyms: _Semaphore_Manager_initialization -> 0x2014fb0 +rtl: esyms: _Semaphore_Translate_core_mutex_return_code_ -> 0x2034680 +rtl: esyms: _Semaphore_Translate_core_semaphore_return_code_ -> 0x203466c +rtl: esyms: _Signal_Action_handler -> 0x2015718 +rtl: esyms: _Signal_Manager_initialization -> 0x2015710 +rtl: esyms: _System_state_Current -> 0x20372b0 +rtl: esyms: _TLS_Alignment -> 0x1 +rtl: esyms: _TLS_BSS_begin -> 0x2034e60 +rtl: esyms: _TLS_BSS_end -> 0x2034e60 +rtl: esyms: _TLS_BSS_size -> 0x0 +rtl: esyms: _TLS_Data_begin -> 0x2034e60 +rtl: esyms: _TLS_Data_size -> 0x0 +rtl: esyms: _TLS_Size -> 0x0 +rtl: esyms: _TOD -> 0x2036da0 +rtl: esyms: _TOD_Handler_initialization -> 0x2016eb4 +rtl: esyms: _TOD_Tickle_ticks -> 0x2016ee8 +rtl: esyms: _Terminate -> 0x20179b4 +rtl: esyms: _Thread_Allocated_fp -> 0x2036e30 +rtl: esyms: _Thread_Change_priority -> 0x2019e30 +rtl: esyms: _Thread_Clear_state -> 0x2019f50 +rtl: esyms: _Thread_Close -> 0x201b1bc +rtl: esyms: _Thread_Control_add_on_count -> 0x202a4b0 +rtl: esyms: _Thread_Control_add_ons -> 0x202a4b4 +rtl: esyms: _Thread_Control_size -> 0x202a4d4 +rtl: esyms: _Thread_Create_idle -> 0x2019fb4 +rtl: esyms: _Thread_Dispatch -> 0x201a250 +rtl: esyms: _Thread_Do_dispatch -> 0x201a060 +rtl: esyms: _Thread_Get -> 0x201a2e0 +rtl: esyms: _Thread_Get_interrupt_disable -> 0x201a338 +rtl: esyms: _Thread_Global_construction -> 0x201a390 +rtl: esyms: _Thread_Handler -> 0x201a470 +rtl: esyms: _Thread_Handler_initialization -> 0x2019d78 +rtl: esyms: _Thread_Initialize -> 0x201a548 +rtl: esyms: _Thread_Internal_information -> 0x2036e5c +rtl: esyms: _Thread_Kill_zombies -> 0x201af74 +rtl: esyms: _Thread_Life_action_handler -> 0x201b050 +rtl: esyms: _Thread_Load_environment -> 0x201a820 +rtl: esyms: _Thread_Raise_priority -> 0x2019f14 +rtl: esyms: _Thread_Restart -> 0x201b214 +rtl: esyms: _Thread_Restore_priority -> 0x2019f30 +rtl: esyms: _Thread_Set_life_protection -> 0x201b250 +rtl: esyms: _Thread_Set_priority -> 0x201b37c +rtl: esyms: _Thread_Set_state -> 0x201b394 +rtl: esyms: _Thread_Stack_Allocate -> 0x201b3dc +rtl: esyms: _Thread_Stack_Free -> 0x201b41c +rtl: esyms: _Thread_Start -> 0x201b444 +rtl: esyms: _Thread_Start_multitasking -> 0x201b4d4 +rtl: esyms: _Thread_Timeout -> 0x201b4f0 +rtl: esyms: _Thread_Yield -> 0x201b594 +rtl: esyms: _Thread_queue_Compare_priority -> 0x201a88c +rtl: esyms: _Thread_queue_Dequeue -> 0x201ab94 +rtl: esyms: _Thread_queue_Enqueue_critical -> 0x201a8f4 +rtl: esyms: _Thread_queue_Extract -> 0x201ab54 +rtl: esyms: _Thread_queue_Extract_critical -> 0x201ab24 +rtl: esyms: _Thread_queue_Extract_locked -> 0x201aa2c +rtl: esyms: _Thread_queue_Extract_with_proxy -> 0x201abe8 +rtl: esyms: _Thread_queue_Flush -> 0x201abf4 +rtl: esyms: _Thread_queue_Initialize -> 0x201a8a8 +rtl: esyms: _Thread_queue_Operations_FIFO -> 0x2034838 +rtl: esyms: _Thread_queue_Operations_default -> 0x203484c +rtl: esyms: _Thread_queue_Operations_priority -> 0x2034824 +rtl: esyms: _Thread_queue_Unblock_critical -> 0x201aa5c +rtl: esyms: _Timecounter -> 0x203517c +rtl: esyms: _Timecounter_Bintime -> 0x2017f00 +rtl: esyms: _Timecounter_Binuptime -> 0x2017e40 +rtl: esyms: _Timecounter_Boottimebin -> 0x20376b8 +rtl: esyms: _Timecounter_Initialize -> 0x2018364 +rtl: esyms: _Timecounter_Install -> 0x2017fec +rtl: esyms: _Timecounter_Microtime -> 0x2017f78 +rtl: esyms: _Timecounter_Set_clock -> 0x2018028 +rtl: esyms: _Timecounter_Tick_simple -> 0x20181c0 +rtl: esyms: _Timecounter_Time_second -> 0x2035174 +rtl: esyms: _Timecounter_Time_uptime -> 0x2035170 +rtl: esyms: _Timer_Information -> 0x2036ce0 +rtl: esyms: _Timer_Manager_initialization -> 0x2014f70 +rtl: esyms: _Timer_server -> 0x2036d1c +rtl: esyms: _Timespec_To_ticks -> 0x201b5d4 +rtl: esyms: _Unwind_Find_FDE -> 0x2003fb0 +rtl: esyms: _User_extensions_Add_set -> 0x201b6c8 +rtl: esyms: _User_extensions_Fatal_visitor -> 0x201b820 +rtl: esyms: _User_extensions_Handler_initialization -> 0x201b688 +rtl: esyms: _User_extensions_Iterate -> 0x201b870 +rtl: esyms: _User_extensions_List -> 0x2035218 +rtl: esyms: _User_extensions_Switches_list -> 0x203520c +rtl: esyms: _User_extensions_Thread_begin_visitor -> 0x201b7d8 +rtl: esyms: _User_extensions_Thread_create_visitor -> 0x201b728 +rtl: esyms: _User_extensions_Thread_delete_visitor -> 0x201b76c +rtl: esyms: _User_extensions_Thread_exitted_visitor -> 0x201b7fc +rtl: esyms: _User_extensions_Thread_restart_visitor -> 0x201b7b4 +rtl: esyms: _User_extensions_Thread_start_visitor -> 0x201b790 +rtl: esyms: _User_extensions_Thread_terminate_visitor -> 0x201b84c +rtl: esyms: _Watchdog_Handler_initialization -> 0x201b900 +rtl: esyms: _Watchdog_Insert -> 0x201baac +rtl: esyms: _Watchdog_Remove -> 0x201bbac +rtl: esyms: _Watchdog_Seconds_header -> 0x2036e40 +rtl: esyms: _Watchdog_Tick -> 0x201bcc4 +rtl: esyms: _Watchdog_Tickle -> 0x201bc10 +rtl: esyms: _Watchdog_Ticks_header -> 0x2036f28 +rtl: esyms: _Watchdog_Ticks_since_boot -> 0x2037718 +rtl: esyms: _Workspace_Allocate -> 0x201bef8 +rtl: esyms: _Workspace_Allocate_aligned -> 0x201bf18 +rtl: esyms: _Workspace_Allocate_or_fatal_error -> 0x201bf50 +rtl: esyms: _Workspace_Area -> 0x2036dc8 +rtl: esyms: _Workspace_Free -> 0x201bf38 +rtl: esyms: _Workspace_Handler_initialization -> 0x201bd20 +rtl: esyms: __DTOR_END__ -> 0x202a44c +rtl: esyms: __DYNAMIC -> 0x0 +rtl: esyms: __TMC_END__ -> 0x2035560 +rtl: esyms: __any_on -> 0x2020c30 +rtl: esyms: __ascii_wctomb -> 0x2029ef0 +rtl: esyms: __b2d -> 0x20208b4 +rtl: esyms: __bss_start -> 0x2035560 +rtl: esyms: __call_exitprocs -> 0x201c6a8 +rtl: esyms: __clz_tab -> 0x2032438 +rtl: esyms: __copybits -> 0x2020bb0 +rtl: esyms: __ctype_ptr__ -> 0x203522c +rtl: esyms: __d2b -> 0x20209d4 +rtl: esyms: __deregister_frame -> 0x2003f84 +rtl: esyms: __deregister_frame_info -> 0x2003f78 +rtl: esyms: __deregister_frame_info_bases -> 0x2003e3c +rtl: esyms: __divdi3 -> 0x2001b30 +rtl: esyms: __end -> 0x2037720 +rtl: esyms: __errno -> 0x201de3c +rtl: esyms: __fp_lock_all -> 0x201e598 +rtl: esyms: __fp_unlock_all -> 0x201e5b0 +rtl: esyms: __fpclassifyd -> 0x2021144 +rtl: esyms: __fputwc -> 0x201e7d0 +rtl: esyms: __getreent -> 0x2001318 +rtl: esyms: __hi0bits -> 0x2020040 +rtl: esyms: __i2b -> 0x2020194 +rtl: esyms: __lo0bits -> 0x20200c8 +rtl: esyms: __locale_charset -> 0x201f6d8 +rtl: esyms: __locale_cjk_lang -> 0x201f6fc +rtl: esyms: __locale_mb_cur_max -> 0x201f6e4 +rtl: esyms: __locale_msgcharset -> 0x201f6f0 +rtl: esyms: __log2table -> 0x2034718 +rtl: esyms: __lshift -> 0x202050c +rtl: esyms: __mb_cur_max -> 0x2035558 +rtl: esyms: __mcmp -> 0x202063c +rtl: esyms: __mdiff -> 0x20206a8 +rtl: esyms: __moddi3 -> 0x2001f50 +rtl: esyms: __mprec_bigtens -> 0x2034c60 +rtl: esyms: __mprec_tens -> 0x2034c88 +rtl: esyms: __mprec_tinytens -> 0x2034c38 +rtl: esyms: __muldi3 -> 0x2001a68 +rtl: esyms: __multadd -> 0x201fe80 +rtl: esyms: __multiply -> 0x20201b8 +rtl: esyms: __pow5mult -> 0x20203e8 +rtl: esyms: __ratio -> 0x2020ae4 +rtl: esyms: __register_exitproc -> 0x201c5b4 +rtl: esyms: __register_frame -> 0x2003d80 +rtl: esyms: __register_frame_info -> 0x2003d4c +rtl: esyms: __register_frame_info_bases -> 0x2003d1c +rtl: esyms: __register_frame_info_table -> 0x2003e0c +rtl: esyms: __register_frame_info_table_bases -> 0x2003db0 +rtl: esyms: __register_frame_table -> 0x2003e20 +rtl: esyms: __s2b -> 0x201ff68 +rtl: esyms: __sclose -> 0x202138c +rtl: esyms: __seofread -> 0x20212c8 +rtl: esyms: __sflags -> 0x201e630 +rtl: esyms: __sflush_r -> 0x201df9c +rtl: esyms: __sfmoreglue -> 0x201e3f8 +rtl: esyms: __sfp -> 0x201e444 +rtl: esyms: __sfp_lock_acquire -> 0x201e578 +rtl: esyms: __sfp_lock_release -> 0x201e580 +rtl: esyms: __sfvwrite_r -> 0x201ef94 +rtl: esyms: __sinit -> 0x201e554 +rtl: esyms: __sinit_lock_acquire -> 0x201e588 +rtl: esyms: __sinit_lock_release -> 0x201e590 +rtl: esyms: __smakebuf_r -> 0x201f740 +rtl: esyms: __sprint_r -> 0x2025b80 +rtl: esyms: __sread -> 0x2021274 +rtl: esyms: __srefill_r -> 0x2020f44 +rtl: esyms: __sseek -> 0x2021318 +rtl: esyms: __ssprint_r -> 0x2021d94 +rtl: esyms: __start_set_sysctl_set -> 0x2034e60 +rtl: esyms: __stop_set_sysctl_set -> 0x2034e60 +rtl: esyms: __swbuf -> 0x2029dcc +rtl: esyms: __swbuf_r -> 0x2029c4c +rtl: esyms: __swrite -> 0x20212d0 +rtl: esyms: __swsetup_r -> 0x2029f5c +rtl: esyms: __udivdi3 -> 0x2002370 +rtl: esyms: __ulp -> 0x2020824 +rtl: esyms: __umoddi3 -> 0x20026c8 +rtl: esyms: __wctomb -> 0x203555c +rtl: esyms: _bss_start -> 0x2035560 +rtl: esyms: _calloc_r -> 0x2007410 +rtl: esyms: _cleanup -> 0x201e538 +rtl: esyms: _cleanup_r -> 0x201e2ac +rtl: esyms: _close_r -> 0x2007730 +rtl: esyms: _ctype_ -> 0x2034918 +rtl: esyms: _data_start -> 0x2034e60 +rtl: esyms: _dtoa_r -> 0x201cae4 +rtl: esyms: _edata -> 0x2035560 +rtl: esyms: _end -> 0x2037720 +rtl: esyms: _endtext -> 0x2034e60 +rtl: esyms: _erodata -> 0x2034e30 +rtl: esyms: _etext -> 0x2034e28 +rtl: esyms: _exit -> 0x20083cc +rtl: esyms: _fclose_r -> 0x201de8c +rtl: esyms: _fflush_r -> 0x201e21c +rtl: esyms: _fini -> 0x2034e48 +rtl: esyms: _fiprintf_r -> 0x201e5c8 +rtl: esyms: _fopen_r -> 0x201e6e0 +rtl: esyms: _fputwc_r -> 0x201e904 +rtl: esyms: _free_r -> 0x2007424 +rtl: esyms: _fseek_r -> 0x201e974 +rtl: esyms: _fseeko_r -> 0x201e9b0 +rtl: esyms: _fstat_r -> 0x2007884 +rtl: esyms: _fwalk -> 0x201f488 +rtl: esyms: _fwalk_reent -> 0x201f4fc +rtl: esyms: _fwrite_r -> 0x201f57c +rtl: esyms: _getpid_r -> 0x2007964 +rtl: esyms: _gettimeofday_r -> 0x2007350 +rtl: esyms: _global_atexit -> 0x20365e0 +rtl: esyms: _global_impure_ptr -> 0x2034c18 +rtl: esyms: _impure_ptr -> 0x2035230 +rtl: esyms: _init -> 0x2034e28 +rtl: esyms: _isatty -> 0x201c818 +rtl: esyms: _isatty_r -> 0x20079fc +rtl: esyms: _kill_r -> 0x201391c +rtl: esyms: _localeconv_r -> 0x201f704 +rtl: esyms: _lseek_r -> 0x2007c54 +rtl: esyms: _malloc_r -> 0x2007434 +rtl: esyms: _mprec_log10 -> 0x2020b70 +rtl: esyms: _open_r -> 0x2008734 +rtl: esyms: _printf_r -> 0x2020ce4 +rtl: esyms: _puts_r -> 0x2020d50 +rtl: esyms: _raise_r -> 0x2020df0 +rtl: esyms: _read_r -> 0x20088fc +rtl: esyms: _realloc_r -> 0x2007444 +rtl: esyms: _reclaim_reent -> 0x2020e40 +rtl: esyms: _rodata_start -> 0x202a450 +rtl: esyms: _rtld_debug -> 0x2036848 +rtl: esyms: _rtld_debug_state -> 0x200cd88 +rtl: esyms: _rtld_linkmap_add -> 0x200cd90 +rtl: esyms: _rtld_linkmap_delete -> 0x200ce60 +rtl: esyms: _sdata -> 0x2034e60 +rtl: esyms: _setlocale_r -> 0x201f66c +rtl: esyms: _strtoul_r -> 0x20219e0 +rtl: esyms: _svfiprintf_r -> 0x2021f68 +rtl: esyms: _svfprintf_r -> 0x2023208 +rtl: esyms: _text_start -> 0x2000000 +rtl: esyms: _vfiprintf_r -> 0x2025ba4 +rtl: esyms: _vfprintf_r -> 0x2027328 +rtl: esyms: _vsnprintf_r -> 0x2029b5c +rtl: esyms: _wcrtomb_r -> 0x2029de8 +rtl: esyms: _wctomb_r -> 0x2029f2c +rtl: esyms: _write_r -> 0x200c4bc +rtl: esyms: abort -> 0x201c87c +rtl: esyms: atexit -> 0x201c894 +rtl: esyms: bcopy -> 0x201c8b0 +rtl: esyms: boot_card -> 0x200415c +rtl: esyms: bsp_boot_cmdline -> 0x2036730 +rtl: esyms: bsp_console_select -> 0x20048bc +rtl: esyms: bsp_fatal_extension -> 0x200420c +rtl: esyms: bsp_idle_thread -> 0x2004284 +rtl: esyms: bsp_interrupt_facility_initialize -> 0x2004cb0 +rtl: esyms: bsp_interrupt_handler_default -> 0x2004be0 +rtl: esyms: bsp_interrupt_handler_table -> 0x2036738 +rtl: esyms: bsp_interrupt_initialize -> 0x2004c04 +rtl: esyms: bsp_isr_handler -> 0x20041d0 +rtl: esyms: bsp_libc_init -> 0x2004298 +rtl: esyms: bsp_postdriver_hook -> 0x20042b4 +rtl: esyms: bsp_predriver_hook -> 0x20042d0 +rtl: esyms: bsp_pretasking_hook -> 0x20042dc +rtl: esyms: bsp_spurious_initialize -> 0x20052e8 +rtl: esyms: bsp_start -> 0x20042e8 +rtl: esyms: bsp_work_area_initialize -> 0x200422c +rtl: esyms: bss_start -> 0x2035560 +rtl: esyms: calloc -> 0x20072e4 +rtl: esyms: cleanup_glue -> 0x2020e1c +rtl: esyms: close -> 0x20076b4 +rtl: esyms: console_close -> 0x20046c0 +rtl: esyms: console_control -> 0x200489c +rtl: esyms: console_inbyte_nonblocking -> 0x2004a34 +rtl: esyms: console_initialize -> 0x2004740 +rtl: esyms: console_open -> 0x2004574 +rtl: esyms: console_outbyte_polled -> 0x20049e4 +rtl: esyms: console_read -> 0x20048ac +rtl: esyms: console_write -> 0x20049ac +rtl: esyms: data_start -> 0x2034e60 +rtl: esyms: device_close -> 0x2005948 +rtl: esyms: device_ftruncate -> 0x20059a8 +rtl: esyms: device_ioctl -> 0x2005990 +rtl: esyms: device_open -> 0x2005930 +rtl: esyms: device_read -> 0x2005960 +rtl: esyms: device_write -> 0x2005978 +rtl: esyms: dl_load_test -> 0x2001324 +rtl: esyms: dl_tar -> 0x202a6f0 +rtl: esyms: dl_tar_size -> 0x202a6e8 +rtl: esyms: dlclose -> 0x200c558 +rtl: esyms: dlerror -> 0x200c5dc +rtl: esyms: dlopen -> 0x200c4d4 +rtl: esyms: early_mem -> 0x2034ef0 +rtl: esyms: edata -> 0x2035560 +rtl: esyms: end -> 0x2037720 +rtl: esyms: erc32_fns -> 0x2032578 +rtl: esyms: etext -> 0x2034e30 +rtl: esyms: exit -> 0x201de50 +rtl: esyms: fastlz_decompress -> 0x200c5fc +rtl: esyms: fclose -> 0x201df88 +rtl: esyms: fflush -> 0x201e26c +rtl: esyms: fiprintf -> 0x201e5f8 +rtl: esyms: fopen -> 0x201e7b4 +rtl: esyms: fputwc -> 0x201e934 +rtl: esyms: free -> 0x2007740 +rtl: esyms: frexp -> 0x20211cc +rtl: esyms: fseek -> 0x201e990 +rtl: esyms: fseeko -> 0x201ef68 +rtl: esyms: fstat -> 0x20077e4 +rtl: esyms: ftruncate -> 0x2007898 +rtl: esyms: fwrite -> 0x201f634 +rtl: esyms: getegid -> 0x200792c +rtl: esyms: geteuid -> 0x2007944 +rtl: esyms: getpid -> 0x200795c +rtl: esyms: gettimeofday -> 0x2007318 +rtl: esyms: hard_reset -> 0x2001000 +rtl: esyms: imfs_memfile_bytes_per_block -> 0x203629c +rtl: esyms: imfs_rq_memfile_bytes_per_block -> 0x2034eec +rtl: esyms: isatty -> 0x201f660 +rtl: esyms: killinfo -> 0x2013934 +rtl: esyms: libc_init -> 0x20083f4 +rtl: esyms: libchip_serial_default_probe -> 0x2005064 +rtl: esyms: localeconv -> 0x201f72c +rtl: esyms: lseek -> 0x2007bdc +rtl: esyms: malloc -> 0x2007c74 +rtl: esyms: malloc_deferred_free -> 0x2007d7c +rtl: esyms: malloc_deferred_frees_process -> 0x2007d48 +rtl: esyms: malloc_is_system_state_OK -> 0x2007d20 +rtl: esyms: memchr -> 0x201f8c8 +rtl: esyms: memcmp -> 0x201f9e4 +rtl: esyms: memcpy -> 0x201fa80 +rtl: esyms: memfile_blocks_allocated -> 0x20362a0 +rtl: esyms: memmove -> 0x201fb74 +rtl: esyms: memset -> 0x201fcb0 +rtl: esyms: mkdir -> 0x2007e20 +rtl: esyms: mknod -> 0x2007ee8 +rtl: esyms: mount -> 0x2008074 +rtl: esyms: newlib_create_hook -> 0x20083fc +rtl: esyms: newlib_terminate_hook -> 0x20084b4 +rtl: esyms: open -> 0x20084c4 +rtl: esyms: printf -> 0x2020d18 +rtl: esyms: printk -> 0x20087c0 +rtl: esyms: pthread_exit -> 0x2014858 +rtl: esyms: pthread_getspecific -> 0x2013760 +rtl: esyms: pthread_key_create -> 0x20136f4 +rtl: esyms: pthread_kill -> 0x201486c +rtl: esyms: pthread_self -> 0x201494c +rtl: esyms: puts -> 0x2020ddc +rtl: esyms: raise -> 0x2020e08 +rtl: esyms: rdb_start -> 0x20007c0 +rtl: esyms: read -> 0x200885c +rtl: esyms: realloc -> 0x2008914 +rtl: esyms: rtems_ada_self -> 0x2036e58 +rtl: esyms: rtems_assoc_local_by_remote -> 0x2007458 +rtl: esyms: rtems_assoc_local_by_remote_bitfield -> 0x2007488 +rtl: esyms: rtems_assoc_ptr_by_local -> 0x20074d4 +rtl: esyms: rtems_assoc_ptr_by_remote -> 0x2007554 +rtl: esyms: rtems_assoc_remote_by_local -> 0x20075d4 +rtl: esyms: rtems_cache_get_instruction_line_size -> 0x200537c +rtl: esyms: rtems_cache_get_maximal_line_size -> 0x2005384 +rtl: esyms: rtems_cache_instruction_sync_after_code_change -> 0x200538c +rtl: esyms: rtems_cache_invalidate_entire_instruction -> 0x2005374 +rtl: esyms: rtems_clock_get_ticks_per_second -> 0x2014a34 +rtl: esyms: rtems_counter_initialize_converter -> 0x2016078 +rtl: esyms: rtems_current_user_env_get -> 0x20087f0 +rtl: esyms: rtems_current_user_env_key -> 0x2036838 +rtl: esyms: rtems_deviceio_close -> 0x2008bbc +rtl: esyms: rtems_deviceio_control -> 0x2008cc4 +rtl: esyms: rtems_deviceio_open -> 0x2008b88 +rtl: esyms: rtems_deviceio_read -> 0x2008bec +rtl: esyms: rtems_deviceio_write -> 0x2008c58 +rtl: esyms: rtems_event_receive -> 0x2014a94 +rtl: esyms: rtems_event_send -> 0x2014cd4 +rtl: esyms: rtems_event_system_send -> 0x20157f0 +rtl: esyms: rtems_fatal -> 0x2016248 +rtl: esyms: rtems_fatal_error_occurred -> 0x2016230 +rtl: esyms: rtems_filesystem_check_access -> 0x2008a98 +rtl: esyms: rtems_filesystem_default_are_nodes_equal -> 0x2005540 +rtl: esyms: rtems_filesystem_default_close -> 0x2005558 +rtl: esyms: rtems_filesystem_default_eval_path -> 0x2005560 +rtl: esyms: rtems_filesystem_default_fcntl -> 0x2005574 +rtl: esyms: rtems_filesystem_default_freenode -> 0x200557c +rtl: esyms: rtems_filesystem_default_fstat -> 0x2005584 +rtl: esyms: rtems_filesystem_default_fsunmount -> 0x2005594 +rtl: esyms: rtems_filesystem_default_fsync_or_fdatasync -> 0x200559c +rtl: esyms: rtems_filesystem_default_fsync_or_fdatasync_success -> 0x20055b8 +rtl: esyms: rtems_filesystem_default_ftruncate -> 0x20055c0 +rtl: esyms: rtems_filesystem_default_ftruncate_directory -> 0x20055dc +rtl: esyms: rtems_filesystem_default_ioctl -> 0x20055f8 +rtl: esyms: rtems_filesystem_default_kqfilter -> 0x2005614 +rtl: esyms: rtems_filesystem_default_lock -> 0x200561c +rtl: esyms: rtems_filesystem_default_lseek -> 0x200564c +rtl: esyms: rtems_filesystem_default_lseek_directory -> 0x200566c +rtl: esyms: rtems_filesystem_default_lseek_file -> 0x20056b4 +rtl: esyms: rtems_filesystem_default_open -> 0x20057d4 +rtl: esyms: rtems_filesystem_default_pathconf -> 0x2032c54 +rtl: esyms: rtems_filesystem_default_poll -> 0x20057dc +rtl: esyms: rtems_filesystem_default_read -> 0x20057e4 +rtl: esyms: rtems_filesystem_default_readv -> 0x2005800 +rtl: esyms: rtems_filesystem_default_statvfs -> 0x200587c +rtl: esyms: rtems_filesystem_default_unlock -> 0x2005638 +rtl: esyms: rtems_filesystem_default_write -> 0x2005898 +rtl: esyms: rtems_filesystem_default_writev -> 0x20058b4 +rtl: esyms: rtems_filesystem_do_unmount -> 0x2009504 +rtl: esyms: rtems_filesystem_eval_path_check_access -> 0x2008b54 +rtl: esyms: rtems_filesystem_eval_path_cleanup -> 0x2009130 +rtl: esyms: rtems_filesystem_eval_path_cleanup_with_parent -> 0x200916c +rtl: esyms: rtems_filesystem_eval_path_continue -> 0x2008e40 +rtl: esyms: rtems_filesystem_eval_path_eat_delimiter -> 0x20098d8 +rtl: esyms: rtems_filesystem_eval_path_error -> 0x2008d44 +rtl: esyms: rtems_filesystem_eval_path_generic -> 0x2009298 +rtl: esyms: rtems_filesystem_eval_path_next_token -> 0x2009950 +rtl: esyms: rtems_filesystem_eval_path_recursive -> 0x20091e4 +rtl: esyms: rtems_filesystem_eval_path_restart -> 0x2009180 +rtl: esyms: rtems_filesystem_eval_path_start -> 0x200900c +rtl: esyms: rtems_filesystem_eval_path_start_with_parent -> 0x2009038 +rtl: esyms: rtems_filesystem_eval_path_start_with_root_and_current -> 0x2008eb4 +rtl: esyms: rtems_filesystem_get_mount_handler -> 0x200803c +rtl: esyms: rtems_filesystem_global_location_assign -> 0x200978c +rtl: esyms: rtems_filesystem_global_location_null -> 0x2034fcc +rtl: esyms: rtems_filesystem_global_location_obtain -> 0x2009638 +rtl: esyms: rtems_filesystem_global_location_release -> 0x2009724 +rtl: esyms: rtems_filesystem_handlers_default -> 0x20328cc +rtl: esyms: rtems_filesystem_initialize -> 0x2007604 +rtl: esyms: rtems_filesystem_iterate -> 0x2007f78 +rtl: esyms: rtems_filesystem_location_clone -> 0x200766c +rtl: esyms: rtems_filesystem_location_copy -> 0x2009498 +rtl: esyms: rtems_filesystem_location_copy_and_detach -> 0x2009844 +rtl: esyms: rtems_filesystem_location_detach -> 0x20094e8 +rtl: esyms: rtems_filesystem_location_free -> 0x200779c +rtl: esyms: rtems_filesystem_location_remove_from_mt_entry -> 0x20097b4 +rtl: esyms: rtems_filesystem_location_transform_to_global -> 0x200986c +rtl: esyms: rtems_filesystem_mknod -> 0x2007e3c +rtl: esyms: rtems_filesystem_mount_table -> 0x2035048 +rtl: esyms: rtems_filesystem_null_handlers -> 0x2032b28 +rtl: esyms: rtems_filesystem_null_mt_entry -> 0x2034ff0 +rtl: esyms: rtems_filesystem_root_configuration -> 0x202a588 +rtl: esyms: rtems_filesystem_table -> 0x202a604 +rtl: esyms: rtems_fs_init_helper -> 0x202a618 +rtl: esyms: rtems_get_version_string -> 0x2016260 +rtl: esyms: rtems_global_user_env -> 0x2034f84 +rtl: esyms: rtems_gxx_mutex_init -> 0x2007978 +rtl: esyms: rtems_gxx_mutex_lock -> 0x20079bc +rtl: esyms: rtems_gxx_mutex_unlock -> 0x20079e0 +rtl: esyms: rtems_gxx_once -> 0x200796c +rtl: esyms: rtems_heap_null_extend -> 0x2008a24 +rtl: esyms: rtems_initialize_before_drivers -> 0x20161ac +rtl: esyms: rtems_initialize_data_structures -> 0x2016100 +rtl: esyms: rtems_initialize_device_drivers -> 0x20161b4 +rtl: esyms: rtems_initialize_start_multitasking -> 0x20161c8 +rtl: esyms: rtems_interrupt_catch -> 0x2014e40 +rtl: esyms: rtems_io_close -> 0x20162b8 +rtl: esyms: rtems_io_control -> 0x2016318 +rtl: esyms: rtems_io_initialize -> 0x2016378 +rtl: esyms: rtems_io_open -> 0x20163d4 +rtl: esyms: rtems_io_read -> 0x2016434 +rtl: esyms: rtems_io_register_name -> 0x20072b4 +rtl: esyms: rtems_io_write -> 0x2016494 +rtl: esyms: rtems_libio_allocate -> 0x2007a40 +rtl: esyms: rtems_libio_exit -> 0x2007adc +rtl: esyms: rtems_libio_exit_helper -> 0x202a61c +rtl: esyms: rtems_libio_fcntl_flags -> 0x2007a0c +rtl: esyms: rtems_libio_free -> 0x2007a98 +rtl: esyms: rtems_libio_free_user_env -> 0x200881c +rtl: esyms: rtems_libio_init -> 0x2007afc +rtl: esyms: rtems_libio_init_helper -> 0x202a624 +rtl: esyms: rtems_libio_iop_freelist -> 0x203683c +rtl: esyms: rtems_libio_iops -> 0x20365e8 +rtl: esyms: rtems_libio_number_iops -> 0x202a614 +rtl: esyms: rtems_libio_post_driver -> 0x200874c +rtl: esyms: rtems_libio_post_driver_helper -> 0x202a620 +rtl: esyms: rtems_libio_semaphore -> 0x2036840 +rtl: esyms: rtems_malloc_dirty_helper -> 0x20355b8 +rtl: esyms: rtems_malloc_extend_handler -> 0x202a548 +rtl: esyms: rtems_maximum_priority -> 0x2034e64 +rtl: esyms: rtems_minimum_stack_size -> 0x2034e68 +rtl: esyms: rtems_putc -> 0x2008a2c +rtl: esyms: rtems_rtl_alloc_del -> 0x200cb20 +rtl: esyms: rtems_rtl_alloc_heap -> 0x200ca08 +rtl: esyms: rtems_rtl_alloc_initialise -> 0x200ca40 +rtl: esyms: rtems_rtl_alloc_module_del -> 0x200cba4 +rtl: esyms: rtems_rtl_alloc_module_new -> 0x200cc00 +rtl: esyms: rtems_rtl_alloc_new -> 0x200ca7c +rtl: esyms: rtems_rtl_base_sym_global_add -> 0x2013500 +rtl: esyms: rtems_rtl_baseimage -> 0x201357c +rtl: esyms: rtems_rtl_chain_iterate -> 0x200cd40 +rtl: esyms: rtems_rtl_check_handle -> 0x20131ac +rtl: esyms: rtems_rtl_elf_file_check -> 0x200dc10 +rtl: esyms: rtems_rtl_elf_file_load -> 0x200dcdc +rtl: esyms: rtems_rtl_elf_file_sig -> 0x200e428 +rtl: esyms: rtems_rtl_elf_file_unload -> 0x200e410 +rtl: esyms: rtems_rtl_elf_find_symbol -> 0x200d59c +rtl: esyms: rtems_rtl_elf_rel_resolve_sym -> 0x200e6f0 +rtl: esyms: rtems_rtl_elf_relocate_rel -> 0x200e92c +rtl: esyms: rtems_rtl_elf_relocate_rela -> 0x200e708 +rtl: esyms: rtems_rtl_elf_section_flags -> 0x200e6e8 +rtl: esyms: rtems_rtl_elf_unwind_deregister -> 0x200e960 +rtl: esyms: rtems_rtl_elf_unwind_dw2_deregister -> 0x2012b68 +rtl: esyms: rtems_rtl_elf_unwind_dw2_parse -> 0x2012ac4 +rtl: esyms: rtems_rtl_elf_unwind_dw2_register -> 0x2012b18 +rtl: esyms: rtems_rtl_elf_unwind_parse -> 0x200e948 +rtl: esyms: rtems_rtl_elf_unwind_register -> 0x200e954 +rtl: esyms: rtems_rtl_find_file -> 0x200e4d8 +rtl: esyms: rtems_rtl_find_obj -> 0x20131fc +rtl: esyms: rtems_rtl_get_error -> 0x200e47c +rtl: esyms: rtems_rtl_global_symbols -> 0x2012bb8 +rtl: esyms: rtems_rtl_load_object -> 0x20132f4 +rtl: esyms: rtems_rtl_lock -> 0x2012eb4 +rtl: esyms: rtems_rtl_match_name -> 0x200fa6c +rtl: esyms: rtems_rtl_obj_add_section -> 0x2010170 +rtl: esyms: rtems_rtl_obj_alloc -> 0x200f7a0 +rtl: esyms: rtems_rtl_obj_cache_close -> 0x200e9d8 +rtl: esyms: rtems_rtl_obj_cache_flush -> 0x200ea28 +rtl: esyms: rtems_rtl_obj_cache_open -> 0x200e96c +rtl: esyms: rtems_rtl_obj_cache_read -> 0x200ea70 +rtl: esyms: rtems_rtl_obj_cache_read_byval -> 0x200eef0 +rtl: esyms: rtems_rtl_obj_caches -> 0x2012c20 +rtl: esyms: rtems_rtl_obj_caches_flush -> 0x2012c90 +rtl: esyms: rtems_rtl_obj_comp -> 0x2012cd0 +rtl: esyms: rtems_rtl_obj_comp_close -> 0x200efd0 +rtl: esyms: rtems_rtl_obj_comp_open -> 0x200ef58 +rtl: esyms: rtems_rtl_obj_comp_read -> 0x200f02c +rtl: esyms: rtems_rtl_obj_comp_set -> 0x200f010 +rtl: esyms: rtems_rtl_obj_find_file -> 0x20100dc +rtl: esyms: rtems_rtl_obj_find_section -> 0x201024c +rtl: esyms: rtems_rtl_obj_find_section_by_index -> 0x2010278 +rtl: esyms: rtems_rtl_obj_free -> 0x200f7e0 +rtl: esyms: rtems_rtl_obj_load -> 0x2010858 +rtl: esyms: rtems_rtl_obj_load_sections -> 0x2010404 +rtl: esyms: rtems_rtl_obj_load_symbols -> 0x2010390 +rtl: esyms: rtems_rtl_obj_relocate -> 0x20102a4 +rtl: esyms: rtems_rtl_obj_relocate_unresolved -> 0x200da84 +rtl: esyms: rtems_rtl_obj_run_ctors -> 0x2010838 +rtl: esyms: rtems_rtl_obj_run_dtors -> 0x2010848 +rtl: esyms: rtems_rtl_obj_synchronize_cache -> 0x2010318 +rtl: esyms: rtems_rtl_obj_unload -> 0x20109b4 +rtl: esyms: rtems_rtl_parse_name -> 0x200f8ec +rtl: esyms: rtems_rtl_rap_file_check -> 0x2010bd4 +rtl: esyms: rtems_rtl_rap_file_load -> 0x2010c9c +rtl: esyms: rtems_rtl_rap_file_sig -> 0x2011b58 +rtl: esyms: rtems_rtl_rap_file_unload -> 0x2011b50 +rtl: esyms: rtems_rtl_set_error -> 0x200e434 +rtl: esyms: rtems_rtl_strdup -> 0x2011b64 +rtl: esyms: rtems_rtl_symbol_global_add -> 0x2011d74 +rtl: esyms: rtems_rtl_symbol_global_find -> 0x2011cb4 +rtl: esyms: rtems_rtl_symbol_obj_add -> 0x2012078 +rtl: esyms: rtems_rtl_symbol_obj_erase -> 0x20120f0 +rtl: esyms: rtems_rtl_symbol_obj_erase_local -> 0x20120c0 +rtl: esyms: rtems_rtl_symbol_obj_find -> 0x2011fe4 +rtl: esyms: rtems_rtl_symbol_table_close -> 0x2011ca0 +rtl: esyms: rtems_rtl_symbol_table_open -> 0x2011c00 +rtl: esyms: rtems_rtl_trace -> 0x2012188 +rtl: esyms: rtems_rtl_trace_set_mask -> 0x20121a0 +rtl: esyms: rtems_rtl_unload_object -> 0x201341c +rtl: esyms: rtems_rtl_unlock -> 0x2012d00 +rtl: esyms: rtems_rtl_unresolved -> 0x2012bec +rtl: esyms: rtems_rtl_unresolved_add -> 0x20125e8 +rtl: esyms: rtems_rtl_unresolved_interate -> 0x201241c +rtl: esyms: rtems_rtl_unresolved_resolve -> 0x20128f8 +rtl: esyms: rtems_rtl_unresolved_table_close -> 0x20123e8 +rtl: esyms: rtems_rtl_unresolved_table_open -> 0x20123bc +rtl: esyms: rtems_semaphore_create -> 0x2014fe8 +rtl: esyms: rtems_semaphore_delete -> 0x2015204 +rtl: esyms: rtems_semaphore_obtain -> 0x2015378 +rtl: esyms: rtems_semaphore_release -> 0x201562c +rtl: esyms: rtems_shutdown_executive -> 0x20161e0 +rtl: esyms: rtems_status_code_to_errno -> 0x20157ac +rtl: esyms: rtems_task_create -> 0x201583c +rtl: esyms: rtems_task_delete -> 0x2015970 +rtl: esyms: rtems_task_mode -> 0x2015ad0 +rtl: esyms: rtems_task_start -> 0x2015eac +rtl: esyms: rtems_task_wake_after -> 0x2015fa8 +rtl: esyms: rtems_termios_baud_table -> 0x2032d60 +rtl: esyms: rtems_termios_close -> 0x200a6e0 +rtl: esyms: rtems_termios_enqueue_raw_characters -> 0x200b9fc +rtl: esyms: rtems_termios_initialize -> 0x200be08 +rtl: esyms: rtems_termios_ioctl -> 0x200a7d8 +rtl: esyms: rtems_termios_linesw -> 0x20362b0 +rtl: esyms: rtems_termios_number_to_baud -> 0x200bdb0 +rtl: esyms: rtems_termios_open -> 0x200a5ec +rtl: esyms: rtems_termios_puts -> 0x200ac80 +rtl: esyms: rtems_termios_read -> 0x200b5ac +rtl: esyms: rtems_termios_set_initial_baud -> 0x200bdc8 +rtl: esyms: rtems_termios_ttyMutex -> 0x2036844 +rtl: esyms: rtems_termios_write -> 0x200b4d0 +rtl: esyms: rtems_test_begin_with_plugin -> 0x201c280 +rtl: esyms: rtems_test_end_with_plugin -> 0x201c2a4 +rtl: esyms: rtems_test_fatal_extension -> 0x201c2c8 +rtl: esyms: rtems_test_name -> 0x202a628 +rtl: esyms: rtems_timecounter_simple_install -> 0x20165c4 +rtl: esyms: set_vector -> 0x200506c +rtl: esyms: setlocale -> 0x201f710 +rtl: esyms: sigemptyset -> 0x20149c8 +rtl: esyms: sparc_syscall_exit -> 0x20054e4 +rtl: esyms: start -> 0x2000000 +rtl: esyms: stat -> 0x2008a48 +rtl: esyms: strchr -> 0x202139c +rtl: esyms: strcmp -> 0x2021560 +rtl: esyms: strcpy -> 0x202162c +rtl: esyms: strlen -> 0x20216ac +rtl: esyms: strncmp -> 0x202176c +rtl: esyms: strncpy -> 0x2021898 +rtl: esyms: strrchr -> 0x202199c +rtl: esyms: strtoul -> 0x2021c04 +rtl: esyms: symlink -> 0x2009a68 +rtl: esyms: syscall -> 0x20054e0 +rtl: esyms: syscall_irqdis -> 0x2005500 +rtl: esyms: syscall_irqen -> 0x2005520 +rtl: esyms: text_start -> 0x2000000 +rtl: esyms: time -> 0x2025910 +rtl: esyms: trap_table -> 0x2000000 +rtl: esyms: unlink -> 0x200be58 +rtl: esyms: vfiprintf -> 0x20270f4 +rtl: esyms: vfprintf -> 0x2029a94 +rtl: esyms: vprintk -> 0x200bedc +rtl: esyms: vsnprintf -> 0x2029c20 +rtl: esyms: wcrtomb -> 0x2029e68 +rtl: esyms: window_flush_trap_handler -> 0x2005420 +rtl: esyms: window_overflow_trap_handler -> 0x2005394 +rtl: esyms: window_underflow_trap_handler -> 0x20053d0 +rtl: esyms: write -> 0x200c41c +rtl: esyms: rtems_rtl_base_global_syms_init -> 0x2001404 +rtl: loading '/dl-o4.o' +rtl: alloc: new: OBJECT addr=0x2040d20 size=9 +rtl: alloc: del: OBJECT addr=0x0 +rtl: alloc: new: OBJECT addr=0x20489c0 size=144 +rtl: alloc: new: OBJECT addr=0x2040d38 size=9 +rtl: alloc: new: OBJECT addr=0x2040d50 size=9 +rtl: section header: 0: offset=2928 +rtl: section: 0: type=0 flags=00000000 link=0 info=0 +rtl: section header: 1: offset=2968 +rtl: section: 1: type=1 flags=00000006 link=0 info=0 +rtl: section header: 2: offset=3008 +rtl: section: 2: type=1 flags=00000003 link=0 info=0 +rtl: section header: 3: offset=3048 +rtl: section: 3: type=8 flags=00000003 link=0 info=0 +rtl: section header: 4: offset=3088 +rtl: section: 4: type=1 flags=00000006 link=0 info=0 +rtl: alloc: new: OBJECT addr=0x2048a58 size=56 +rtl: alloc: new: OBJECT addr=0x2040d68 size=14 +rtl: sect: 4 : .text._Z3bazv (8) +rtl: section header: 5: offset=3128 +rtl: section: 5: type=1 flags=00000006 link=0 info=0 +rtl: alloc: new: OBJECT addr=0x2048a98 size=56 +rtl: alloc: new: OBJECT addr=0x2048ad8 size=11 +rtl: sect: 5 : .text.func (8) +rtl: section header: 6: offset=3168 +rtl: section: 6: type=1 flags=00000000 link=0 info=0 +rtl: section header: 7: offset=3208 +rtl: section: 7: type=4 flags=00000040 link=20 info=6 +rtl: alloc: new: OBJECT addr=0x2048af0 size=56 +rtl: alloc: new: OBJECT addr=0x2048b30 size=17 +rtl: sect: 7 : .rela.debug_info (324) +rtl: section header: 8: offset=3248 +rtl: section: 8: type=1 flags=00000000 link=0 info=0 +rtl: section header: 9: offset=3288 +rtl: section: 9: type=1 flags=00000000 link=0 info=0 +rtl: section header: 10: offset=3328 +rtl: section: 10: type=4 flags=00000040 link=20 info=9 +rtl: alloc: new: OBJECT addr=0x2048b50 size=56 +rtl: alloc: new: OBJECT addr=0x2048b90 size=20 +rtl: sect: 10: .rela.debug_aranges (36) +rtl: section header: 11: offset=3368 +rtl: section: 11: type=1 flags=00000000 link=0 info=0 +rtl: section header: 12: offset=3408 +rtl: section: 12: type=4 flags=00000040 link=20 info=11 +rtl: alloc: new: OBJECT addr=0x2048bb0 size=56 +rtl: alloc: new: OBJECT addr=0x2048bf0 size=19 +rtl: sect: 12: .rela.debug_ranges (48) +rtl: section header: 13: offset=3448 +rtl: section: 13: type=1 flags=00000000 link=0 info=0 +rtl: section header: 14: offset=3488 +rtl: section: 14: type=4 flags=00000040 link=20 info=13 +rtl: alloc: new: OBJECT addr=0x2048c10 size=56 +rtl: alloc: new: OBJECT addr=0x2048c50 size=17 +rtl: sect: 14: .rela.debug_line (24) +rtl: section header: 15: offset=3528 +rtl: section: 15: type=1 flags=00000030 link=0 info=0 +rtl: section header: 16: offset=3568 +rtl: section: 16: type=1 flags=00000030 link=0 info=0 +rtl: section header: 17: offset=3608 +rtl: section: 17: type=1 flags=00000002 link=0 info=0 +rtl: alloc: new: OBJECT addr=0x2048c70 size=56 +rtl: alloc: new: OBJECT addr=0x2048cb0 size=10 +rtl: sect: 17: .eh_frame (60) +rtl: section header: 18: offset=3648 +rtl: section: 18: type=4 flags=00000040 link=20 info=17 +rtl: alloc: new: OBJECT addr=0x2048cc8 size=56 +rtl: alloc: new: OBJECT addr=0x2048d08 size=15 +rtl: sect: 18: .rela.eh_frame (24) +rtl: section header: 19: offset=3688 +rtl: section: 19: type=3 flags=00000000 link=0 info=0 +rtl: alloc: new: OBJECT addr=0x2048d20 size=56 +rtl: alloc: new: OBJECT addr=0x2048d60 size=10 +rtl: sect: 19: .shstrtab (191) +rtl: section header: 20: offset=3728 +rtl: section: 20: type=2 flags=00000000 link=21 info=15 +rtl: alloc: new: OBJECT addr=0x2048d78 size=56 +rtl: alloc: new: OBJECT addr=0x2048db8 size=8 +rtl: sect: 20: .symtab (272) +rtl: section header: 21: offset=3768 +rtl: section: 21: type=3 flags=00000000 link=0 info=0 +rtl: alloc: new: OBJECT addr=0x2048dc8 size=56 +rtl: alloc: new: OBJECT addr=0x2048e08 size=8 +rtl: sect: 21: .strtab (24) +rtl: alloc: new: READ_EXEC addr=0x2048e18 size=16 +rtl: alloc: new: READ addr=0x2048e30 size=4 +rtl: alloc: new: READ addr=0x2048e40 size=60 +rtl: load sect: text - b:0x2048e18 s:16 a:4 +rtl: load sect: const - b:0x2048e30 s:4 a:0 +rtl: load sect: eh - b:0x2048e40 s:60 a:4 +rtl: load sect: data - b:0x0 s:0 a:0 +rtl: load sect: bss - b:0x0 s:0 a:0 +rtl: loading: 0: .text._Z3bazv -> 0x2048e18 (s:8 f:0401 a:4 l:00) +rtl: loading: 1: .text.func -> 0x2048e20 (s:8 f:0401 a:4 l:00) +rtl: loading: 0: .eh_frame -> 0x2048e40 (s:60 f:0410 a:4 l:00) +rtl: alloc: new: SYMBOL addr=0x2048e88 size=53 +rtl: sym:add:15 name:11:_Z3bazv bind:1 type:2 val:0x2048e18 sect:4 size:8 +rtl: sym:add:16 name:19:func bind:1 type:2 val:0x2048e20 sect:5 size:8 +rtl: relocation: .rela.eh_frame, syms:.symtab +rtl: rela: sym:(null)(5)=02048e18 type:6 off:0000001c addend:0 +rtl: DISP_32 0xffffffbc @ 0x2048e5c in /dl-o4.o +rtl: rela: sym:(null)(6)=02048e20 type:6 off:00000030 addend:0 +rtl: DISP_32 0xffffffb0 @ 0x2048e70 in /dl-o4.o +rtl: alloc: new: OBJECT addr=0x2048ec8 size=84 +rtl: linkmap_add +rtl: unresolv: global resolve +dlopen: +rtl: unloading '/dl-o4.o' +rtl: alloc: del: READ_WRITE addr=0x0 +rtl: alloc: del: READ_WRITE addr=0x0 +rtl: alloc: del: READ addr=0x2048e40 +rtl: alloc: del: READ addr=0x2048e30 +rtl: alloc: del: READ_EXEC addr=0x2048e18 +rtl: alloc: del: SYMBOL addr=0x2048e88 +rtl: alloc: del: OBJECT addr=0x2040d38 +rtl: alloc: del: OBJECT addr=0x2040d50 +rtl: alloc: del: OBJECT addr=0x2048ec8 +rtl: alloc: del: OBJECT addr=0x20489c0 +*** END OF TEST libdl (RTL) 4 *** diff --git a/testsuites/libtests/dl04/init.c b/testsuites/libtests/dl04/init.c new file mode 100644 index 0000000000..6e488649a9 --- /dev/null +++ b/testsuites/libtests/dl04/init.c @@ -0,0 +1,84 @@ +/* + * Copyright (c) 2016 Chris Johns <chrisj@rtems.org>. All rights reserved. + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.org/license/LICENSE. + */ + +#ifdef HAVE_CONFIG_H + #include "config.h" +#endif + +#include "tmacros.h" + +#include <errno.h> +#include <string.h> +#include <stdint.h> +#include <unistd.h> + +#include <rtems/rtl/rtl.h> +#include <rtems/untar.h> + +#include "dl-load.h" + +const char rtems_test_name[] = "libdl (RTL) 4"; + +/* forward declarations to avoid warnings */ +static rtems_task Init(rtems_task_argument argument); + +#include "dl-tar.h" + +#define TARFILE_START dl_tar +#define TARFILE_SIZE dl_tar_size + +static int test(void) +{ + int ret; + ret = dl_load_test(); + if (ret) + rtems_test_exit(ret); + return 0; +} + +static void Init(rtems_task_argument arg) +{ + int te; + + TEST_BEGIN(); + + te = Untar_FromMemory((void *)TARFILE_START, (size_t)TARFILE_SIZE); + if (te != 0) + { + printf("untar failed: %d\n", te); + rtems_test_exit(1); + exit (1); + } + + test(); + + TEST_END(); + + rtems_test_exit(0); +} + +#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER +#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER + +#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 4 + +#define CONFIGURE_MAXIMUM_TASKS 1 + +#define CONFIGURE_MINIMUM_TASK_STACK_SIZE (8U * 1024U) + +#define CONFIGURE_EXTRA_TASK_STACKS (8 * 1024) + +#define CONFIGURE_MAXIMUM_SEMAPHORES 1 + +#define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION + +#define CONFIGURE_RTEMS_INIT_TASKS_TABLE + +#define CONFIGURE_INIT + +#include <rtems/confdefs.h> diff --git a/testsuites/libtests/dl05/Makefile.am b/testsuites/libtests/dl05/Makefile.am new file mode 100644 index 0000000000..d63f355c76 --- /dev/null +++ b/testsuites/libtests/dl05/Makefile.am @@ -0,0 +1,50 @@ +rtems_tests_PROGRAMS = dl05 +dl05_SOURCES = init.c dl-load.c dl-cpp.cpp dl-tar.c dl-tar.h + +BUILT_SOURCES = dl-tar.c dl-tar.h + +dist_rtems_tests_DATA = dl05.scn dl05.doc + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(top_srcdir)/../automake/compile.am +include $(top_srcdir)/../automake/leaf.am + +AM_CPPFLAGS += -I$(top_srcdir)/../support/include + +LINK_OBJS = $(dl05_OBJECTS) +LINK_LIBS = $(dl05_LDLIBS) + +dl-o5.o: dl-o5.cpp + +dl.tar: dl-o5.o + @rm -f $@ + $(PAX) -w -f $@ $< +CLEANFILES += dl.tar + +dl-tar.c: dl.tar + $(BIN2C) -C $< $@ +CLEANFILES += dl-tar.c + +dl-tar.h: dl.tar + $(BIN2C) -H $< $@ +CLEANFILES += dl-tar.h + +dl05.pre$(EXEEXT): $(dl05_OBJECTS) $(dl05_DEPENDENCIES) + @rm -f dl05.pre$(EXEEXT) + $(LINK.cc) $(CPU_CFLAGS) $(AM_CFLAGS) $(AM_LDFLAGS) \ + -o $(basename $@)$(EXEEXT) $(LINK_OBJS) $(LINK_LIBS) + rm -f dl05.pre.ralf + +dl05.pre: dl05.pre$(EXEEXT) + mv $< $@ +CLEANFILES += dl05.pre + +dl-sym.o: dl05.pre + rtems-syms -e -c "$(CFLAGS)" -o $@ $< + +dl05$(EXEEXT): $(dl05_OBJECTS) $(dl05_DEPENDENCIES) dl-sym.o + @rm -f dl05$(EXEEXT) + $(LINK.cc) $(CPU_CFLAGS) $(AM_CFLAGS) $(AM_LDFLAGS) \ + -o $(basename $@)$(EXEEXT) $(LINK_OBJS) dl-sym.o $(LINK_LIBS) + +include $(top_srcdir)/../automake/local.am diff --git a/testsuites/libtests/dl05/dl-cpp.cpp b/testsuites/libtests/dl05/dl-cpp.cpp new file mode 100644 index 0000000000..0e2005713e --- /dev/null +++ b/testsuites/libtests/dl05/dl-cpp.cpp @@ -0,0 +1,30 @@ +/* + * The base image needs this to include the RTTI data. + */ +#include <cstdio> +#include <stdexcept> +#include "dl-load.h" +void exception_base(bool throw_runtime) +{ + printf("%s: begin\n", __func__); + try + { + if (throw_runtime) + throw std::runtime_error("eb: throw std::runtime_error"); + else + throw dl_test_throw_me("eb: throw me"); + } + catch (std::exception const& e) + { + printf("%s: caught: %s\n", __func__, e.what()); + } + catch (dl_test_throw_me const& e) + { + printf("%s: caught: %s\n", __func__, e.what()); + } + catch (...) + { + printf("%s: caught: unknown\n", __func__); + } + printf("%s: end\n", __func__); +} diff --git a/testsuites/libtests/dl05/dl-load.c b/testsuites/libtests/dl05/dl-load.c new file mode 100644 index 0000000000..c7d5698995 --- /dev/null +++ b/testsuites/libtests/dl05/dl-load.c @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2016 Chris Johns <chrisj@rtems.org>. All rights reserved. + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.org/license/LICENSE. + */ + +#ifdef HAVE_CONFIG_H + #include "config.h" +#endif + +#include "tmacros.h" + +#include <stdio.h> + +#include <dlfcn.h> + +#include <rtems/rtl/rtl-trace.h> + +#include "dl-load.h" + +int dl_load_test(void) +{ + void* handle; + const char* err; + void (*func)(bool ); +#if __i386__ + /* + * std::runtime_error destructor locks up in atomics. + */ + bool throw_runtime = false; +#else + bool throw_runtime = true; +#endif + + rtems_rtl_trace_set_mask(RTEMS_RTL_TRACE_ALL); + + handle = dlopen("/dl-o5.o", RTLD_GLOBAL | RTLD_NOW); + if (handle == NULL) + { + err = dlerror(); + if (err != NULL) + printf("dlopen: %s\n", err); + } + rtems_test_assert(handle != NULL); + + func = dlsym(handle, "exception_dl"); + if (func == NULL) { + err = dlerror (); + if (err) + printf ("dlsym: %s\n", err); + } + rtems_test_assert(func != NULL); + + exception_base(throw_runtime); + + func(throw_runtime); + + rtems_test_assert(dlclose(handle) == 0); + + return 0; +} diff --git a/testsuites/libtests/dl05/dl-load.h b/testsuites/libtests/dl05/dl-load.h new file mode 100644 index 0000000000..7a9e1382fd --- /dev/null +++ b/testsuites/libtests/dl05/dl-load.h @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2016 Chris Johns <chrisj@rtems.org>. All rights reserved. + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.org/license/LICENSE. + */ + +#if !defined(_DL_LOAD_H_) +#define _DL_LOAD_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +void exception_base(bool throw_runtime); +void exception_dl(bool throw_runtime); + +int dl_load_test(void); + +#ifdef __cplusplus + class dl_test_throw_me + { + public: + dl_test_throw_me(const char* message) : + message (message) { + } + dl_test_throw_me(const dl_test_throw_me& orig) : + message (orig.message) { + } + dl_test_throw_me() : + message (0) { + } + + ~dl_test_throw_me() { + } + + const char* what() const { + return message; + } + + private: + const char* message; + }; +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/testsuites/libtests/dl05/dl-o5.cpp b/testsuites/libtests/dl05/dl-o5.cpp new file mode 100644 index 0000000000..5918e8f2d5 --- /dev/null +++ b/testsuites/libtests/dl05/dl-o5.cpp @@ -0,0 +1,28 @@ +#include <cstdio> +#include <stdexcept> +#include "dl-load.h" /* make the symbol a C linkage */ +void exception_dl(bool throw_runtime) +{ + printf("exception_dl: begin\n"); + try + { + printf("exception_dl: throwing...\n"); + if (throw_runtime) + throw std::runtime_error("throw std::runtime_error object"); + else + throw dl_test_throw_me("throw dl_test_throw_me object"); + } + catch (dl_test_throw_me const& e) + { + printf("%s: caught: %s\n", __func__, e.what()); + } + catch (std::exception const& e) + { + printf("%s: caught: %s\n", __func__, e.what()); + } + catch (...) + { + printf("%s: caught: unknown\n", __func__); + } + printf("exception_dl: end\n"); +} diff --git a/testsuites/libtests/dl05/dl05.doc b/testsuites/libtests/dl05/dl05.doc new file mode 100644 index 0000000000..58d4d95fa1 --- /dev/null +++ b/testsuites/libtests/dl05/dl05.doc @@ -0,0 +1,24 @@ +# Copyright (c) 2016 Chris Johns <chrisj@rtems.org> +# +# The license and distribution terms for this file may be +# found in the file LICENSE in this distribution or at +# http://www.rtems.org/license/LICENSE. +# + +This file describes the directives and concepts tested by this test set. + +test set name: dl04 + +directives: + + dlopen + dlerror + dlclose + +concepts: + ++ Load a single ELF object file containing C++ code with an exception. ++ Throw the exception. ++ Unload the ELF file. + +Note: the test fails because terminate is raised. diff --git a/testsuites/libtests/dl05/dl05.scn b/testsuites/libtests/dl05/dl05.scn new file mode 100644 index 0000000000..c14b6c496d --- /dev/null +++ b/testsuites/libtests/dl05/dl05.scn @@ -0,0 +1,1424 @@ + + +*** BEGIN OF TEST libdl (RTL) 5 *** +rtl: alloc: new: SYMBOL addr=0x209b4d8 size=384 +rtl: alloc: new: OBJECT addr=0x209ba68 size=2048 +rtl: alloc: new: OBJECT addr=0x209c270 size=2048 +rtl: alloc: new: OBJECT addr=0x209ca78 size=2048 +rtl: alloc: new: OBJECT addr=0x209d280 size=2048 +rtl: alloc: new: OBJECT addr=0x209da88 size=144 +rtl: alloc: new: OBJECT addr=0x208fa18 size=13 +rtl: alloc: new: OBJECT addr=0x208fa30 size=2 +rtl: adding global symbols, table size 29200 +rtl: global symbol add: 1082 +rtl: alloc: new: SYMBOL addr=0x209db20 size=21640 +rtl: esyms: .div -> 0x20115d4 +rtl: esyms: .rem -> 0x2011884 +rtl: esyms: .udiv -> 0x20115cc +rtl: esyms: .umul -> 0x20114e4 +rtl: esyms: .urem -> 0x201187c +rtl: esyms: BSP_output_char -> 0x205f74c +rtl: esyms: BSP_shared_interrupt_init -> 0x201804c +rtl: esyms: CLOCK_SPEED -> 0x20007e0 +rtl: esyms: Clock_driver_ticks -> 0x20652ec +rtl: esyms: Clock_exit -> 0x20176f0 +rtl: esyms: Clock_initialize -> 0x20177e0 +rtl: esyms: Clock_isr -> 0x2017740 +rtl: esyms: Configuration -> 0x2046e9c +rtl: esyms: Configuration_POSIX_API -> 0x205ffc4 +rtl: esyms: Configuration_RTEMS_API -> 0x205f6b4 +rtl: esyms: Console_Configuration_Count -> 0x205f750 +rtl: esyms: Console_Configuration_Ports -> 0x205f754 +rtl: esyms: Console_Port_Count -> 0x2064e48 +rtl: esyms: Console_Port_Data -> 0x2064e40 +rtl: esyms: Console_Port_Minor -> 0x2064e3c +rtl: esyms: Console_Port_Tbl -> 0x2064e44 +rtl: esyms: ERC32_MEC -> 0x1f80000 +rtl: esyms: IMFS_LIMITS_AND_OPTIONS -> 0x205c9c0 +rtl: esyms: IMFS_chown -> 0x2018d90 +rtl: esyms: IMFS_create_node -> 0x2018df8 +rtl: esyms: IMFS_eval_path -> 0x20192d4 +rtl: esyms: IMFS_fchmod -> 0x20192ec +rtl: esyms: IMFS_initialize_node -> 0x2019394 +rtl: esyms: IMFS_initialize_support -> 0x2019418 +rtl: esyms: IMFS_link -> 0x201962c +rtl: esyms: IMFS_memfile_write -> 0x2019f8c +rtl: esyms: IMFS_mknod -> 0x201a1d0 +rtl: esyms: IMFS_mknod_control_device -> 0x205ca48 +rtl: esyms: IMFS_mknod_control_dir_default -> 0x205c9f0 +rtl: esyms: IMFS_mknod_control_enosys -> 0x205ca98 +rtl: esyms: IMFS_mknod_control_memfile -> 0x205caf8 +rtl: esyms: IMFS_mount -> 0x201a280 +rtl: esyms: IMFS_node_clone -> 0x20194cc +rtl: esyms: IMFS_node_destroy -> 0x20194e4 +rtl: esyms: IMFS_node_destroy_default -> 0x2019368 +rtl: esyms: IMFS_node_free -> 0x2019500 +rtl: esyms: IMFS_node_initialize_default -> 0x2019540 +rtl: esyms: IMFS_node_initialize_directory -> 0x2018e94 +rtl: esyms: IMFS_node_remove_default -> 0x2019344 +rtl: esyms: IMFS_node_remove_directory -> 0x2018eac +rtl: esyms: IMFS_readlink -> 0x201a590 +rtl: esyms: IMFS_rename -> 0x201a2f4 +rtl: esyms: IMFS_rmnod -> 0x201a3f4 +rtl: esyms: IMFS_stat -> 0x201a468 +rtl: esyms: IMFS_stat_file -> 0x201a4c8 +rtl: esyms: IMFS_symlink -> 0x201a52c +rtl: esyms: IMFS_unmount -> 0x201a5f8 +rtl: esyms: IMFS_utime -> 0x201a66c +rtl: esyms: Initialization_tasks -> 0x205f714 +rtl: esyms: PROM_END -> 0x200000 +rtl: esyms: PROM_SIZE -> 0x200000 +rtl: esyms: PROM_START -> 0x0 +rtl: esyms: RAM_END -> 0x2400000 +rtl: esyms: RAM_SIZE -> 0x400000 +rtl: esyms: RAM_START -> 0x2000000 +rtl: esyms: RTEMS_Malloc_Area -> 0x2065280 +rtl: esyms: RTEMS_Malloc_GC_list -> 0x205f888 +rtl: esyms: RTEMS_Malloc_Heap -> 0x205f730 +rtl: esyms: RTEMS_Malloc_Initialize -> 0x201b290 +rtl: esyms: TOD_TICKS_PER_SECOND_method -> 0x202a83c +rtl: esyms: Untar_FromMemory -> 0x202fc44 +rtl: esyms: _API_Mutex_Allocate -> 0x2029ff4 +rtl: esyms: _API_Mutex_Initialization -> 0x2029fc4 +rtl: esyms: _API_Mutex_Lock -> 0x202a058 +rtl: esyms: _API_Mutex_Unlock -> 0x202a238 +rtl: esyms: _API_extensions_Add -> 0x2029f68 +rtl: esyms: _API_extensions_Initialization -> 0x2029f4c +rtl: esyms: _API_extensions_List -> 0x2065b00 +rtl: esyms: _API_extensions_Run_postdriver -> 0x2029f80 +rtl: esyms: _Balloc -> 0x2033880 +rtl: esyms: _Barrier_Information -> 0x2065730 +rtl: esyms: _Barrier_Manager_initialization -> 0x20282f0 +rtl: esyms: _Bfree -> 0x2033910 +rtl: esyms: _CORE_mutex_Flush -> 0x202a4f8 +rtl: esyms: _CORE_mutex_Initialize -> 0x202a368 +rtl: esyms: _CORE_mutex_Seize_interrupt_blocking -> 0x202a504 +rtl: esyms: _CORE_mutex_Surrender -> 0x202a5bc +rtl: esyms: _CORE_semaphore_Initialize -> 0x202a778 +rtl: esyms: _CPU_Context_Initialize -> 0x202fa60 +rtl: esyms: _CPU_Context_restore -> 0x2018190 +rtl: esyms: _CPU_Context_restore_fp -> 0x202fba0 +rtl: esyms: _CPU_Context_restore_heir -> 0x20180d0 +rtl: esyms: _CPU_Context_save_fp -> 0x202fb54 +rtl: esyms: _CPU_Context_switch -> 0x2018094 +rtl: esyms: _CPU_Exception_frame_print -> 0x2018560 +rtl: esyms: _CPU_Fatal_halt -> 0x2017598 +rtl: esyms: _CPU_ISR_Get_level -> 0x202f940 +rtl: esyms: _CPU_ISR_install_raw_handler -> 0x202f954 +rtl: esyms: _CPU_ISR_install_vector -> 0x202fa24 +rtl: esyms: _CPU_Initialize -> 0x202f900 +rtl: esyms: _CPU_Null_fp_context -> 0x2065a60 +rtl: esyms: _CPU_Trap_slot_template -> 0x205c600 +rtl: esyms: _Chain_Append -> 0x202a2e0 +rtl: esyms: _Chain_Extract -> 0x202a30c +rtl: esyms: _Chain_Get -> 0x202a330 +rtl: esyms: _Chain_Initialize -> 0x202a284 +rtl: esyms: _Debug_Level -> 0x20659fc +rtl: esyms: _Debug_Manager_initialization -> 0x20299e8 +rtl: esyms: _Dual_ported_memory_Information -> 0x206576c +rtl: esyms: _Dual_ported_memory_Manager_initialization -> 0x2028348 +rtl: esyms: _ERC32_MEC -> 0x1f80000 +rtl: esyms: _ERC32_MEC_Timer_Control_Mirror -> 0x20007c0 +rtl: esyms: _Event_Manager_initialization -> 0x2028380 +rtl: esyms: _Event_Seize -> 0x2028408 +rtl: esyms: _Event_Surrender -> 0x2028610 +rtl: esyms: _Extension_Information -> 0x2065b0c +rtl: esyms: _Extension_Manager_initialization -> 0x2029aec +rtl: esyms: _Freechain_Get -> 0x202a8a0 +rtl: esyms: _Freechain_Initialize -> 0x202a85c +rtl: esyms: _Freechain_Put -> 0x202a920 +rtl: esyms: _Heap_Allocate_aligned_with_boundary -> 0x202ad68 +rtl: esyms: _Heap_Block_allocate -> 0x202ac30 +rtl: esyms: _Heap_Free -> 0x202af9c +rtl: esyms: _Heap_Get_first_and_last_block -> 0x202aa74 +rtl: esyms: _Heap_Initialize -> 0x202ab0c +rtl: esyms: _Heap_Resize_block -> 0x202b18c +rtl: esyms: _Heap_Size_of_alloc_area -> 0x202b2a4 +rtl: esyms: _IO_All_drivers_initialized -> 0x2065b48 +rtl: esyms: _IO_Driver_address_table -> 0x205f6e4 +rtl: esyms: _IO_Initialize_all_drivers -> 0x2029b60 +rtl: esyms: _IO_Number_of_drivers -> 0x2046f74 +rtl: esyms: _ISR_Handler -> 0x20181a0 +rtl: esyms: _ISR_Handler_initialization -> 0x202b37c +rtl: esyms: _ISR_Vector_table -> 0x2065e74 +rtl: esyms: _Internal_Objects -> 0x2065978 +rtl: esyms: _Internal_errors_What_happened -> 0x2065e64 +rtl: esyms: _Message_queue_Information -> 0x20657a8 +rtl: esyms: _Message_queue_Manager_initialization -> 0x2028784 +rtl: esyms: _Objects_API_maximum_class -> 0x202bdec +rtl: esyms: _Objects_Allocate -> 0x202bdd4 +rtl: esyms: _Objects_Allocate_unprotected -> 0x202bd08 +rtl: esyms: _Objects_Close -> 0x202be14 +rtl: esyms: _Objects_Extend_information -> 0x202be30 +rtl: esyms: _Objects_Free -> 0x202c19c +rtl: esyms: _Objects_Get -> 0x202c240 +rtl: esyms: _Objects_Get_information -> 0x202c2f0 +rtl: esyms: _Objects_Get_information_id -> 0x202c364 +rtl: esyms: _Objects_Get_isr_disable -> 0x202c37c +rtl: esyms: _Objects_Information_table -> 0x2065968 +rtl: esyms: _Objects_Initialize_information -> 0x202c3e4 +rtl: esyms: _Objects_Namespace_remove -> 0x202c4bc +rtl: esyms: _Objects_Shrink_information -> 0x202c4e4 +rtl: esyms: _Once -> 0x202c5e0 +rtl: esyms: _Once_Mutex -> 0x20659f4 +rtl: esyms: _POSIX_API_Initialize -> 0x2029de8 +rtl: esyms: _POSIX_Barrier_Information -> 0x2065cf0 +rtl: esyms: _POSIX_Barrier_Manager_initialization -> 0x2027684 +rtl: esyms: _POSIX_Condition_variables_Information -> 0x2065d80 +rtl: esyms: _POSIX_Condition_variables_Manager_initialization -> 0x2026bbc +rtl: esyms: _POSIX_Key_Manager_initialization -> 0x2026c80 +rtl: esyms: _POSIX_Keys_Free_memory -> 0x2026dfc +rtl: esyms: _POSIX_Keys_Information -> 0x2065d44 +rtl: esyms: _POSIX_Keys_Key_value_compare -> 0x2026bf4 +rtl: esyms: _POSIX_Keys_Key_value_lookup_tree -> 0x2064fb4 +rtl: esyms: _POSIX_Keys_Key_value_pair_allocate -> 0x2026c40 +rtl: esyms: _POSIX_Keys_Keypool -> 0x2065dbc +rtl: esyms: _POSIX_Keys_Run_destructors -> 0x2026fb0 +rtl: esyms: _POSIX_Message_queue_Information -> 0x2065c78 +rtl: esyms: _POSIX_Message_queue_Information_fds -> 0x2065dfc +rtl: esyms: _POSIX_Message_queue_Manager_initialization -> 0x20275b8 +rtl: esyms: _POSIX_Mutex_Default_attributes -> 0x2065d2c +rtl: esyms: _POSIX_Mutex_Information -> 0x2065cb4 +rtl: esyms: _POSIX_Mutex_Manager_initialization -> 0x2027618 +rtl: esyms: _POSIX_Objects -> 0x2065dc8 +rtl: esyms: _POSIX_RWLock_Information -> 0x2065b4c +rtl: esyms: _POSIX_RWLock_Manager_initialization -> 0x20276bc +rtl: esyms: _POSIX_Semaphore_Information -> 0x2065c00 +rtl: esyms: _POSIX_Semaphore_Manager_initialization -> 0x2028284 +rtl: esyms: _POSIX_Spinlock_Information -> 0x2065bc4 +rtl: esyms: _POSIX_Spinlock_Manager_initialization -> 0x2027cf4 +rtl: esyms: _POSIX_Thread_Exit -> 0x2028010 +rtl: esyms: _POSIX_Threads_API_extensions -> 0x205f918 +rtl: esyms: _POSIX_Threads_Default_attributes -> 0x205f924 +rtl: esyms: _POSIX_Threads_Information -> 0x2065b88 +rtl: esyms: _POSIX_Threads_Initialize_user_threads_p -> 0x205ffc0 +rtl: esyms: _POSIX_Threads_Manager_initialization -> 0x2027fc0 +rtl: esyms: _POSIX_Threads_Sporadic_budget_TSR -> 0x2027d84 +rtl: esyms: _POSIX_Threads_User_extensions -> 0x205f8e0 +rtl: esyms: _POSIX_Threads_cancel_run -> 0x2026b20 +rtl: esyms: _POSIX_Timer_Information -> 0x2065c3c +rtl: esyms: _POSIX_Timer_Manager_initialization -> 0x202824c +rtl: esyms: _POSIX_signals_Abnormal_termination_handler -> 0x20276f4 +rtl: esyms: _POSIX_signals_Action_handler -> 0x2027704 +rtl: esyms: _POSIX_signals_Check_signal -> 0x20278a8 +rtl: esyms: _POSIX_signals_Clear_process_signals -> 0x202797c +rtl: esyms: _POSIX_signals_Clear_signals -> 0x20279e4 +rtl: esyms: _POSIX_signals_Default_vectors -> 0x205e59c +rtl: esyms: _POSIX_signals_Inactive_siginfo -> 0x206558c +rtl: esyms: _POSIX_signals_Manager_Initialization -> 0x20277f0 +rtl: esyms: _POSIX_signals_Pending -> 0x20655ac +rtl: esyms: _POSIX_signals_Set_process_signals -> 0x2027b3c +rtl: esyms: _POSIX_signals_Siginfo -> 0x20655b0 +rtl: esyms: _POSIX_signals_Unblock_thread -> 0x2027b60 +rtl: esyms: _POSIX_signals_Vectors -> 0x206540c +rtl: esyms: _POSIX_signals_Wait_queue -> 0x2065598 +rtl: esyms: _PROM_END -> 0x200000 +rtl: esyms: _PROM_SIZE -> 0x200000 +rtl: esyms: _PROM_START -> 0x0 +rtl: esyms: _Partition_Information -> 0x20657e4 +rtl: esyms: _Partition_Manager_initialization -> 0x20287bc +rtl: esyms: _Per_CPU_Information -> 0x20662a0 +rtl: esyms: _Protected_heap_Allocate_aligned_with_boundary -> 0x202c644 +rtl: esyms: _Protected_heap_Free -> 0x202c67c +rtl: esyms: _Protected_heap_Get_block_size -> 0x202c6ac +rtl: esyms: _Protected_heap_Resize_block -> 0x202c6e0 +rtl: esyms: _RAM_END -> 0x2400000 +rtl: esyms: _RAM_SIZE -> 0x400000 +rtl: esyms: _RAM_START -> 0x2000000 +rtl: esyms: _RBTree_Extract -> 0x202c9f4 +rtl: esyms: _RBTree_Find -> 0x202cba0 +rtl: esyms: _RBTree_Insert -> 0x202cc00 +rtl: esyms: _RBTree_Next -> 0x202ce80 +rtl: esyms: _RTEMS_API_Initialize -> 0x2029e50 +rtl: esyms: _RTEMS_Allocator_Mutex -> 0x20659f8 +rtl: esyms: _RTEMS_Objects -> 0x2065e38 +rtl: esyms: _RTEMS_Tasks_Invoke_task_variable_dtor -> 0x2029854 +rtl: esyms: _RTEMS_tasks_API_extensions -> 0x205f9a8 +rtl: esyms: _RTEMS_tasks_Information -> 0x2065914 +rtl: esyms: _RTEMS_tasks_Initialize_user_tasks -> 0x20296f4 +rtl: esyms: _RTEMS_tasks_Initialize_user_tasks_body -> 0x2029310 +rtl: esyms: _RTEMS_tasks_Initialize_user_tasks_p -> 0x205f6a8 +rtl: esyms: _RTEMS_tasks_Manager_initialization -> 0x2029750 +rtl: esyms: _RTEMS_tasks_User_extensions -> 0x205f970 +rtl: esyms: _RTEMS_version -> 0x205c670 +rtl: esyms: _Rate_monotonic_Information -> 0x2065820 +rtl: esyms: _Rate_monotonic_Manager_initialization -> 0x20287f4 +rtl: esyms: _Region_Information -> 0x206585c +rtl: esyms: _Region_Manager_initialization -> 0x202882c +rtl: esyms: _SPARC_Counter -> 0x205fa7c +rtl: esyms: _SPARC_Counter_difference_default -> 0x202fbec +rtl: esyms: _Scheduler_Handler_initialization -> 0x202cf18 +rtl: esyms: _Scheduler_Table -> 0x2046f7c +rtl: esyms: _Scheduler_default_Node_destroy -> 0x202cf38 +rtl: esyms: _Scheduler_default_Node_initialize -> 0x202cf40 +rtl: esyms: _Scheduler_default_Release_job -> 0x202cf48 +rtl: esyms: _Scheduler_default_Start_idle -> 0x202cf50 +rtl: esyms: _Scheduler_default_Tick -> 0x202cf70 +rtl: esyms: _Scheduler_priority_Block -> 0x202d064 +rtl: esyms: _Scheduler_priority_Change_priority -> 0x202d1d4 +rtl: esyms: _Scheduler_priority_Initialize -> 0x202d014 +rtl: esyms: _Scheduler_priority_Priority_compare -> 0x202d3e4 +rtl: esyms: _Scheduler_priority_Schedule -> 0x202d3ec +rtl: esyms: _Scheduler_priority_Unblock -> 0x202d4d4 +rtl: esyms: _Scheduler_priority_Update_priority -> 0x202d570 +rtl: esyms: _Scheduler_priority_Yield -> 0x202d5d4 +rtl: esyms: _Semaphore_Information -> 0x20658d8 +rtl: esyms: _Semaphore_Manager_initialization -> 0x20288a4 +rtl: esyms: _Semaphore_Translate_core_mutex_return_code_ -> 0x205e730 +rtl: esyms: _Semaphore_Translate_core_semaphore_return_code_ -> 0x205e71c +rtl: esyms: _Signal_Action_handler -> 0x202900c +rtl: esyms: _Signal_Manager_initialization -> 0x2029004 +rtl: esyms: _System_state_Current -> 0x2065e70 +rtl: esyms: _TLS_Alignment -> 0x1 +rtl: esyms: _TLS_BSS_begin -> 0x205f6a0 +rtl: esyms: _TLS_BSS_end -> 0x205f6a0 +rtl: esyms: _TLS_BSS_size -> 0x0 +rtl: esyms: _TLS_Data_begin -> 0x205f6a0 +rtl: esyms: _TLS_Data_size -> 0x0 +rtl: esyms: _TLS_Size -> 0x0 +rtl: esyms: _TOD -> 0x2065960 +rtl: esyms: _TOD_Handler_initialization -> 0x202a7a8 +rtl: esyms: _TOD_Tickle_ticks -> 0x202a7dc +rtl: esyms: _Terminate -> 0x202b328 +rtl: esyms: _Thread_Allocated_fp -> 0x20659f0 +rtl: esyms: _Thread_Change_priority -> 0x202d7a4 +rtl: esyms: _Thread_Clear_state -> 0x202d8c4 +rtl: esyms: _Thread_Close -> 0x202eb30 +rtl: esyms: _Thread_Control_add_on_count -> 0x2046ee0 +rtl: esyms: _Thread_Control_add_ons -> 0x2046ee4 +rtl: esyms: _Thread_Control_size -> 0x2046f04 +rtl: esyms: _Thread_Create_idle -> 0x202d928 +rtl: esyms: _Thread_Dispatch -> 0x202dbc4 +rtl: esyms: _Thread_Do_dispatch -> 0x202d9d4 +rtl: esyms: _Thread_Get -> 0x202dc54 +rtl: esyms: _Thread_Get_interrupt_disable -> 0x202dcac +rtl: esyms: _Thread_Global_construction -> 0x202dd04 +rtl: esyms: _Thread_Handler -> 0x202dde4 +rtl: esyms: _Thread_Handler_initialization -> 0x202d6ec +rtl: esyms: _Thread_Initialize -> 0x202debc +rtl: esyms: _Thread_Internal_information -> 0x2065a1c +rtl: esyms: _Thread_Kill_zombies -> 0x202e8e8 +rtl: esyms: _Thread_Life_action_handler -> 0x202e9c4 +rtl: esyms: _Thread_Load_environment -> 0x202e194 +rtl: esyms: _Thread_Raise_priority -> 0x202d888 +rtl: esyms: _Thread_Restart -> 0x202eb88 +rtl: esyms: _Thread_Restore_priority -> 0x202d8a4 +rtl: esyms: _Thread_Set_life_protection -> 0x202ebc4 +rtl: esyms: _Thread_Set_priority -> 0x202ecf0 +rtl: esyms: _Thread_Set_state -> 0x202ed08 +rtl: esyms: _Thread_Stack_Allocate -> 0x202ed50 +rtl: esyms: _Thread_Stack_Free -> 0x202ed90 +rtl: esyms: _Thread_Start -> 0x202edb8 +rtl: esyms: _Thread_Start_multitasking -> 0x202ee48 +rtl: esyms: _Thread_Timeout -> 0x202ee64 +rtl: esyms: _Thread_Yield -> 0x202ef08 +rtl: esyms: _Thread_queue_Compare_priority -> 0x202e200 +rtl: esyms: _Thread_queue_Dequeue -> 0x202e508 +rtl: esyms: _Thread_queue_Enqueue_critical -> 0x202e268 +rtl: esyms: _Thread_queue_Extract -> 0x202e4c8 +rtl: esyms: _Thread_queue_Extract_critical -> 0x202e498 +rtl: esyms: _Thread_queue_Extract_locked -> 0x202e3a0 +rtl: esyms: _Thread_queue_Extract_with_proxy -> 0x202e55c +rtl: esyms: _Thread_queue_Flush -> 0x202e568 +rtl: esyms: _Thread_queue_Initialize -> 0x202e21c +rtl: esyms: _Thread_queue_Operations_FIFO -> 0x205e8e8 +rtl: esyms: _Thread_queue_Operations_default -> 0x205e8fc +rtl: esyms: _Thread_queue_Operations_priority -> 0x205e8d4 +rtl: esyms: _Thread_queue_Unblock_critical -> 0x202e3d0 +rtl: esyms: _Timecounter -> 0x205f9d4 +rtl: esyms: _Timecounter_Bintime -> 0x202b874 +rtl: esyms: _Timecounter_Binuptime -> 0x202b7b4 +rtl: esyms: _Timecounter_Boottimebin -> 0x2066278 +rtl: esyms: _Timecounter_Initialize -> 0x202bcd8 +rtl: esyms: _Timecounter_Install -> 0x202b960 +rtl: esyms: _Timecounter_Microtime -> 0x202b8ec +rtl: esyms: _Timecounter_Set_clock -> 0x202b99c +rtl: esyms: _Timecounter_Tick_simple -> 0x202bb34 +rtl: esyms: _Timecounter_Time_second -> 0x205f9cc +rtl: esyms: _Timecounter_Time_uptime -> 0x205f9c8 +rtl: esyms: _Timer_Information -> 0x2065898 +rtl: esyms: _Timer_Manager_initialization -> 0x2028864 +rtl: esyms: _Timer_server -> 0x20658d4 +rtl: esyms: _Timespec_To_ticks -> 0x202ef48 +rtl: esyms: _Unwind_Backtrace -> 0x2015da0 +rtl: esyms: _Unwind_DeleteException -> 0x2015d7c +rtl: esyms: _Unwind_FindEnclosingFunction -> 0x2015940 +rtl: esyms: _Unwind_Find_FDE -> 0x201738c +rtl: esyms: _Unwind_ForcedUnwind -> 0x2015ba8 +rtl: esyms: _Unwind_GetCFA -> 0x201588c +rtl: esyms: _Unwind_GetDataRelBase -> 0x2015970 +rtl: esyms: _Unwind_GetGR -> 0x2015824 +rtl: esyms: _Unwind_GetIP -> 0x201590c +rtl: esyms: _Unwind_GetIPInfo -> 0x2015914 +rtl: esyms: _Unwind_GetLanguageSpecificData -> 0x2015930 +rtl: esyms: _Unwind_GetRegionStart -> 0x2015938 +rtl: esyms: _Unwind_GetTextRelBase -> 0x2015978 +rtl: esyms: _Unwind_RaiseException -> 0x2015a70 +rtl: esyms: _Unwind_Resume -> 0x2015c38 +rtl: esyms: _Unwind_Resume_or_Rethrow -> 0x2015cd4 +rtl: esyms: _Unwind_SetGR -> 0x2015894 +rtl: esyms: _Unwind_SetIP -> 0x2015928 +rtl: esyms: _User_extensions_Add_set -> 0x202f03c +rtl: esyms: _User_extensions_Fatal_visitor -> 0x202f194 +rtl: esyms: _User_extensions_Handler_initialization -> 0x202effc +rtl: esyms: _User_extensions_Iterate -> 0x202f1e4 +rtl: esyms: _User_extensions_List -> 0x205fa70 +rtl: esyms: _User_extensions_Switches_list -> 0x205fa64 +rtl: esyms: _User_extensions_Thread_begin_visitor -> 0x202f14c +rtl: esyms: _User_extensions_Thread_create_visitor -> 0x202f09c +rtl: esyms: _User_extensions_Thread_delete_visitor -> 0x202f0e0 +rtl: esyms: _User_extensions_Thread_exitted_visitor -> 0x202f170 +rtl: esyms: _User_extensions_Thread_restart_visitor -> 0x202f128 +rtl: esyms: _User_extensions_Thread_start_visitor -> 0x202f104 +rtl: esyms: _User_extensions_Thread_terminate_visitor -> 0x202f1c0 +rtl: esyms: _Watchdog_Handler_initialization -> 0x202f274 +rtl: esyms: _Watchdog_Insert -> 0x202f420 +rtl: esyms: _Watchdog_Remove -> 0x202f520 +rtl: esyms: _Watchdog_Seconds_header -> 0x2065a00 +rtl: esyms: _Watchdog_Tick -> 0x202f638 +rtl: esyms: _Watchdog_Tickle -> 0x202f584 +rtl: esyms: _Watchdog_Ticks_header -> 0x2065ae8 +rtl: esyms: _Watchdog_Ticks_since_boot -> 0x20662d8 +rtl: esyms: _Workspace_Allocate -> 0x202f86c +rtl: esyms: _Workspace_Allocate_aligned -> 0x202f88c +rtl: esyms: _Workspace_Allocate_or_fatal_error -> 0x202f8c4 +rtl: esyms: _Workspace_Area -> 0x2065988 +rtl: esyms: _Workspace_Free -> 0x202f8ac +rtl: esyms: _Workspace_Handler_initialization -> 0x202f694 +rtl: esyms: _ZN10__cxxabiv111__terminateEPFvvE -> 0x201053c +rtl: esyms: _ZN10__cxxabiv112__unexpectedEPFvvE -> 0x201060c +rtl: esyms: _ZN10__cxxabiv117__class_type_infoD0Ev -> 0x200172c +rtl: esyms: _ZN10__cxxabiv117__class_type_infoD1Ev -> 0x2001714 +rtl: esyms: _ZN10__cxxabiv117__class_type_infoD2Ev -> 0x2001714 +rtl: esyms: _ZN10__cxxabiv119__terminate_handlerE -> 0x205f73c +rtl: esyms: _ZN10__cxxabiv120__si_class_type_infoD0Ev -> 0x2010744 +rtl: esyms: _ZN10__cxxabiv120__si_class_type_infoD1Ev -> 0x201072c +rtl: esyms: _ZN10__cxxabiv120__si_class_type_infoD2Ev -> 0x201072c +rtl: esyms: _ZN10__cxxabiv120__unexpected_handlerE -> 0x205f738 +rtl: esyms: _ZN9__gnu_cxx12__atomic_addEPVii -> 0x2010984 +rtl: esyms: _ZN9__gnu_cxx18__exchange_and_addEPVii -> 0x201094c +rtl: esyms: _ZN9__gnu_cxx27__verbose_terminate_handlerEv -> 0x2002084 +rtl: esyms: _ZNK10__cxxabiv117__class_type_info10__do_catchEPKSt9type_infoPPvj -> 0x20017b4 +rtl: esyms: _ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PKvRNS0_15__upcast_resultE -> 0x200174c +rtl: esyms: _ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PPv -> 0x200169c +rtl: esyms: _ZNK10__cxxabiv117__class_type_info12__do_dyncastEiNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE -> 0x200183c +rtl: esyms: _ZNK10__cxxabiv117__class_type_info20__do_find_public_srcEiPKvPKS0_S2_ -> 0x20016fc +rtl: esyms: _ZNK10__cxxabiv120__si_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE -> 0x20108fc +rtl: esyms: _ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE -> 0x2010764 +rtl: esyms: _ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_ -> 0x201087c +rtl: esyms: _ZNKSt11logic_error4whatEv -> 0x20109b4 +rtl: esyms: _ZNKSt13bad_exception4whatEv -> 0x2001abc +rtl: esyms: _ZNKSt13runtime_error4whatEv -> 0x20109bc +rtl: esyms: _ZNKSt14error_category10equivalentERKSt10error_codei -> 0x2010e4c +rtl: esyms: _ZNKSt14error_category10equivalentEiRKSt15error_condition -> 0x2010ef4 +rtl: esyms: _ZNKSt14error_category23default_error_conditionEi -> 0x2010e38 +rtl: esyms: _ZNKSt9bad_alloc4whatEv -> 0x20104f8 +rtl: esyms: _ZNKSt9type_info14__is_pointer_pEv -> 0x2001ea8 +rtl: esyms: _ZNKSt9type_info15__is_function_pEv -> 0x2001eb0 +rtl: esyms: _ZNSt11logic_errorC1ERKSs -> 0x2010adc +rtl: esyms: _ZNSt11logic_errorC2ERKSs -> 0x2010adc +rtl: esyms: _ZNSt11logic_errorD0Ev -> 0x2010a58 +rtl: esyms: _ZNSt11logic_errorD1Ev -> 0x20109c4 +rtl: esyms: _ZNSt11logic_errorD2Ev -> 0x20109c4 +rtl: esyms: _ZNSt12length_errorC1ERKSs -> 0x2010b18 +rtl: esyms: _ZNSt12length_errorC2ERKSs -> 0x2010b18 +rtl: esyms: _ZNSt12length_errorD0Ev -> 0x2010a38 +rtl: esyms: _ZNSt12length_errorD1Ev -> 0x2010a20 +rtl: esyms: _ZNSt12length_errorD2Ev -> 0x2010a20 +rtl: esyms: _ZNSt13bad_exceptionD0Ev -> 0x2001ac8 +rtl: esyms: _ZNSt13bad_exceptionD1Ev -> 0x2001ab4 +rtl: esyms: _ZNSt13bad_exceptionD2Ev -> 0x2001ab4 +rtl: esyms: _ZNSt13runtime_errorC1ERKSs -> 0x2010b3c +rtl: esyms: _ZNSt13runtime_errorC2ERKSs -> 0x2010b3c +rtl: esyms: _ZNSt13runtime_errorD0Ev -> 0x2010ac8 +rtl: esyms: _ZNSt13runtime_errorD1Ev -> 0x2010a6c +rtl: esyms: _ZNSt13runtime_errorD2Ev -> 0x2010a6c +rtl: esyms: _ZNSt9bad_allocD0Ev -> 0x201051c +rtl: esyms: _ZNSt9bad_allocD1Ev -> 0x2010504 +rtl: esyms: _ZNSt9bad_allocD2Ev -> 0x2010504 +rtl: esyms: _ZNSt9exceptionD1Ev -> 0x2001aac +rtl: esyms: _ZNSt9exceptionD2Ev -> 0x2001aac +rtl: esyms: _ZNSt9type_infoD1Ev -> 0x2001ea0 +rtl: esyms: _ZNSt9type_infoD2Ev -> 0x2001ea0 +rtl: esyms: _ZSt10unexpectedv -> 0x2010690 +rtl: esyms: _ZSt13get_terminatev -> 0x2010588 +rtl: esyms: _ZSt14get_unexpectedv -> 0x2010624 +rtl: esyms: _ZSt15get_new_handlerv -> 0x2001bc8 +rtl: esyms: _ZSt19__throw_logic_errorPKc -> 0x2011264 +rtl: esyms: _ZSt20__throw_length_errorPKc -> 0x201130c +rtl: esyms: _ZSt9terminatev -> 0x20105f4 +rtl: esyms: _ZdlPv -> 0x2001eb8 +rtl: esyms: _Znwj -> 0x2001e28 +rtl: esyms: __DTOR_END__ -> 0x2046e78 +rtl: esyms: __DYNAMIC -> 0x0 +rtl: esyms: __TMC_END__ -> 0x205ffa0 +rtl: esyms: __any_on -> 0x20346ec +rtl: esyms: __ascii_wctomb -> 0x203e110 +rtl: esyms: __b2d -> 0x2034370 +rtl: esyms: __bss_start -> 0x205ffa0 +rtl: esyms: __call_exitprocs -> 0x203001c +rtl: esyms: __clz_tab -> 0x205c4f0 +rtl: esyms: __copybits -> 0x203466c +rtl: esyms: __ctype_ptr__ -> 0x205fa84 +rtl: esyms: __cxa_allocate_exception -> 0x2001c5c +rtl: esyms: __cxa_atexit -> 0x203023c +rtl: esyms: __cxa_begin_catch -> 0x2001ec4 +rtl: esyms: __cxa_call_terminate -> 0x20106d0 +rtl: esyms: __cxa_call_unexpected -> 0x2002c78 +rtl: esyms: __cxa_current_exception_type -> 0x200202c +rtl: esyms: __cxa_demangle -> 0x2010240 +rtl: esyms: __cxa_end_catch -> 0x2001f70 +rtl: esyms: __cxa_free_exception -> 0x2001d4c +rtl: esyms: __cxa_get_globals -> 0x20019c8 +rtl: esyms: __cxa_get_globals_fast -> 0x2001974 +rtl: esyms: __cxa_rethrow -> 0x2010474 +rtl: esyms: __cxa_throw -> 0x2010400 +rtl: esyms: __d2b -> 0x2034490 +rtl: esyms: __deregister_frame -> 0x2017360 +rtl: esyms: __deregister_frame_info -> 0x2017354 +rtl: esyms: __deregister_frame_info_bases -> 0x2017218 +rtl: esyms: __divdi3 -> 0x2011bf4 +rtl: esyms: __dso_handle -> 0x205f6a4 +rtl: esyms: __end -> 0x20662e0 +rtl: esyms: __errno -> 0x20317d4 +rtl: esyms: __fp_lock_all -> 0x2031f30 +rtl: esyms: __fp_unlock_all -> 0x2031f48 +rtl: esyms: __fpclassifyd -> 0x20113b4 +rtl: esyms: __fputwc -> 0x203228c +rtl: esyms: __frame_state_for -> 0x2015980 +rtl: esyms: __gcclibcxx_demangle_callback -> 0x2010384 +rtl: esyms: __getreent -> 0x2001318 +rtl: esyms: __gxx_personality_v0 -> 0x20027ac +rtl: esyms: __hi0bits -> 0x2033afc +rtl: esyms: __i2b -> 0x2033c50 +rtl: esyms: __lo0bits -> 0x2033b84 +rtl: esyms: __locale_charset -> 0x2033194 +rtl: esyms: __locale_cjk_lang -> 0x20331b8 +rtl: esyms: __locale_mb_cur_max -> 0x20331a0 +rtl: esyms: __locale_msgcharset -> 0x20331ac +rtl: esyms: __log2table -> 0x205e7c8 +rtl: esyms: __lshift -> 0x2033fc8 +rtl: esyms: __mb_cur_max -> 0x205fdb0 +rtl: esyms: __mcmp -> 0x20340f8 +rtl: esyms: __mdiff -> 0x2034164 +rtl: esyms: __moddi3 -> 0x2012014 +rtl: esyms: __mprec_bigtens -> 0x205ed10 +rtl: esyms: __mprec_tens -> 0x205ed38 +rtl: esyms: __mprec_tinytens -> 0x205ece8 +rtl: esyms: __muldi3 -> 0x2011b2c +rtl: esyms: __multadd -> 0x203393c +rtl: esyms: __multiply -> 0x2033c74 +rtl: esyms: __pow5mult -> 0x2033ea4 +rtl: esyms: __ratio -> 0x20345a0 +rtl: esyms: __register_exitproc -> 0x202ff28 +rtl: esyms: __register_frame -> 0x201715c +rtl: esyms: __register_frame_info -> 0x2017128 +rtl: esyms: __register_frame_info_bases -> 0x20170f8 +rtl: esyms: __register_frame_info_table -> 0x20171e8 +rtl: esyms: __register_frame_info_table_bases -> 0x201718c +rtl: esyms: __register_frame_table -> 0x20171fc +rtl: esyms: __s2b -> 0x2033a24 +rtl: esyms: __sclose -> 0x2034f30 +rtl: esyms: __seofread -> 0x2034e6c +rtl: esyms: __sflags -> 0x2031fc8 +rtl: esyms: __sflush_r -> 0x2031934 +rtl: esyms: __sfmoreglue -> 0x2031d90 +rtl: esyms: __sfp -> 0x2031ddc +rtl: esyms: __sfp_lock_acquire -> 0x2031f10 +rtl: esyms: __sfp_lock_release -> 0x2031f18 +rtl: esyms: __sfvwrite_r -> 0x2032a50 +rtl: esyms: __sinit -> 0x2031eec +rtl: esyms: __sinit_lock_acquire -> 0x2031f20 +rtl: esyms: __sinit_lock_release -> 0x2031f28 +rtl: esyms: __smakebuf_r -> 0x20331fc +rtl: esyms: __sprint_r -> 0x2039da0 +rtl: esyms: __sread -> 0x2034e18 +rtl: esyms: __srefill_r -> 0x2034b50 +rtl: esyms: __sseek -> 0x2034ebc +rtl: esyms: __ssprint_r -> 0x2035fac +rtl: esyms: __start_set_sysctl_set -> 0x205f6a0 +rtl: esyms: __stop_set_sysctl_set -> 0x205f6a0 +rtl: esyms: __swbuf -> 0x203dfec +rtl: esyms: __swbuf_r -> 0x203de6c +rtl: esyms: __swrite -> 0x2034e74 +rtl: esyms: __swsetup_r -> 0x203e17c +rtl: esyms: __udivdi3 -> 0x2012434 +rtl: esyms: __ulp -> 0x20342e0 +rtl: esyms: __umoddi3 -> 0x201278c +rtl: esyms: __wctomb -> 0x205fdb4 +rtl: esyms: _bss_start -> 0x205ffa0 +rtl: esyms: _calloc_r -> 0x201a7f0 +rtl: esyms: _cleanup -> 0x2031ed0 +rtl: esyms: _cleanup_r -> 0x2031c44 +rtl: esyms: _close_r -> 0x201ab10 +rtl: esyms: _ctype_ -> 0x205e9c8 +rtl: esyms: _data_start -> 0x205f6a0 +rtl: esyms: _dtoa_r -> 0x203047c +rtl: esyms: _edata -> 0x205ffa0 +rtl: esyms: _end -> 0x20662e0 +rtl: esyms: _endtext -> 0x205f6a0 +rtl: esyms: _erodata -> 0x205f670 +rtl: esyms: _etext -> 0x205f668 +rtl: esyms: _exit -> 0x201b8c8 +rtl: esyms: _fclose_r -> 0x2031824 +rtl: esyms: _fflush_r -> 0x2031bb4 +rtl: esyms: _fini -> 0x205f688 +rtl: esyms: _fiprintf_r -> 0x2031f60 +rtl: esyms: _fopen_r -> 0x2032078 +rtl: esyms: _fputc_r -> 0x2032168 +rtl: esyms: _fputs_r -> 0x20321e0 +rtl: esyms: _fputwc_r -> 0x20323c0 +rtl: esyms: _free_r -> 0x201a804 +rtl: esyms: _fseek_r -> 0x2032430 +rtl: esyms: _fseeko_r -> 0x203246c +rtl: esyms: _fstat_r -> 0x201ac64 +rtl: esyms: _fwalk -> 0x2032f44 +rtl: esyms: _fwalk_reent -> 0x2032fb8 +rtl: esyms: _fwrite_r -> 0x2033038 +rtl: esyms: _getpid_r -> 0x201ad44 +rtl: esyms: _gettimeofday_r -> 0x201a730 +rtl: esyms: _global_atexit -> 0x2065198 +rtl: esyms: _global_impure_ptr -> 0x205ecc8 +rtl: esyms: _impure_ptr -> 0x205fa88 +rtl: esyms: _init -> 0x205f668 +rtl: esyms: _isatty -> 0x203018c +rtl: esyms: _isatty_r -> 0x201aef8 +rtl: esyms: _kill_r -> 0x2027210 +rtl: esyms: _localeconv_r -> 0x20331c0 +rtl: esyms: _lseek_r -> 0x201b150 +rtl: esyms: _malloc_r -> 0x201a814 +rtl: esyms: _mprec_log10 -> 0x203462c +rtl: esyms: _open_r -> 0x201bc30 +rtl: esyms: _printf_r -> 0x20347a0 +rtl: esyms: _putc_r -> 0x203480c +rtl: esyms: _puts_r -> 0x203495c +rtl: esyms: _raise_r -> 0x20349fc +rtl: esyms: _read_r -> 0x201bdf8 +rtl: esyms: _realloc_r -> 0x201a824 +rtl: esyms: _reclaim_reent -> 0x2034a4c +rtl: esyms: _rodata_start -> 0x2046e7c +rtl: esyms: _rtld_debug -> 0x2065400 +rtl: esyms: _rtld_debug_state -> 0x2020324 +rtl: esyms: _rtld_linkmap_add -> 0x202032c +rtl: esyms: _rtld_linkmap_delete -> 0x20203fc +rtl: esyms: _sdata -> 0x205f6a0 +rtl: esyms: _setlocale_r -> 0x2033128 +rtl: esyms: _sprintf_r -> 0x2034d50 +rtl: esyms: _strerror_r -> 0x203548c +rtl: esyms: _strtoul_r -> 0x2035bf8 +rtl: esyms: _svfiprintf_r -> 0x2036180 +rtl: esyms: _svfprintf_r -> 0x2037420 +rtl: esyms: _text_start -> 0x2000000 +rtl: esyms: _user_strerror -> 0x2039b68 +rtl: esyms: _vfiprintf_r -> 0x2039dc4 +rtl: esyms: _vfprintf_r -> 0x203b548 +rtl: esyms: _vsnprintf_r -> 0x203dd7c +rtl: esyms: _wcrtomb_r -> 0x203e008 +rtl: esyms: _wctomb_r -> 0x203e14c +rtl: esyms: _write_r -> 0x201f9b8 +rtl: esyms: abort -> 0x20301f0 +rtl: esyms: atexit -> 0x2030208 +rtl: esyms: bcopy -> 0x2030224 +rtl: esyms: boot_card -> 0x2017538 +rtl: esyms: bsp_boot_cmdline -> 0x20652e8 +rtl: esyms: bsp_console_select -> 0x2017c98 +rtl: esyms: bsp_fatal_extension -> 0x20175e8 +rtl: esyms: bsp_idle_thread -> 0x2017660 +rtl: esyms: bsp_interrupt_facility_initialize -> 0x201808c +rtl: esyms: bsp_interrupt_handler_default -> 0x2017fbc +rtl: esyms: bsp_interrupt_handler_table -> 0x20652f0 +rtl: esyms: bsp_interrupt_initialize -> 0x2017fe0 +rtl: esyms: bsp_isr_handler -> 0x20175ac +rtl: esyms: bsp_libc_init -> 0x2017674 +rtl: esyms: bsp_postdriver_hook -> 0x2017690 +rtl: esyms: bsp_predriver_hook -> 0x20176ac +rtl: esyms: bsp_pretasking_hook -> 0x20176b8 +rtl: esyms: bsp_spurious_initialize -> 0x20186c4 +rtl: esyms: bsp_start -> 0x20176c4 +rtl: esyms: bsp_work_area_initialize -> 0x2017608 +rtl: esyms: bss_start -> 0x205ffa0 +rtl: esyms: calloc -> 0x201a6c4 +rtl: esyms: cleanup_glue -> 0x2034a28 +rtl: esyms: close -> 0x201aa94 +rtl: esyms: console_close -> 0x2017a9c +rtl: esyms: console_control -> 0x2017c78 +rtl: esyms: console_inbyte_nonblocking -> 0x2017e10 +rtl: esyms: console_initialize -> 0x2017b1c +rtl: esyms: console_open -> 0x2017950 +rtl: esyms: console_outbyte_polled -> 0x2017dc0 +rtl: esyms: console_read -> 0x2017c88 +rtl: esyms: console_write -> 0x2017d88 +rtl: esyms: data_start -> 0x205f6a0 +rtl: esyms: device_close -> 0x2018d28 +rtl: esyms: device_ftruncate -> 0x2018d88 +rtl: esyms: device_ioctl -> 0x2018d70 +rtl: esyms: device_open -> 0x2018d10 +rtl: esyms: device_read -> 0x2018d40 +rtl: esyms: device_write -> 0x2018d58 +rtl: esyms: dl_load_test -> 0x2001324 +rtl: esyms: dl_tar -> 0x20471f0 +rtl: esyms: dl_tar_size -> 0x20471ec +rtl: esyms: dlclose -> 0x201fa54 +rtl: esyms: dlerror -> 0x201fb78 +rtl: esyms: dlopen -> 0x201f9d0 +rtl: esyms: dlsym -> 0x201fad8 +rtl: esyms: early_mem -> 0x205f748 +rtl: esyms: edata -> 0x205ffa0 +rtl: esyms: end -> 0x20662e0 +rtl: esyms: erc32_fns -> 0x205c630 +rtl: esyms: etext -> 0x205f670 +rtl: esyms: exception_base -> 0x2001494 +rtl: esyms: exit -> 0x20317e8 +rtl: esyms: fastlz_decompress -> 0x201fb98 +rtl: esyms: fclose -> 0x2031920 +rtl: esyms: fflush -> 0x2031c04 +rtl: esyms: fiprintf -> 0x2031f90 +rtl: esyms: fopen -> 0x203214c +rtl: esyms: fputc -> 0x20321a0 +rtl: esyms: fputs -> 0x2032270 +rtl: esyms: fputwc -> 0x20323f0 +rtl: esyms: free -> 0x201ab20 +rtl: esyms: frexp -> 0x201143c +rtl: esyms: fseek -> 0x203244c +rtl: esyms: fseeko -> 0x2032a24 +rtl: esyms: fstat -> 0x201abc4 +rtl: esyms: ftruncate -> 0x201ac78 +rtl: esyms: fwrite -> 0x20330f0 +rtl: esyms: getegid -> 0x201ad0c +rtl: esyms: geteuid -> 0x201ad24 +rtl: esyms: getpid -> 0x201ad3c +rtl: esyms: gettimeofday -> 0x201a6f8 +rtl: esyms: hard_reset -> 0x2001000 +rtl: esyms: imfs_memfile_bytes_per_block -> 0x2064e54 +rtl: esyms: imfs_rq_memfile_bytes_per_block -> 0x205f734 +rtl: esyms: isatty -> 0x203311c +rtl: esyms: killinfo -> 0x2027228 +rtl: esyms: libc_init -> 0x201b8f0 +rtl: esyms: libchip_serial_default_probe -> 0x2018440 +rtl: esyms: localeconv -> 0x20331e8 +rtl: esyms: lseek -> 0x201b0d8 +rtl: esyms: malloc -> 0x201b170 +rtl: esyms: malloc_deferred_free -> 0x201b278 +rtl: esyms: malloc_deferred_frees_process -> 0x201b244 +rtl: esyms: malloc_is_system_state_OK -> 0x201b21c +rtl: esyms: memchr -> 0x2033384 +rtl: esyms: memcmp -> 0x20334a0 +rtl: esyms: memcpy -> 0x203353c +rtl: esyms: memfile_blocks_allocated -> 0x2064e58 +rtl: esyms: memmove -> 0x2033630 +rtl: esyms: memset -> 0x203376c +rtl: esyms: mkdir -> 0x201b31c +rtl: esyms: mknod -> 0x201b3e4 +rtl: esyms: mount -> 0x201b570 +rtl: esyms: newlib_create_hook -> 0x201b8f8 +rtl: esyms: newlib_terminate_hook -> 0x201b9b0 +rtl: esyms: open -> 0x201b9c0 +rtl: esyms: printf -> 0x20347d4 +rtl: esyms: printk -> 0x201bcbc +rtl: esyms: pthread_exit -> 0x202814c +rtl: esyms: pthread_getspecific -> 0x2026ef4 +rtl: esyms: pthread_key_create -> 0x2026cd0 +rtl: esyms: pthread_key_delete -> 0x2026d3c +rtl: esyms: pthread_kill -> 0x2028160 +rtl: esyms: pthread_self -> 0x2028240 +rtl: esyms: pthread_setspecific -> 0x20270b0 +rtl: esyms: putc -> 0x20348ac +rtl: esyms: puts -> 0x20349e8 +rtl: esyms: raise -> 0x2034a14 +rtl: esyms: rdb_start -> 0x20007c0 +rtl: esyms: read -> 0x201bd58 +rtl: esyms: realloc -> 0x201be10 +rtl: esyms: rtems_ada_self -> 0x2065a18 +rtl: esyms: rtems_assoc_local_by_remote -> 0x201a838 +rtl: esyms: rtems_assoc_local_by_remote_bitfield -> 0x201a868 +rtl: esyms: rtems_assoc_ptr_by_local -> 0x201a8b4 +rtl: esyms: rtems_assoc_ptr_by_remote -> 0x201a934 +rtl: esyms: rtems_assoc_remote_by_local -> 0x201a9b4 +rtl: esyms: rtems_cache_get_instruction_line_size -> 0x2018758 +rtl: esyms: rtems_cache_get_maximal_line_size -> 0x2018760 +rtl: esyms: rtems_cache_instruction_sync_after_code_change -> 0x2018768 +rtl: esyms: rtems_cache_invalidate_entire_instruction -> 0x2018750 +rtl: esyms: rtems_clock_get_ticks_per_second -> 0x2028328 +rtl: esyms: rtems_counter_initialize_converter -> 0x202996c +rtl: esyms: rtems_current_user_env_get -> 0x201bcec +rtl: esyms: rtems_current_user_env_key -> 0x20653f0 +rtl: esyms: rtems_deviceio_close -> 0x201c0b8 +rtl: esyms: rtems_deviceio_control -> 0x201c1c0 +rtl: esyms: rtems_deviceio_open -> 0x201c084 +rtl: esyms: rtems_deviceio_read -> 0x201c0e8 +rtl: esyms: rtems_deviceio_write -> 0x201c154 +rtl: esyms: rtems_event_receive -> 0x2028388 +rtl: esyms: rtems_event_send -> 0x20285c8 +rtl: esyms: rtems_event_system_send -> 0x20290e4 +rtl: esyms: rtems_fatal -> 0x2029b3c +rtl: esyms: rtems_fatal_error_occurred -> 0x2029b24 +rtl: esyms: rtems_filesystem_check_access -> 0x201bf94 +rtl: esyms: rtems_filesystem_default_are_nodes_equal -> 0x2018920 +rtl: esyms: rtems_filesystem_default_close -> 0x2018938 +rtl: esyms: rtems_filesystem_default_eval_path -> 0x2018940 +rtl: esyms: rtems_filesystem_default_fcntl -> 0x2018954 +rtl: esyms: rtems_filesystem_default_freenode -> 0x201895c +rtl: esyms: rtems_filesystem_default_fstat -> 0x2018964 +rtl: esyms: rtems_filesystem_default_fsunmount -> 0x2018974 +rtl: esyms: rtems_filesystem_default_fsync_or_fdatasync -> 0x201897c +rtl: esyms: rtems_filesystem_default_fsync_or_fdatasync_success -> 0x2018998 +rtl: esyms: rtems_filesystem_default_ftruncate -> 0x20189a0 +rtl: esyms: rtems_filesystem_default_ftruncate_directory -> 0x20189bc +rtl: esyms: rtems_filesystem_default_ioctl -> 0x20189d8 +rtl: esyms: rtems_filesystem_default_kqfilter -> 0x20189f4 +rtl: esyms: rtems_filesystem_default_lock -> 0x20189fc +rtl: esyms: rtems_filesystem_default_lseek -> 0x2018a2c +rtl: esyms: rtems_filesystem_default_lseek_directory -> 0x2018a4c +rtl: esyms: rtems_filesystem_default_lseek_file -> 0x2018a94 +rtl: esyms: rtems_filesystem_default_open -> 0x2018bb4 +rtl: esyms: rtems_filesystem_default_pathconf -> 0x205cd0c +rtl: esyms: rtems_filesystem_default_poll -> 0x2018bbc +rtl: esyms: rtems_filesystem_default_read -> 0x2018bc4 +rtl: esyms: rtems_filesystem_default_readv -> 0x2018be0 +rtl: esyms: rtems_filesystem_default_statvfs -> 0x2018c5c +rtl: esyms: rtems_filesystem_default_unlock -> 0x2018a18 +rtl: esyms: rtems_filesystem_default_write -> 0x2018c78 +rtl: esyms: rtems_filesystem_default_writev -> 0x2018c94 +rtl: esyms: rtems_filesystem_do_unmount -> 0x201ca00 +rtl: esyms: rtems_filesystem_eval_path_check_access -> 0x201c050 +rtl: esyms: rtems_filesystem_eval_path_cleanup -> 0x201c62c +rtl: esyms: rtems_filesystem_eval_path_cleanup_with_parent -> 0x201c668 +rtl: esyms: rtems_filesystem_eval_path_continue -> 0x201c33c +rtl: esyms: rtems_filesystem_eval_path_eat_delimiter -> 0x201cdd4 +rtl: esyms: rtems_filesystem_eval_path_error -> 0x201c240 +rtl: esyms: rtems_filesystem_eval_path_generic -> 0x201c794 +rtl: esyms: rtems_filesystem_eval_path_next_token -> 0x201ce4c +rtl: esyms: rtems_filesystem_eval_path_recursive -> 0x201c6e0 +rtl: esyms: rtems_filesystem_eval_path_restart -> 0x201c67c +rtl: esyms: rtems_filesystem_eval_path_start -> 0x201c508 +rtl: esyms: rtems_filesystem_eval_path_start_with_parent -> 0x201c534 +rtl: esyms: rtems_filesystem_eval_path_start_with_root_and_current -> 0x201c3b0 +rtl: esyms: rtems_filesystem_get_mount_handler -> 0x201b538 +rtl: esyms: rtems_filesystem_global_location_assign -> 0x201cc88 +rtl: esyms: rtems_filesystem_global_location_null -> 0x205f824 +rtl: esyms: rtems_filesystem_global_location_obtain -> 0x201cb34 +rtl: esyms: rtems_filesystem_global_location_release -> 0x201cc20 +rtl: esyms: rtems_filesystem_handlers_default -> 0x205c984 +rtl: esyms: rtems_filesystem_initialize -> 0x201a9e4 +rtl: esyms: rtems_filesystem_iterate -> 0x201b474 +rtl: esyms: rtems_filesystem_location_clone -> 0x201aa4c +rtl: esyms: rtems_filesystem_location_copy -> 0x201c994 +rtl: esyms: rtems_filesystem_location_copy_and_detach -> 0x201cd40 +rtl: esyms: rtems_filesystem_location_detach -> 0x201c9e4 +rtl: esyms: rtems_filesystem_location_free -> 0x201ab7c +rtl: esyms: rtems_filesystem_location_remove_from_mt_entry -> 0x201ccb0 +rtl: esyms: rtems_filesystem_location_transform_to_global -> 0x201cd68 +rtl: esyms: rtems_filesystem_mknod -> 0x201b338 +rtl: esyms: rtems_filesystem_mount_table -> 0x205f8a0 +rtl: esyms: rtems_filesystem_null_handlers -> 0x205cbe0 +rtl: esyms: rtems_filesystem_null_mt_entry -> 0x205f848 +rtl: esyms: rtems_filesystem_root_configuration -> 0x2046fb8 +rtl: esyms: rtems_filesystem_table -> 0x2047034 +rtl: esyms: rtems_fs_init_helper -> 0x2047048 +rtl: esyms: rtems_get_version_string -> 0x2029b54 +rtl: esyms: rtems_global_user_env -> 0x205f7dc +rtl: esyms: rtems_gxx_getspecific -> 0x201adec +rtl: esyms: rtems_gxx_key_create -> 0x201ad58 +rtl: esyms: rtems_gxx_key_delete -> 0x201adb0 +rtl: esyms: rtems_gxx_mutex_destroy -> 0x201aec0 +rtl: esyms: rtems_gxx_mutex_init -> 0x201ae58 +rtl: esyms: rtems_gxx_mutex_lock -> 0x201ae9c +rtl: esyms: rtems_gxx_mutex_unlock -> 0x201aedc +rtl: esyms: rtems_gxx_once -> 0x201ad4c +rtl: esyms: rtems_gxx_setspecific -> 0x201ae10 +rtl: esyms: rtems_heap_null_extend -> 0x201bf20 +rtl: esyms: rtems_initialize_before_drivers -> 0x2029aa0 +rtl: esyms: rtems_initialize_data_structures -> 0x20299f4 +rtl: esyms: rtems_initialize_device_drivers -> 0x2029aa8 +rtl: esyms: rtems_initialize_start_multitasking -> 0x2029abc +rtl: esyms: rtems_interrupt_catch -> 0x2028734 +rtl: esyms: rtems_io_close -> 0x2029bac +rtl: esyms: rtems_io_control -> 0x2029c0c +rtl: esyms: rtems_io_initialize -> 0x2029c6c +rtl: esyms: rtems_io_open -> 0x2029cc8 +rtl: esyms: rtems_io_read -> 0x2029d28 +rtl: esyms: rtems_io_register_name -> 0x201a694 +rtl: esyms: rtems_io_write -> 0x2029d88 +rtl: esyms: rtems_libio_allocate -> 0x201af3c +rtl: esyms: rtems_libio_exit -> 0x201afd8 +rtl: esyms: rtems_libio_exit_helper -> 0x204704c +rtl: esyms: rtems_libio_fcntl_flags -> 0x201af08 +rtl: esyms: rtems_libio_free -> 0x201af94 +rtl: esyms: rtems_libio_free_user_env -> 0x201bd18 +rtl: esyms: rtems_libio_init -> 0x201aff8 +rtl: esyms: rtems_libio_init_helper -> 0x2047054 +rtl: esyms: rtems_libio_iop_freelist -> 0x20653f4 +rtl: esyms: rtems_libio_iops -> 0x20651a0 +rtl: esyms: rtems_libio_number_iops -> 0x2047044 +rtl: esyms: rtems_libio_post_driver -> 0x201bc48 +rtl: esyms: rtems_libio_post_driver_helper -> 0x2047050 +rtl: esyms: rtems_libio_semaphore -> 0x20653f8 +rtl: esyms: rtems_malloc_dirty_helper -> 0x205fff8 +rtl: esyms: rtems_malloc_extend_handler -> 0x2046f78 +rtl: esyms: rtems_maximum_priority -> 0x205f6ac +rtl: esyms: rtems_minimum_stack_size -> 0x205f6b0 +rtl: esyms: rtems_putc -> 0x201bf28 +rtl: esyms: rtems_rtl_alloc_del -> 0x20200bc +rtl: esyms: rtems_rtl_alloc_heap -> 0x201ffa4 +rtl: esyms: rtems_rtl_alloc_initialise -> 0x201ffdc +rtl: esyms: rtems_rtl_alloc_module_del -> 0x2020140 +rtl: esyms: rtems_rtl_alloc_module_new -> 0x202019c +rtl: esyms: rtems_rtl_alloc_new -> 0x2020018 +rtl: esyms: rtems_rtl_base_sym_global_add -> 0x2026a9c +rtl: esyms: rtems_rtl_baseimage -> 0x2026b18 +rtl: esyms: rtems_rtl_chain_iterate -> 0x20202dc +rtl: esyms: rtems_rtl_check_handle -> 0x2026748 +rtl: esyms: rtems_rtl_elf_file_check -> 0x20211ac +rtl: esyms: rtems_rtl_elf_file_load -> 0x2021278 +rtl: esyms: rtems_rtl_elf_file_sig -> 0x20219c4 +rtl: esyms: rtems_rtl_elf_file_unload -> 0x20219ac +rtl: esyms: rtems_rtl_elf_find_symbol -> 0x2020b38 +rtl: esyms: rtems_rtl_elf_rel_resolve_sym -> 0x2021c8c +rtl: esyms: rtems_rtl_elf_relocate_rel -> 0x2021ec8 +rtl: esyms: rtems_rtl_elf_relocate_rela -> 0x2021ca4 +rtl: esyms: rtems_rtl_elf_section_flags -> 0x2021c84 +rtl: esyms: rtems_rtl_elf_unwind_deregister -> 0x2021efc +rtl: esyms: rtems_rtl_elf_unwind_dw2_deregister -> 0x2026104 +rtl: esyms: rtems_rtl_elf_unwind_dw2_parse -> 0x2026060 +rtl: esyms: rtems_rtl_elf_unwind_dw2_register -> 0x20260b4 +rtl: esyms: rtems_rtl_elf_unwind_parse -> 0x2021ee4 +rtl: esyms: rtems_rtl_elf_unwind_register -> 0x2021ef0 +rtl: esyms: rtems_rtl_find_file -> 0x2021a74 +rtl: esyms: rtems_rtl_find_obj -> 0x2026798 +rtl: esyms: rtems_rtl_get_error -> 0x2021a18 +rtl: esyms: rtems_rtl_global_symbols -> 0x2026154 +rtl: esyms: rtems_rtl_load_object -> 0x2026890 +rtl: esyms: rtems_rtl_lock -> 0x2026450 +rtl: esyms: rtems_rtl_match_name -> 0x2023008 +rtl: esyms: rtems_rtl_obj_add_section -> 0x202370c +rtl: esyms: rtems_rtl_obj_alloc -> 0x2022d3c +rtl: esyms: rtems_rtl_obj_cache_close -> 0x2021f74 +rtl: esyms: rtems_rtl_obj_cache_flush -> 0x2021fc4 +rtl: esyms: rtems_rtl_obj_cache_open -> 0x2021f08 +rtl: esyms: rtems_rtl_obj_cache_read -> 0x202200c +rtl: esyms: rtems_rtl_obj_cache_read_byval -> 0x202248c +rtl: esyms: rtems_rtl_obj_caches -> 0x20261bc +rtl: esyms: rtems_rtl_obj_caches_flush -> 0x202622c +rtl: esyms: rtems_rtl_obj_comp -> 0x202626c +rtl: esyms: rtems_rtl_obj_comp_close -> 0x202256c +rtl: esyms: rtems_rtl_obj_comp_open -> 0x20224f4 +rtl: esyms: rtems_rtl_obj_comp_read -> 0x20225c8 +rtl: esyms: rtems_rtl_obj_comp_set -> 0x20225ac +rtl: esyms: rtems_rtl_obj_find_file -> 0x2023678 +rtl: esyms: rtems_rtl_obj_find_section -> 0x20237e8 +rtl: esyms: rtems_rtl_obj_find_section_by_index -> 0x2023814 +rtl: esyms: rtems_rtl_obj_free -> 0x2022d7c +rtl: esyms: rtems_rtl_obj_load -> 0x2023df4 +rtl: esyms: rtems_rtl_obj_load_sections -> 0x20239a0 +rtl: esyms: rtems_rtl_obj_load_symbols -> 0x202392c +rtl: esyms: rtems_rtl_obj_relocate -> 0x2023840 +rtl: esyms: rtems_rtl_obj_relocate_unresolved -> 0x2021020 +rtl: esyms: rtems_rtl_obj_run_ctors -> 0x2023dd4 +rtl: esyms: rtems_rtl_obj_run_dtors -> 0x2023de4 +rtl: esyms: rtems_rtl_obj_synchronize_cache -> 0x20238b4 +rtl: esyms: rtems_rtl_obj_unload -> 0x2023f50 +rtl: esyms: rtems_rtl_parse_name -> 0x2022e88 +rtl: esyms: rtems_rtl_rap_file_check -> 0x2024170 +rtl: esyms: rtems_rtl_rap_file_load -> 0x2024238 +rtl: esyms: rtems_rtl_rap_file_sig -> 0x20250f4 +rtl: esyms: rtems_rtl_rap_file_unload -> 0x20250ec +rtl: esyms: rtems_rtl_set_error -> 0x20219d0 +rtl: esyms: rtems_rtl_strdup -> 0x2025100 +rtl: esyms: rtems_rtl_symbol_global_add -> 0x2025310 +rtl: esyms: rtems_rtl_symbol_global_find -> 0x2025250 +rtl: esyms: rtems_rtl_symbol_obj_add -> 0x2025614 +rtl: esyms: rtems_rtl_symbol_obj_erase -> 0x202568c +rtl: esyms: rtems_rtl_symbol_obj_erase_local -> 0x202565c +rtl: esyms: rtems_rtl_symbol_obj_find -> 0x2025580 +rtl: esyms: rtems_rtl_symbol_table_close -> 0x202523c +rtl: esyms: rtems_rtl_symbol_table_open -> 0x202519c +rtl: esyms: rtems_rtl_trace -> 0x2025724 +rtl: esyms: rtems_rtl_trace_set_mask -> 0x202573c +rtl: esyms: rtems_rtl_unload_object -> 0x20269b8 +rtl: esyms: rtems_rtl_unlock -> 0x202629c +rtl: esyms: rtems_rtl_unresolved -> 0x2026188 +rtl: esyms: rtems_rtl_unresolved_add -> 0x2025b84 +rtl: esyms: rtems_rtl_unresolved_interate -> 0x20259b8 +rtl: esyms: rtems_rtl_unresolved_resolve -> 0x2025e94 +rtl: esyms: rtems_rtl_unresolved_table_close -> 0x2025984 +rtl: esyms: rtems_rtl_unresolved_table_open -> 0x2025958 +rtl: esyms: rtems_semaphore_create -> 0x20288dc +rtl: esyms: rtems_semaphore_delete -> 0x2028af8 +rtl: esyms: rtems_semaphore_obtain -> 0x2028c6c +rtl: esyms: rtems_semaphore_release -> 0x2028f20 +rtl: esyms: rtems_shutdown_executive -> 0x2029ad4 +rtl: esyms: rtems_status_code_to_errno -> 0x20290a0 +rtl: esyms: rtems_task_create -> 0x2029130 +rtl: esyms: rtems_task_delete -> 0x2029264 +rtl: esyms: rtems_task_mode -> 0x20293c4 +rtl: esyms: rtems_task_start -> 0x20297a0 +rtl: esyms: rtems_task_wake_after -> 0x202989c +rtl: esyms: rtems_termios_baud_table -> 0x205ce10 +rtl: esyms: rtems_termios_close -> 0x201dbdc +rtl: esyms: rtems_termios_enqueue_raw_characters -> 0x201eef8 +rtl: esyms: rtems_termios_initialize -> 0x201f304 +rtl: esyms: rtems_termios_ioctl -> 0x201dcd4 +rtl: esyms: rtems_termios_linesw -> 0x2064e68 +rtl: esyms: rtems_termios_number_to_baud -> 0x201f2ac +rtl: esyms: rtems_termios_open -> 0x201dae8 +rtl: esyms: rtems_termios_puts -> 0x201e17c +rtl: esyms: rtems_termios_read -> 0x201eaa8 +rtl: esyms: rtems_termios_set_initial_baud -> 0x201f2c4 +rtl: esyms: rtems_termios_ttyMutex -> 0x20653fc +rtl: esyms: rtems_termios_write -> 0x201e9cc +rtl: esyms: rtems_test_begin_with_plugin -> 0x202fbf4 +rtl: esyms: rtems_test_end_with_plugin -> 0x202fc18 +rtl: esyms: rtems_test_fatal_extension -> 0x202fc3c +rtl: esyms: rtems_test_name -> 0x2047058 +rtl: esyms: rtems_timecounter_simple_install -> 0x2029eb8 +rtl: esyms: set_vector -> 0x2018448 +rtl: esyms: setlocale -> 0x20331cc +rtl: esyms: sigemptyset -> 0x20282bc +rtl: esyms: sparc_syscall_exit -> 0x20188c4 +rtl: esyms: sprintf -> 0x2034db0 +rtl: esyms: start -> 0x2000000 +rtl: esyms: stat -> 0x201bf44 +rtl: esyms: strchr -> 0x2034f40 +rtl: esyms: strcmp -> 0x2035104 +rtl: esyms: strcpy -> 0x20351d0 +rtl: esyms: strerror -> 0x20358a8 +rtl: esyms: strlen -> 0x20358c4 +rtl: esyms: strncmp -> 0x2035984 +rtl: esyms: strncpy -> 0x2035ab0 +rtl: esyms: strrchr -> 0x2035bb4 +rtl: esyms: strtoul -> 0x2035e1c +rtl: esyms: symlink -> 0x201cf64 +rtl: esyms: syscall -> 0x20188c0 +rtl: esyms: syscall_irqdis -> 0x20188e0 +rtl: esyms: syscall_irqen -> 0x2018900 +rtl: esyms: text_start -> 0x2000000 +rtl: esyms: time -> 0x2039b28 +rtl: esyms: trap_table -> 0x2000000 +rtl: esyms: unlink -> 0x201f354 +rtl: esyms: vfiprintf -> 0x203b314 +rtl: esyms: vfprintf -> 0x203dcb4 +rtl: esyms: vprintk -> 0x201f3d8 +rtl: esyms: vsnprintf -> 0x203de40 +rtl: esyms: wcrtomb -> 0x203e088 +rtl: esyms: window_flush_trap_handler -> 0x20187fc +rtl: esyms: window_overflow_trap_handler -> 0x2018770 +rtl: esyms: window_underflow_trap_handler -> 0x20187ac +rtl: esyms: write -> 0x201f918 +rtl: esyms: _ZGVNSt10moneypunctIcLb0EE2idE -> 0x2064d50 +rtl: esyms: _ZGVNSt10moneypunctIcLb1EE2idE -> 0x2064d48 +rtl: esyms: _ZGVNSt10moneypunctIwLb0EE2idE -> 0x2064cf0 +rtl: esyms: _ZGVNSt10moneypunctIwLb1EE2idE -> 0x2064ce8 +rtl: esyms: _ZGVNSt11__timepunctIcE2idE -> 0x2064d18 +rtl: esyms: _ZGVNSt11__timepunctIwE2idE -> 0x2064cb8 +rtl: esyms: _ZGVNSt7collateIcE2idE -> 0x2064cf8 +rtl: esyms: _ZGVNSt7collateIwE2idE -> 0x2064c98 +rtl: esyms: _ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE -> 0x2064d28 +rtl: esyms: _ZGVNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE -> 0x2064cc8 +rtl: esyms: _ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE -> 0x2064d20 +rtl: esyms: _ZGVNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE -> 0x2064cc0 +rtl: esyms: _ZGVNSt8messagesIcE2idE -> 0x2064d00 +rtl: esyms: _ZGVNSt8messagesIwE2idE -> 0x2064ca0 +rtl: esyms: _ZGVNSt8numpunctIcE2idE -> 0x2064d30 +rtl: esyms: _ZGVNSt8numpunctIwE2idE -> 0x2064cd0 +rtl: esyms: _ZGVNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE -> 0x2064d08 +rtl: esyms: _ZGVNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE -> 0x2064ca8 +rtl: esyms: _ZGVNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE -> 0x2064d10 +rtl: esyms: _ZGVNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE -> 0x2064cb0 +rtl: esyms: _ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE -> 0x2064d40 +rtl: esyms: _ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE -> 0x2064ce0 +rtl: esyms: _ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE -> 0x2064d38 +rtl: esyms: _ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE -> 0x2064cd8 +rtl: esyms: _ZN16dl_test_throw_meD1Ev -> 0x200148c +rtl: esyms: _ZN16dl_test_throw_meD2Ev -> 0x200148c +rtl: esyms: _ZN17__eh_globals_initD1Ev -> 0x2001908 +rtl: esyms: _ZN17__eh_globals_initD2Ev -> 0x2001908 +rtl: esyms: _ZN9__gnu_cxx15_Atomicity_lockILi0EE17_S_atomicity_lockE -> 0x2064c90 +rtl: esyms: _ZN9__gnu_cxx24__concurrence_lock_errorD0Ev -> 0x2001b1c +rtl: esyms: _ZN9__gnu_cxx24__concurrence_lock_errorD1Ev -> 0x2001aec +rtl: esyms: _ZN9__gnu_cxx24__concurrence_lock_errorD2Ev -> 0x2001aec +rtl: esyms: _ZN9__gnu_cxx26__concurrence_unlock_errorD0Ev -> 0x2001b3c +rtl: esyms: _ZN9__gnu_cxx26__concurrence_unlock_errorD1Ev -> 0x2001b04 +rtl: esyms: _ZN9__gnu_cxx26__concurrence_unlock_errorD2Ev -> 0x2001b04 +rtl: esyms: _ZN9__gnu_cxx30__throw_concurrence_lock_errorEv -> 0x2001b68 +rtl: esyms: _ZN9__gnu_cxx32__throw_concurrence_unlock_errorEv -> 0x2001b98 +rtl: esyms: _ZN9__gnu_cxx7__mutexD1Ev -> 0x2001b5c +rtl: esyms: _ZN9__gnu_cxx7__mutexD2Ev -> 0x2001b5c +rtl: esyms: _ZNK9__gnu_cxx24__concurrence_lock_error4whatEv -> 0x2001ad4 +rtl: esyms: _ZNK9__gnu_cxx26__concurrence_unlock_error4whatEv -> 0x2001ae0 +rtl: esyms: _ZNSs12_S_constructIPKcEEPcT_S3_RKSaIcESt20forward_iterator_tag -> 0x2011158 +rtl: esyms: _ZNSs4_Rep10_M_destroyERKSaIcE -> 0x201104c +rtl: esyms: _ZNSs4_Rep20_S_empty_rep_storageE -> 0x2064d58 +rtl: esyms: _ZNSs4_Rep8_M_cloneERKSaIcEj -> 0x2011058 +rtl: esyms: _ZNSs4_Rep9_S_createEjjRKSaIcE -> 0x2010fb4 +rtl: esyms: _ZNSsC1EPKcRKSaIcE -> 0x20111fc +rtl: esyms: _ZNSsC1ERKSs -> 0x20110f0 +rtl: esyms: _ZNSsC2EPKcRKSaIcE -> 0x20111fc +rtl: esyms: _ZNSsC2ERKSs -> 0x20110f0 +rtl: esyms: _ZTI16dl_test_throw_me -> 0x20471d0 +rtl: esyms: _ZTIN10__cxxabiv115__forced_unwindE -> 0x205ace8 +rtl: esyms: _ZTIN10__cxxabiv117__class_type_infoE -> 0x205ac2c +rtl: esyms: _ZTIN10__cxxabiv119__foreign_exceptionE -> 0x205ad14 +rtl: esyms: _ZTIN10__cxxabiv120__si_class_type_infoE -> 0x205c128 +rtl: esyms: _ZTIN9__gnu_cxx24__concurrence_lock_errorE -> 0x205ad88 +rtl: esyms: _ZTIN9__gnu_cxx26__concurrence_unlock_errorE -> 0x205adc0 +rtl: esyms: _ZTISt11logic_error -> 0x205c178 +rtl: esyms: _ZTISt12length_error -> 0x205c19c +rtl: esyms: _ZTISt13bad_exception -> 0x205acbc +rtl: esyms: _ZTISt13runtime_error -> 0x205c1bc +rtl: esyms: _ZTISt14error_category -> 0x205c2ac +rtl: esyms: _ZTISt9bad_alloc -> 0x205c0d8 +rtl: esyms: _ZTISt9exception -> 0x205aca0 +rtl: esyms: _ZTISt9type_info -> 0x205ae40 +rtl: esyms: _ZTS16dl_test_throw_me -> 0x20471d8 +rtl: esyms: _ZTSN10__cxxabiv115__forced_unwindE -> 0x205acc8 +rtl: esyms: _ZTSN10__cxxabiv117__class_type_infoE -> 0x205ac08 +rtl: esyms: _ZTSN10__cxxabiv119__foreign_exceptionE -> 0x205acf0 +rtl: esyms: _ZTSN10__cxxabiv120__si_class_type_infoE -> 0x205c100 +rtl: esyms: _ZTSN9__gnu_cxx24__concurrence_lock_errorE -> 0x205ad98 +rtl: esyms: _ZTSN9__gnu_cxx26__concurrence_unlock_errorE -> 0x205add0 +rtl: esyms: _ZTSSt11logic_error -> 0x205c168 +rtl: esyms: _ZTSSt12length_error -> 0x205c188 +rtl: esyms: _ZTSSt13bad_exception -> 0x205aca8 +rtl: esyms: _ZTSSt13runtime_error -> 0x205c1a8 +rtl: esyms: _ZTSSt14error_category -> 0x205c298 +rtl: esyms: _ZTSSt9bad_alloc -> 0x205c0c8 +rtl: esyms: _ZTSSt9exception -> 0x205ac90 +rtl: esyms: _ZTSSt9type_info -> 0x205ae30 +rtl: esyms: _ZTVN10__cxxabiv117__class_type_infoE -> 0x205ac38 +rtl: esyms: _ZTVN10__cxxabiv120__si_class_type_infoE -> 0x205c138 +rtl: esyms: _ZTVN9__gnu_cxx24__concurrence_lock_errorE -> 0x205ae00 +rtl: esyms: _ZTVN9__gnu_cxx26__concurrence_unlock_errorE -> 0x205ae18 +rtl: esyms: _ZTVSt11logic_error -> 0x205c1c8 +rtl: esyms: _ZTVSt12length_error -> 0x205c1e0 +rtl: esyms: _ZTVSt13bad_exception -> 0x205ad20 +rtl: esyms: _ZTVSt13runtime_error -> 0x205c1f8 +rtl: esyms: _ZTVSt9bad_alloc -> 0x205c0e8 +rtl: esyms: rtems_rtl_base_global_syms_init -> 0x2001680 +rtl: loading '/dl-o5.o' +rtl: alloc: new: OBJECT addr=0x208fa40 size=9 +rtl: alloc: del: OBJECT addr=0x0 +rtl: alloc: new: OBJECT addr=0x20a2fb0 size=144 +rtl: alloc: new: OBJECT addr=0x208fa58 size=9 +rtl: alloc: new: OBJECT addr=0x208fa70 size=9 +rtl: section header: 0: offset=41488 +rtl: section: 0: type=0 flags=00000000 link=0 info=0 +rtl: section header: 1: offset=41528 +rtl: section: 1: type=17 flags=00000000 link=33 info=21 +rtl: unsupported section: 1: type=17 flags=00 +rtl: section header: 2: offset=41568 +rtl: section: 2: type=17 flags=00000000 link=33 info=38 +rtl: unsupported section: 2: type=17 flags=00 +rtl: section header: 3: offset=41608 +rtl: section: 3: type=17 flags=00000000 link=33 info=48 +rtl: unsupported section: 3: type=17 flags=00 +rtl: section header: 4: offset=41648 +rtl: section: 4: type=1 flags=00000006 link=0 info=0 +rtl: section header: 5: offset=41688 +rtl: section: 5: type=1 flags=00000003 link=0 info=0 +rtl: section header: 6: offset=41728 +rtl: section: 6: type=8 flags=00000003 link=0 info=0 +rtl: section header: 7: offset=41768 +rtl: section: 7: type=1 flags=00000206 link=0 info=0 +rtl: alloc: new: OBJECT addr=0x20a3048 size=56 +rtl: alloc: new: OBJECT addr=0x20a3088 size=32 +rtl: sect: 7 : .text._ZN16dl_test_throw_meD2Ev (8) +rtl: section header: 8: offset=41808 +rtl: section: 8: type=1 flags=00000032 link=0 info=0 +rtl: alloc: new: OBJECT addr=0x20a30b0 size=56 +rtl: alloc: new: OBJECT addr=0x208fa88 size=15 +rtl: sect: 8 : .rodata.str1.8 (181) +rtl: section header: 9: offset=41848 +rtl: section: 9: type=1 flags=00000006 link=0 info=0 +rtl: alloc: new: OBJECT addr=0x20a30f0 size=56 +rtl: alloc: new: OBJECT addr=0x20a3130 size=19 +rtl: sect: 9 : .text.exception_dl (504) +rtl: section header: 10: offset=41888 +rtl: section: 10: type=4 flags=00000040 link=33 info=9 +rtl: alloc: new: OBJECT addr=0x20a3150 size=56 +rtl: alloc: new: OBJECT addr=0x20a3190 size=24 +rtl: sect: 10: .rela.text.exception_dl (732) +rtl: section header: 11: offset=41928 +rtl: section: 11: type=1 flags=00000002 link=0 info=0 +rtl: alloc: new: OBJECT addr=0x20a31b0 size=56 +rtl: alloc: new: OBJECT addr=0x20a31f0 size=31 +rtl: sect: 11: .gcc_except_table.exception_dl (80) +rtl: section header: 12: offset=41968 +rtl: section: 12: type=4 flags=00000040 link=33 info=11 +rtl: alloc: new: OBJECT addr=0x20a3218 size=56 +rtl: alloc: new: OBJECT addr=0x20a3258 size=36 +rtl: sect: 12: .rela.gcc_except_table.exception_dl (24) +rtl: section header: 13: offset=42008 +rtl: section: 13: type=1 flags=00000002 link=0 info=0 +rtl: alloc: new: OBJECT addr=0x20a3288 size=56 +rtl: alloc: new: OBJECT addr=0x20a32c8 size=36 +rtl: sect: 13: .rodata._ZZ12exception_dlE8__func__ (13) +rtl: section header: 14: offset=42048 +rtl: section: 14: type=1 flags=00000202 link=0 info=0 +rtl: alloc: new: OBJECT addr=0x20a32f8 size=56 +rtl: alloc: new: OBJECT addr=0x20a3338 size=31 +rtl: sect: 14: .rodata._ZTI16dl_test_throw_me (8) +rtl: section header: 15: offset=42088 +rtl: section: 15: type=4 flags=00000040 link=33 info=14 +rtl: alloc: new: OBJECT addr=0x20a3360 size=56 +rtl: alloc: new: OBJECT addr=0x20a33a0 size=36 +rtl: sect: 15: .rela.rodata._ZTI16dl_test_throw_me (24) +rtl: section header: 16: offset=42128 +rtl: section: 16: type=1 flags=00000202 link=0 info=0 +rtl: alloc: new: OBJECT addr=0x20a33d0 size=56 +rtl: alloc: new: OBJECT addr=0x20a3410 size=31 +rtl: sect: 16: .rodata._ZTS16dl_test_throw_me (19) +rtl: section header: 17: offset=42168 +rtl: section: 17: type=1 flags=00000000 link=0 info=0 +rtl: section header: 18: offset=42208 +rtl: section: 18: type=4 flags=00000040 link=33 info=17 +rtl: alloc: new: OBJECT addr=0x20a3438 size=56 +rtl: alloc: new: OBJECT addr=0x20a3478 size=17 +rtl: sect: 18: .rela.debug_info (9048) +rtl: section header: 19: offset=42248 +rtl: section: 19: type=1 flags=00000000 link=0 info=0 +rtl: section header: 20: offset=42288 +rtl: section: 20: type=1 flags=00000000 link=0 info=0 +rtl: section header: 21: offset=42328 +rtl: section: 21: type=4 flags=00000040 link=33 info=20 +rtl: alloc: new: OBJECT addr=0x20a3498 size=56 +rtl: alloc: new: OBJECT addr=0x20a34d8 size=16 +rtl: sect: 21: .rela.debug_loc (732) +rtl: section header: 22: offset=42368 +rtl: section: 22: type=1 flags=00000000 link=0 info=0 +rtl: section header: 23: offset=42408 +rtl: section: 23: type=4 flags=00000040 link=33 info=22 +rtl: alloc: new: OBJECT addr=0x20a34f0 size=56 +rtl: alloc: new: OBJECT addr=0x20a3530 size=20 +rtl: sect: 23: .rela.debug_aranges (36) +rtl: section header: 24: offset=42448 +rtl: section: 24: type=1 flags=00000000 link=0 info=0 +rtl: section header: 25: offset=42488 +rtl: section: 25: type=4 flags=00000040 link=33 info=24 +rtl: alloc: new: OBJECT addr=0x20a3550 size=56 +rtl: alloc: new: OBJECT addr=0x20a3590 size=19 +rtl: sect: 25: .rela.debug_ranges (576) +rtl: section header: 26: offset=42528 +rtl: section: 26: type=1 flags=00000000 link=0 info=0 +rtl: section header: 27: offset=42568 +rtl: section: 27: type=4 flags=00000040 link=33 info=26 +rtl: alloc: new: OBJECT addr=0x20a35b0 size=56 +rtl: alloc: new: OBJECT addr=0x20a35f0 size=17 +rtl: sect: 27: .rela.debug_line (24) +rtl: section header: 28: offset=42608 +rtl: section: 28: type=1 flags=00000030 link=0 info=0 +rtl: section header: 29: offset=42648 +rtl: section: 29: type=1 flags=00000030 link=0 info=0 +rtl: section header: 30: offset=42688 +rtl: section: 30: type=1 flags=00000002 link=0 info=0 +rtl: alloc: new: OBJECT addr=0x20a3610 size=56 +rtl: alloc: new: OBJECT addr=0x20a3650 size=10 +rtl: sect: 30: .eh_frame (96) +rtl: section header: 31: offset=42728 +rtl: section: 31: type=4 flags=00000040 link=33 info=30 +rtl: alloc: new: OBJECT addr=0x20a3668 size=56 +rtl: alloc: new: OBJECT addr=0x20a36a8 size=15 +rtl: sect: 31: .rela.eh_frame (48) +rtl: section header: 32: offset=42768 +rtl: section: 32: type=3 flags=00000000 link=0 info=0 +rtl: alloc: new: OBJECT addr=0x20a36c0 size=56 +rtl: alloc: new: OBJECT addr=0x20a3700 size=10 +rtl: sect: 32: .shstrtab (399) +rtl: section header: 33: offset=42808 +rtl: section: 33: type=2 flags=00000000 link=34 info=26 +rtl: alloc: new: OBJECT addr=0x20a3718 size=56 +rtl: alloc: new: OBJECT addr=0x20a3758 size=8 +rtl: sect: 33: .symtab (784) +rtl: section header: 34: offset=42848 +rtl: section: 34: type=3 flags=00000000 link=0 info=0 +rtl: alloc: new: OBJECT addr=0x20a3768 size=56 +rtl: alloc: new: OBJECT addr=0x20a37a8 size=8 +rtl: sect: 34: .strtab (569) +rtl: alloc: new: READ_EXEC addr=0x20a37b8 size=520 +rtl: alloc: new: READ addr=0x20a39c8 size=231 +rtl: alloc: new: READ addr=0x20a3ab8 size=176 +rtl: load sect: text - b:0x20a37b8 s:520 a:4 +rtl: load sect: const - b:0x20a39c8 s:231 a:8 +rtl: load sect: eh - b:0x20a3ab8 s:176 a:4 +rtl: load sect: data - b:0x0 s:0 a:0 +rtl: load sect: bss - b:0x0 s:0 a:0 +rtl: loading: 0: .text._ZN16dl_test_throw_meD2Ev -> 0x20a37b8 (s:8 f:0401 a:4 l:00) +rtl: loading: 1: .text.exception_dl -> 0x20a37c0 (s:504 f:0401 a:4 l:00) +rtl: loading: 0: .rodata.str1.8 -> 0x20a39c8 (s:181 f:0402 a:8 l:00) +rtl: loading: 1: .rodata._ZZ12exception_dlE8__func__ -> 0x20a3a80 (s:13 f:0402 a:8 l:00) +rtl: loading: 2: .rodata._ZTI16dl_test_throw_me -> 0x20a3a90 (s:8 f:0402 a:4 l:00) +rtl: loading: 3: .rodata._ZTS16dl_test_throw_me -> 0x20a3a98 (s:19 f:0402 a:8 l:00) +rtl: loading: 0: .gcc_except_table.exception_dl -> 0x20a3ab8 (s:80 f:0410 a:4 l:00) +rtl: loading: 1: .eh_frame -> 0x20a3b08 (s:96 f:0410 a:4 l:00) +rtl: alloc: new: SYMBOL addr=0x20a3b70 size=48 +rtl: alloc: new: SYMBOL addr=0x20a3ba8 size=211 +rtl: sym:add:8 name:11:_ZZ12exception_dlE8__func__ bind:0 type:1 val:0x20a3a80 sect:13 size:13 +rtl: sym:add:26 name:65:_ZN16dl_test_throw_meD2Ev bind:2 type:2 val:0x20a37b8 sect:7 size:8 +rtl: sym:add:27 name:91:_ZN16dl_test_throw_meD1Ev bind:2 type:2 val:0x20a37b8 sect:7 size:8 +rtl: sym:add:28 name:117:exception_dl bind:1 type:2 val:0x20a37c0 sect:9 size:504 +rtl: sym:add:38 name:321:_ZTI16dl_test_throw_me bind:2 type:1 val:0x20a3a90 sect:14 size:8 +rtl: sym:add:48 name:546:_ZTS16dl_test_throw_me bind:2 type:1 val:0x20a3a98 sect:16 size:19 +rtl: relocation: .rela.text.exception_dl, syms:.symtab +rtl: rela: sym:(null)(6)=020a39c8 type:9 off:00000004 addend:0 +rtl: HI22 0x1100828e @ 0x20a37c4 in /dl-o5.o +rtl: rela: sym:puts(30)=020349e8 type:7 off:00000008 addend:0 +rtl: WDISP_30 0x7ffe4488 @ 0x20a37c8 in /dl-o5.o +rtl: rela: sym:(null)(6)=020a39c8 type:12 off:0000000c addend:0 +rtl: LO10 0x901221c8 @ 0x20a37cc in /dl-o5.o +rtl: rela: sym:(null)(6)=020a39c8 type:9 off:00000010 addend:24 +rtl: HI22 0x1100828e @ 0x20a37d0 in /dl-o5.o +rtl: rela: sym:puts(30)=020349e8 type:7 off:00000014 addend:0 +rtl: WDISP_30 0x7ffe4485 @ 0x20a37d4 in /dl-o5.o +rtl: rela: sym:(null)(6)=020a39c8 type:12 off:00000018 addend:24 +rtl: LO10 0x901221e0 @ 0x20a37d8 in /dl-o5.o +rtl: rela: sym:__cxa_allocate_exception(31)=02001c5c type:7 off:00000028 addend:0 +rtl: WDISP_30 0x7ffd791d @ 0x20a37e8 in /dl-o5.o +rtl: rela: sym:(null)(6)=020a39c8 type:9 off:00000030 addend:56 +rtl: HI22 0x1300828e @ 0x20a37f0 in /dl-o5.o +rtl: rela: sym:(null)(6)=020a39c8 type:12 off:00000038 addend:56 +rtl: LO10 0x92126200 @ 0x20a37f8 in /dl-o5.o +rtl: rela: sym:_ZNSsC1EPKcRKSaIcE(32)=020111fc type:7 off:00000040 addend:0 +rtl: WDISP_30 0x7ffdb67f @ 0x20a3800 in /dl-o5.o +rtl: rela: sym:_ZNSt13runtime_errorC1ERKSs(33)=02010b3c type:7 off:0000004c addend:0 +rtl: WDISP_30 0x7ffdb4cc @ 0x20a380c in /dl-o5.o +rtl: rela: sym:_ZNSs4_Rep20_S_empty_rep_storageE(34)=02064d58 type:9 off:00000058 addend:0 +rtl: HI22 0x3008193 @ 0x20a3818 in /dl-o5.o +rtl: rela: sym:_ZNSs4_Rep20_S_empty_rep_storageE(34)=02064d58 type:12 off:00000060 addend:0 +rtl: LO10 0x82106158 @ 0x20a3820 in /dl-o5.o +rtl: rela: sym:_ZTISt13runtime_error(35)=0205c1bc type:9 off:00000070 addend:0 +rtl: HI22 0x13008170 @ 0x20a3830 in /dl-o5.o +rtl: rela: sym:_ZNSt13runtime_errorD1Ev(36)=02010a6c type:9 off:00000074 addend:0 +rtl: HI22 0x15008042 @ 0x20a3834 in /dl-o5.o +rtl: rela: sym:_ZTISt13runtime_error(35)=0205c1bc type:12 off:0000007c addend:0 +rtl: LO10 0x921261bc @ 0x20a383c in /dl-o5.o +rtl: rela: sym:__cxa_throw(37)=02010400 type:7 off:00000080 addend:0 +rtl: WDISP_30 0x7ffdb2f0 @ 0x20a3840 in /dl-o5.o +rtl: rela: sym:_ZNSt13runtime_errorD1Ev(36)=02010a6c type:12 off:00000084 addend:0 +rtl: LO10 0x9412a26c @ 0x20a3844 in /dl-o5.o +rtl: rela: sym:__cxa_allocate_exception(31)=02001c5c type:7 off:00000088 addend:0 +rtl: WDISP_30 0x7ffd7905 @ 0x20a3848 in /dl-o5.o +rtl: rela: sym:(null)(6)=020a39c8 type:9 off:00000090 addend:88 +rtl: HI22 0x300828e @ 0x20a3850 in /dl-o5.o +rtl: rela: sym:(null)(6)=020a39c8 type:12 off:00000094 addend:88 +rtl: LO10 0x82106220 @ 0x20a3854 in /dl-o5.o +rtl: rela: sym:(null)(38)=020a3a90 type:9 off:00000098 addend:0 +rtl: HI22 0x1300828e @ 0x20a3858 in /dl-o5.o +rtl: rela: sym:(null)(27)=020a37b8 type:9 off:0000009c addend:0 +rtl: HI22 0x1500828d @ 0x20a385c in /dl-o5.o +rtl: rela: sym:(null)(38)=020a3a90 type:12 off:000000a4 addend:0 +rtl: LO10 0x92126290 @ 0x20a3864 in /dl-o5.o +rtl: rela: sym:__cxa_throw(37)=02010400 type:7 off:000000a8 addend:0 +rtl: WDISP_30 0x7ffdb2e6 @ 0x20a3868 in /dl-o5.o +rtl: rela: sym:(null)(27)=020a37b8 type:12 off:000000ac addend:0 +rtl: LO10 0x9412a3b8 @ 0x20a386c in /dl-o5.o +rtl: rela: sym:_ZN9__gnu_cxx18__exchange_and_addEPVii(39)=0201094c type:7 off:000000b0 addend:0 +rtl: WDISP_30 0x7ffdb437 @ 0x20a3870 in /dl-o5.o +rtl: rela: sym:_ZTISt13runtime_error(35)=0205c1bc type:9 off:000000c0 addend:0 +rtl: HI22 0x13008170 @ 0x20a3880 in /dl-o5.o +rtl: rela: sym:_ZNSs4_Rep10_M_destroyERKSaIcE(40)=0201104c type:7 off:000000c8 addend:0 +rtl: WDISP_30 0x7ffdb5f1 @ 0x20a3888 in /dl-o5.o +rtl: rela: sym:_ZTISt13runtime_error(35)=0205c1bc type:9 off:000000d4 addend:0 +rtl: HI22 0x13008170 @ 0x20a3894 in /dl-o5.o +rtl: rela: sym:__cxa_begin_catch(41)=02001ec4 type:7 off:000000f0 addend:0 +rtl: WDISP_30 0x7ffd7985 @ 0x20a38b0 in /dl-o5.o +rtl: rela: sym:(null)(10)=020a3a80 type:9 off:00000108 addend:0 +rtl: HI22 0x1300828e @ 0x20a38c8 in /dl-o5.o +rtl: rela: sym:(null)(10)=020a3a80 type:12 off:00000110 addend:0 +rtl: LO10 0x92126280 @ 0x20a38d0 in /dl-o5.o +rtl: rela: sym:(null)(6)=020a39c8 type:9 off:00000114 addend:120 +rtl: HI22 0x1100828e @ 0x20a38d4 in /dl-o5.o +rtl: rela: sym:printf(42)=020347d4 type:7 off:00000118 addend:0 +rtl: WDISP_30 0x7ffe43bf @ 0x20a38d8 in /dl-o5.o +rtl: rela: sym:(null)(6)=020a39c8 type:12 off:0000011c addend:120 +rtl: LO10 0x90122240 @ 0x20a38dc in /dl-o5.o +rtl: rela: sym:__cxa_end_catch(43)=02001f70 type:7 off:00000120 addend:0 +rtl: WDISP_30 0x7ffd79a4 @ 0x20a38e0 in /dl-o5.o +rtl: rela: sym:(null)(6)=020a39c8 type:9 off:00000128 addend:136 +rtl: HI22 0x1100828e @ 0x20a38e8 in /dl-o5.o +rtl: rela: sym:puts(30)=020349e8 type:7 off:0000012c addend:0 +rtl: WDISP_30 0x7ffe443f @ 0x20a38ec in /dl-o5.o +rtl: rela: sym:(null)(6)=020a39c8 type:12 off:00000130 addend:136 +rtl: LO10 0x90122250 @ 0x20a38f0 in /dl-o5.o +rtl: rela: sym:_ZNSs4_Rep20_S_empty_rep_storageE(34)=02064d58 type:9 off:00000140 addend:0 +rtl: HI22 0x3008193 @ 0x20a3900 in /dl-o5.o +rtl: rela: sym:_ZNSs4_Rep20_S_empty_rep_storageE(34)=02064d58 type:12 off:00000148 addend:0 +rtl: LO10 0x82106158 @ 0x20a3908 in /dl-o5.o +rtl: rela: sym:__cxa_free_exception(44)=02001d4c type:7 off:00000158 addend:0 +rtl: WDISP_30 0x7ffd790d @ 0x20a3918 in /dl-o5.o +rtl: rela: sym:__cxa_begin_catch(41)=02001ec4 type:7 off:0000016c addend:0 +rtl: WDISP_30 0x7ffd7966 @ 0x20a392c in /dl-o5.o +rtl: rela: sym:(null)(6)=020a39c8 type:9 off:00000174 addend:160 +rtl: HI22 0x1100828e @ 0x20a3934 in /dl-o5.o +rtl: rela: sym:(null)(10)=020a3a80 type:9 off:00000178 addend:0 +rtl: HI22 0x1300828e @ 0x20a3938 in /dl-o5.o +rtl: rela: sym:(null)(6)=020a39c8 type:12 off:0000017c addend:160 +rtl: LO10 0x90122268 @ 0x20a393c in /dl-o5.o +rtl: rela: sym:printf(42)=020347d4 type:7 off:00000180 addend:0 +rtl: WDISP_30 0x7ffe43a5 @ 0x20a3940 in /dl-o5.o +rtl: rela: sym:(null)(10)=020a3a80 type:12 off:00000184 addend:0 +rtl: LO10 0x92126280 @ 0x20a3944 in /dl-o5.o +rtl: rela: sym:__cxa_begin_catch(41)=02001ec4 type:7 off:0000018c addend:0 +rtl: WDISP_30 0x7ffd795e @ 0x20a394c in /dl-o5.o +rtl: rela: sym:(null)(10)=020a3a80 type:9 off:00000198 addend:0 +rtl: HI22 0x1300828e @ 0x20a3958 in /dl-o5.o +rtl: rela: sym:(null)(6)=020a39c8 type:9 off:0000019c addend:120 +rtl: HI22 0x1100828e @ 0x20a395c in /dl-o5.o +rtl: rela: sym:(null)(10)=020a3a80 type:12 off:000001a0 addend:0 +rtl: LO10 0x92126280 @ 0x20a3960 in /dl-o5.o +rtl: rela: sym:printf(42)=020347d4 type:7 off:000001a4 addend:0 +rtl: WDISP_30 0x7ffe439c @ 0x20a3964 in /dl-o5.o +rtl: rela: sym:(null)(6)=020a39c8 type:12 off:000001a8 addend:120 +rtl: LO10 0x90122240 @ 0x20a3968 in /dl-o5.o +rtl: rela: sym:__cxa_end_catch(43)=02001f70 type:7 off:000001b0 addend:0 +rtl: WDISP_30 0x7ffd7980 @ 0x20a3970 in /dl-o5.o +rtl: rela: sym:_Unwind_Resume(45)=02015c38 type:7 off:000001b8 addend:0 +rtl: WDISP_30 0x7ffdc8b0 @ 0x20a3978 in /dl-o5.o +rtl: rela: sym:__cxa_end_catch(43)=02001f70 type:7 off:000001c0 addend:0 +rtl: WDISP_30 0x7ffd797c @ 0x20a3980 in /dl-o5.o +rtl: rela: sym:_Unwind_Resume(45)=02015c38 type:7 off:000001c8 addend:0 +rtl: WDISP_30 0x7ffdc8ac @ 0x20a3988 in /dl-o5.o +rtl: rela: sym:_ZN9__gnu_cxx18__exchange_and_addEPVii(39)=0201094c type:7 off:000001d4 addend:0 +rtl: WDISP_30 0x7ffdb3ee @ 0x20a3994 in /dl-o5.o +rtl: rela: sym:_ZNSs4_Rep10_M_destroyERKSaIcE(40)=0201104c type:7 off:000001ec addend:0 +rtl: WDISP_30 0x7ffdb5a8 @ 0x20a39ac in /dl-o5.o +rtl: relocation: .rela.gcc_except_table.exception_dl, syms:.symtab +rtl: rela: sym:_ZTISt9exception(46)=0205aca0 type:3 off:00000048 addend:0 +rtl: RELOC_32 0x205aca0 @ 0x20a3b00 in /dl-o5.o +rtl: rela: sym:(null)(38)=020a3a90 type:3 off:0000004c addend:0 +rtl: RELOC_32 0x20a3a90 @ 0x20a3b04 in /dl-o5.o +rtl: relocation: .rela.rodata._ZTI16dl_test_throw_me, syms:.symtab +rtl: rela: sym:_ZTVN10__cxxabiv117__class_type_infoE(47)=0205ac38 type:3 off:00000000 addend:8 +rtl: RELOC_32 0x205ac40 @ 0x20a3a90 in /dl-o5.o +rtl: rela: sym:(null)(48)=020a3a98 type:3 off:00000004 addend:0 +rtl: RELOC_32 0x20a3a98 @ 0x20a3a94 in /dl-o5.o +rtl: relocation: .rela.eh_frame, syms:.symtab +rtl: rela: sym:(null)(5)=020a37b8 type:6 off:0000001c addend:0 +rtl: DISP_32 0xfffffc94 @ 0x20a3b24 in /dl-o5.o +rtl: rela: sym:__gxx_personality_v0(29)=020027ac type:23 off:0000003b addend:0 +rtl: UA_32 0x0 @ 0x20a3b43 in /dl-o5.o +rtl: rela: sym:(null)(7)=020a37c0 type:6 off:0000004c addend:0 +rtl: DISP_32 0xfffffc6c @ 0x20a3b54 in /dl-o5.o +rtl: rela: sym:(null)(9)=020a3ab8 type:23 off:00000055 addend:0 +rtl: UA_32 0x0 @ 0x20a3b5d in /dl-o5.o +rtl: alloc: del: SYMBOL addr=0x20a3b70 +rtl: alloc: new: OBJECT addr=0x20a3c88 size=148 +rtl: linkmap_add +rtl: unresolv: global resolve +exception_base: begin +exception_base: caught: eb: throw std::runtime_error +exception_base: end +exception_dl: begin +exception_dl: throwing... +exception_dl: caught: throw std::runtime_error object +exception_dl: end +rtl: unloading '/dl-o5.o' +rtl: alloc: del: READ_WRITE addr=0x0 +rtl: alloc: del: READ_WRITE addr=0x0 +rtl: alloc: del: READ addr=0x20a3ab8 +rtl: alloc: del: READ addr=0x20a39c8 +rtl: alloc: del: READ_EXEC addr=0x20a37b8 +rtl: alloc: del: SYMBOL addr=0x20a3ba8 +rtl: alloc: del: OBJECT addr=0x208fa58 +rtl: alloc: del: OBJECT addr=0x208fa70 +rtl: alloc: del: OBJECT addr=0x20a3c88 +rtl: alloc: del: OBJECT addr=0x20a2fb0 +*** END OF TEST libdl (RTL) 5 *** diff --git a/testsuites/libtests/dl05/init.c b/testsuites/libtests/dl05/init.c new file mode 100644 index 0000000000..62513f3fa8 --- /dev/null +++ b/testsuites/libtests/dl05/init.c @@ -0,0 +1,86 @@ +/* + * Copyright (c) 2016 Chris Johns <chrisj@rtems.org>. All rights reserved. + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.org/license/LICENSE. + */ + +#ifdef HAVE_CONFIG_H + #include "config.h" +#endif + +#include "tmacros.h" + +#include <errno.h> +#include <string.h> +#include <stdint.h> +#include <unistd.h> + +#include <rtems/rtl/rtl.h> +#include <rtems/untar.h> + +#include "dl-load.h" + +const char rtems_test_name[] = "libdl (RTL) 5"; + +/* forward declarations to avoid warnings */ +static rtems_task Init(rtems_task_argument argument); + +#include "dl-tar.h" + +#define TARFILE_START dl_tar +#define TARFILE_SIZE dl_tar_size + +static int test(void) +{ + int ret; + ret = dl_load_test(); + if (ret) + rtems_test_exit(ret); + return 0; +} + +static void Init(rtems_task_argument arg) +{ + int te; + + TEST_BEGIN(); + + te = Untar_FromMemory((void *)TARFILE_START, (size_t)TARFILE_SIZE); + if (te != 0) + { + printf("untar failed: %d\n", te); + rtems_test_exit(1); + exit (1); + } + + test(); + + TEST_END(); + + rtems_test_exit(0); +} + +#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER +#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER + +#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 4 + +#define CONFIGURE_MAXIMUM_TASKS 1 + +#define CONFIGURE_MINIMUM_TASK_STACK_SIZE (32U * 1024U) + +#define CONFIGURE_EXTRA_TASK_STACKS (64 * 1024) + +#define CONFIGURE_MAXIMUM_POSIX_KEYS 2 + +#define CONFIGURE_MAXIMUM_SEMAPHORES 4 + +#define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION + +#define CONFIGURE_RTEMS_INIT_TASKS_TABLE + +#define CONFIGURE_INIT + +#include <rtems/confdefs.h> |