static linked dlopen causes segmentation fault
Hau Hsu
hsuhau617 at gmail.com
Fri Feb 22 06:44:18 UTC 2019
Hi,
I encountered segmentation fault when I use dlopen in a static linked
program with uclibc-ng-1.0.
The same program works with uclibc-0.9.33.
It is cross-compiled to ARM platform.
The following is a small case to reproduce the problem:
test.c:
#include <stdio.h>
#include <stdlib.h>
#include <dlfcn.h>
int
main ()
{
void *handle;
printf("Testing dlopen\n");
handle = dlopen ("./libtest.so", RTLD_LAZY);
if (!handle)
{
fprintf (stderr, "%s\n", dlerror ());
exit (1);
}
printf("libtest.so opened\n");
dlclose (handle);
return 0;
}
libtest.c:
#include <stdio.h>
void libtest1( void )
{
printf("libtest1\n" );
}
Compile with commands:
$ arm-linux-gcc test.c -static -o test
$ arm-linux-gcc libtest.c -c -fPIC -o libtest.o
$ arm-linux-gcc libtest.o -shared -o libtest.so
After tracing and comparing two versions, I guess in 0.9.33 the function
__pthread_initialize_minimal in libc/misc/internals/__uClibc_main.c is not
executed when running libc's ctor,
since the symbol is NULL:
/* Before we start initializing uClibc we have to call
* __pthread_initialize_minimal so we can use pthread_locks
* whenever they are needed.
*/
#if !defined (__UCLIBC_HAS_THREADS_NATIVE__) || defined (SHARED)
if (likely(__pthread_initialize_minimal!=NULL))
#endif
__pthread_initialize_minimal();
#endif
After merging libpthread into libc, this symbol becomes available and is
executed.
But when the function tries to access the function pointer
_dl_error_catch_tsd,
it is not initialized, causing segmentation fault.
libpthread/nptl/init.c:
#ifdef SHARED
/* Transfer the old value from the dynamic linker's internal location. */
*__libc_dl_error_tsd () = *(*GL(dl_error_catch_tsd)) (); // <--- died here
GL(dl_error_catch_tsd) = &__libc_dl_error_tsd;
#endif
Any suggestion to fix it?
Thanks in advance.
Here is the logged message using LD_DEBUG:
/home # LD_DEBUG=all test
Testing dlopen
do_dlopen():389: Trying to dlopen './libtest.so', RTLD_GLOBAL:0 RTLD_NOW:0
_dl_load_shared_library:221: find library='libtest.so'; searching
_dl_load_shared_library:227: trying file='./libtest.so'
_dl_load_elf_shared_library:992:
file='./libtest.so'; generating link map
_dl_load_elf_shared_library:993: dynamic: b6fcdf38 base: b6fbd000
_dl_load_elf_shared_library:995: entry: b6fbd498 phdr: b6fbd034 phnum:
6
do_dlopen():420: Looking for needed libraries
do_dlopen():437: Trying to load 'libc.so.0', needed by './libtest.so'
_dl_load_shared_library:221: find library='libc.so.0'; searching
_dl_load_shared_library:334: searching full lib path list
_dl_load_elf_shared_library:839: Found TLS header for /lib/libc.so.0
_dl_load_elf_shared_library:866: Relocated TLS initial image from 49f08 to
b6fb6f08 (size = 0)
_dl_load_elf_shared_library:992:
file='/lib/libc.so.0'; generating link map
_dl_load_elf_shared_library:993: dynamic: b6fb6f50 base: b6f6d000
_dl_load_elf_shared_library:995: entry: b6f725b0 phdr: b6f6d034 phnum:
8
do_dlopen():437: Trying to load 'ld-uClibc.so.1', needed by '/lib/libc.so.0'
_dl_load_shared_library:221: find library='ld-uClibc.so.1'; searching
_dl_load_shared_library:334: searching full lib path list
_dl_load_elf_shared_library:992:
file='/lib/ld-uClibc.so.1'; generating link map
_dl_load_elf_shared_library:993: dynamic: b6f6beb4 base: b6f53000
_dl_load_elf_shared_library:995: entry: b6f541bc phdr: b6f53034 phnum:
6
INIT/FINI order and dependencies:
lib: ./libtest.so has deps:
/lib/libc.so.0
lib: /lib/libc.so.0 has deps:
/lib/ld-uClibc.so.1
lib: /lib/ld-uClibc.so.1 has deps:
do_dlopen():538: Beginning dlopen relocation fixups
_dl_fixup:1017: relocation processing: /lib/ld-uClibc.so.1
_dl_fixup:1017: relocation processing: /lib/libc.so.0
17 offset=49f0c
patch: 4a1b0 ==> b6fb71b0 @ b6fb6f0c
17 offset=49f18
patch: 195b8 ==> b6f865b8 @ b6fb6f18
17 offset=49f1c
patch: 194e4 ==> b6f864e4 @ b6fb6f1c
17 offset=49f20
patch: 194d4 ==> b6f864d4 @ b6fb6f20
17 offset=49f24
patch: 3426c ==> b6fa126c @ b6fb6f24
17 offset=49f28
patch: 34274 ==> b6fa1274 @ b6fb6f28
17 offset=49f2c
patch: 34281 ==> b6fa1281 @ b6fb6f2c
17 offset=49f30
patch: 3429a ==> b6fa129a @ b6fb6f30
17 offset=49f34
patch: 342af ==> b6fa12af @ b6fb6f34
17 offset=49f3c
patch: 1e4d8 ==> b6f8b4d8 @ b6fb6f3c
17 offset=49f44
patch: 1e4d8 ==> b6f8b4d8 @ b6fb6f44
17 offset=4a18c
patch: 331a0 ==> b6fa01a0 @ b6fb718c
17 offset=4a1a8
patch: 3330c ==> b6fa030c @ b6fb71a8
17 offset=4a1ac
patch: 3330b ==> b6fa030b @ b6fb71ac
17 offset=4a1c4
patch: 4a504 ==> b6fb7504 @ b6fb71c4
17 offset=4a1c8
patch: 4b504 ==> b6fb8504 @ b6fb71c8
17 offset=4a1cc
patch: 4a504 ==> b6fb7504 @ b6fb71cc
17 offset=4a1d0
patch: 4a504 ==> b6fb7504 @ b6fb71d0
17 offset=4a1d4
patch: 4a504 ==> b6fb7504 @ b6fb71d4
17 offset=4a1d8
patch: 4a504 ==> b6fb7504 @ b6fb71d8
17 offset=4a1dc
patch: 4a200 ==> b6fb7200 @ b6fb71dc
17 offset=4a208
patch: 4b504 ==> b6fb8504 @ b6fb7208
17 offset=4a20c
patch: 4c504 ==> b6fb9504 @ b6fb720c
17 offset=4a210
patch: 4b504 ==> b6fb8504 @ b6fb7210
17 offset=4a214
patch: 4b504 ==> b6fb8504 @ b6fb7214
17 offset=4a218
patch: 4b504 ==> b6fb8504 @ b6fb7218
17 offset=4a21c
patch: 4b504 ==> b6fb8504 @ b6fb721c
17 offset=4a220
patch: 4a244 ==> b6fb7244 @ b6fb7220
17 offset=4a288
patch: 4a1bc ==> b6fb71bc @ b6fb7288
17 offset=4a28c
patch: 4a200 ==> b6fb7200 @ b6fb728c
17 offset=4a290
patch: 4a1bc ==> b6fb71bc @ b6fb7290
17 offset=4a294
patch: 4a244 ==> b6fb7244 @ b6fb7294
17 offset=4a298
patch: 4a200 ==> b6fb7200 @ b6fb7298
17 offset=4a29c
patch: 4a1bc ==> b6fb71bc @ b6fb729c
17 offset=4a380
patch: 4a310 ==> b6fb7310 @ b6fb7380
17 offset=4a384
patch: 4a304 ==> b6fb7304 @ b6fb7384
17 offset=4a388
patch: 4a304 ==> b6fb7304 @ b6fb7388
17 offset=4a390
patch: 4a380 ==> b6fb7380 @ b6fb7390
17 offset=4a3b8
patch: 3431d ==> b6fa131d @ b6fb73b8
17 offset=4a3bc
patch: 3431d ==> b6fa131d @ b6fb73bc
17 offset=4a3c0
patch: 3431d ==> b6fa131d @ b6fb73c0
17 offset=4a3c8
patch: 4a3c8 ==> b6fb73c8 @ b6fb73c8
17 offset=4a3cc
patch: 4a3c8 ==> b6fb73c8 @ b6fb73cc
17 offset=4a3d0
patch: 4a3d0 ==> b6fb73d0 @ b6fb73d0
17 offset=4a3d4
patch: 4a3d0 ==> b6fb73d0 @ b6fb73d4
17 offset=4a3d8
patch: 347d0 ==> b6fa17d0 @ b6fb73d8
17 offset=4a3dc
patch: 347d0 ==> b6fa17d0 @ b6fb73dc
17 offset=4a3e0
patch: 34ad0 ==> b6fa1ad0 @ b6fb73e0
17 offset=4a3e4
patch: 34ad0 ==> b6fa1ad0 @ b6fb73e4
17 offset=4a3e8
patch: 34dd0 ==> b6fa1dd0 @ b6fb73e8
17 offset=4a3ec
patch: 34dd0 ==> b6fa1dd0 @ b6fb73ec
17 offset=4a400
patch: 35228 ==> b6fa2228 @ b6fb7400
__global_locale_data
value=4f208 size=b1c info=11 other=0 shndx=15
2 offset=4a3f0
patch: 0 ==> b6fbc208 @ b6fb73f0
17 offset=49f08
patch: 4ec24 ==> b6fbbc24 @ b6fb6f08
__default_sa_restorer
value=5640 size=0 info=12 other=0 shndx=b
15 offset=4a144
patch: 0 ==> b6f72640 @ b6fb7144
__default_rt_sa_restorer
value=564c size=0 info=12 other=0 shndx=b
15 offset=4a14c
patch: 0 ==> b6f7264c @ b6fb714c
errno
value=4 size=4 info=16 other=0 shndx=10
13 offset=4a0f8
patch: 0 ==> 14 @ b6fb70f8
__pthread_mutex_unlock
value=285b0 size=8 info=22 other=3 shndx=b
15 offset=4a114
patch: 0 ==> b6f955b0 @ b6fb7114
13 offset=4a0fc
patch: 8 ==> 18 @ b6fb70fc
re_syntax_options
value=4ee04 size=4 info=11 other=0 shndx=15
15 offset=4a0f0
patch: 0 ==> b6fbbe04 @ b6fb70f0
tzname
value=4a1a8 size=8 info=11 other=0 shndx=14
15 offset=4a110
patch: 0 ==> b6fb71a8 @ b6fb7110
daylight
value=4a4ac size=4 info=11 other=0 shndx=15
15 offset=4a0e4
patch: 0 ==> b6fb74ac @ b6fb70e4
timezone
value=4a4a8 size=4 info=11 other=0 shndx=15
15 offset=4a130
patch: 0 ==> b6fb74a8 @ b6fb7130
__global_locale
value=4a3f0 size=4 info=11 other=0 shndx=14
15 offset=4a170
patch: 0 ==> b6fb73f0 @ b6fb7170
_stdio_openlist_del_lock
value=4a4ec size=c info=11 other=0 shndx=15
15 offset=4a16c
patch: 0 ==> b6fb74ec @ b6fb716c
stdout
value=4a298 size=4 info=11 other=0 shndx=14
15 offset=4a0e0
patch: 0 ==> b6fb7298 @ b6fb70e0
_stdio_user_locking
value=4a1b8 size=4 info=11 other=0 shndx=14
15 offset=4a13c
patch: 0 ==> b6fb71b8 @ b6fb713c
_stdio_openlist_add_lock
value=4a4f8 size=c info=11 other=0 shndx=15
15 offset=4a160
patch: 0 ==> b6fb74f8 @ b6fb7160
_stdio_openlist
value=4a288 size=4 info=11 other=0 shndx=14
15 offset=4a118
patch: 0 ==> b6fb7288 @ b6fb7118
stderr
value=4a294 size=4 info=11 other=0 shndx=14
15 offset=4a154
patch: 0 ==> b6fb7294 @ b6fb7154
__environ
value=4cb88 size=4 info=11 other=0 shndx=15
15 offset=4a10c
patch: 0 ==> b6fb9b88 @ b6fb710c
17 offset=4a150
patch: 1907c ==> b6f8607c @ b6fb7150
optind
value=4a3b4 size=4 info=11 other=0 shndx=14
15 offset=4a120
patch: 0 ==> b6fb73b4 @ b6fb7120
opterr
value=4a3b0 size=4 info=11 other=0 shndx=14
15 offset=4a108
patch: 0 ==> b6fb73b0 @ b6fb7108
optarg
value=4f1e4 size=4 info=11 other=0 shndx=15
15 offset=4a104
patch: 0 ==> b6fbc1e4 @ b6fb7104
optopt
value=4a3ac size=4 info=11 other=0 shndx=14
15 offset=4a15c
patch: 0 ==> b6fb73ac @ b6fb715c
__pthread_cleanup_upto
value=0 size=0 info=20 other=0 shndx=0
15 offset=4a0dc
patch: 0 ==> 0 @ b6fb70dc
_dl_loaded_modules
value=0 size=0 info=11 other=0 shndx=0
15 offset=4a11c
patch: 0 ==> b6f6c03c @ b6fb711c
__pthread_initialize_minimal
value=32270 size=340 info=12 other=0 shndx=b
15 offset=4a124
patch: 0 ==> b6f9f270 @ b6fb7124
17 offset=4a100
patch: 2cc48 ==> b6f99c48 @ b6fb7100
17 offset=4a168
patch: 1919c ==> b6f8619c @ b6fb7168
_dl_pagesize
value=0 size=0 info=11 other=0 shndx=0
15 offset=4a174
patch: 0 ==> b6f6c068 @ b6fb7174
_dl_secure
value=0 size=0 info=11 other=0 shndx=0
15 offset=4a0f4
patch: 0 ==> b6f6c004 @ b6fb70f4
__progname_full
value=4a3bc size=4 info=11 other=0 shndx=14
15 offset=4a17c
patch: 0 ==> b6fb73bc @ b6fb717c
__progname
value=4a3c0 size=4 info=11 other=0 shndx=14
15 offset=4a12c
patch: 0 ==> b6fb73c0 @ b6fb712c
__errno_location
value=9e00 size=18 info=22 other=0 shndx=b
15 offset=4a164
patch: 0 ==> b6f76e00 @ b6fb7164
__h_errno_location
value=9e18 size=18 info=22 other=0 shndx=b
15 offset=4a148
patch: 0 ==> b6f76e18 @ b6fb7148
_pthread_cleanup_push_defer
value=2a2d0 size=74 info=22 other=0 shndx=b
15 offset=4a140
patch: 0 ==> b6f972d0 @ b6fb7140
__resp
value=0 size=4 info=16 other=0 shndx=f
13 offset=4a178
patch: 0 ==> 10 @ b6fb7178
__locale_mmap
value=4a400 size=4 info=11 other=0 shndx=14
15 offset=4a0e8
patch: 0 ==> b6fb7400 @ b6fb70e8
13 offset=4a128
patch: 0 ==> 10 @ b6fb7128
__libc_stack_end
value=0 size=0 info=11 other=0 shndx=0
15 offset=4a0ec
patch: 0 ==> b6f6c02c @ b6fb70ec
_dl_error_catch_tsd
value=0 size=0 info=11 other=0 shndx=0
15 offset=4a134
patch: 0 ==> b6f6c0a0 @ b6fb7134
__libc_dl_error_tsd
value=32d28 size=18 info=12 other=0 shndx=b
15 offset=4a138
patch: 0 ==> b6f9fd28 @ b6fb7138
_dl_init_static_tls
value=0 size=0 info=11 other=0 shndx=0
15 offset=4a158
patch: 0 ==> b6f6c0ac @ b6fb7158
13 offset=4a0d8
patch: c ==> 1c @ b6fb70d8
__libc_sigaction
value=55b0 size=84 info=12 other=0 shndx=b
16 offset=4a00c
patch: 5338 ==> b6f72338 @ b6fb700c
__pthread_cleanup_upto
value=0 size=0 info=20 other=0 shndx=0
16 offset=4a010
patch: 5338 ==> b6f72338 @ b6fb7010
getrlimit
value=2ad54 size=30 info=12 other=0 shndx=b
16 offset=4a014
patch: 5338 ==> b6f72338 @ b6fb7014
if_indextoname
value=1e334 size=90 info=12 other=0 shndx=b
16 offset=4a018
patch: 5338 ==> b6f72338 @ b6fb7018
sysconf
value=25ae8 size=824 info=12 other=0 shndx=b
16 offset=4a01c
patch: 5338 ==> b6f72338 @ b6fb701c
munmap
value=2a4cc size=30 info=12 other=0 shndx=b
16 offset=4a020
patch: 5338 ==> b6f72338 @ b6fb7020
sched_getparam
value=32740 size=30 info=12 other=0 shndx=b
16 offset=4a024
patch: 5338 ==> b6f72338 @ b6fb7024
_dl_app_init_array
value=0 size=0 info=12 other=0 shndx=0
16 offset=4a028
patch: 5338 ==> b6f72338 @ b6fb7028
getpagesize
value=5b70 size=10 info=12 other=0 shndx=b
16 offset=4a02c
patch: 5338 ==> b6f72338 @ b6fb702c
getpid
value=26a48 size=10 info=22 other=0 shndx=b
16 offset=4a030
patch: 5338 ==> b6f72338 @ b6fb7030
memcpy
value=1bce0 size=4 info=12 other=0 shndx=b
16 offset=4a034
patch: 5338 ==> b6f72338 @ b6fb7034
malloc
value=2261c size=95c info=12 other=0 shndx=b
16 offset=4a038
patch: 5338 ==> b6f72338 @ b6fb7038
sched_setscheduler
value=32864 size=30 info=12 other=0 shndx=b
16 offset=4a03c
patch: 5338 ==> b6f72338 @ b6fb703c
sysinfo
value=60b4 size=30 info=12 other=0 shndx=b
16 offset=4a040
patch: 5338 ==> b6f72338 @ b6fb7040
_dl_deallocate_tls
value=0 size=0 info=12 other=0 shndx=0
16 offset=4a044
patch: 5338 ==> b6f72338 @ b6fb7044
__libc_longjmp
value=5e44 size=40 info=12 other=0 shndx=b
16 offset=4a048
patch: 5338 ==> b6f72338 @ b6fb7048
sched_getscheduler
value=32770 size=30 info=12 other=0 shndx=b
16 offset=4a04c
patch: 5338 ==> b6f72338 @ b6fb704c
__libc_pthread_init
value=32cf0 size=38 info=12 other=0 shndx=b
16 offset=4a050
patch: 5338 ==> b6f72338 @ b6fb7050
_pthread_cleanup_pop_restore
value=2a344 size=d4 info=22 other=0 shndx=b
16 offset=4a054
patch: 5338 ==> b6f72338 @ b6fb7054
mempcpy
value=1c0fc size=18 info=22 other=0 shndx=b
16 offset=4a058
patch: 5338 ==> b6f72338 @ b6fb7058
mmap
value=2aaa4 size=68 info=12 other=0 shndx=b
16 offset=4a05c
patch: 5338 ==> b6f72338 @ b6fb705c
abort
value=231c4 size=110 info=12 other=0 shndx=b
16 offset=4a060
patch: 5338 ==> b6f72338 @ b6fb7060
__sigsetjmp
value=2a458 size=18 info=12 other=0 shndx=b
16 offset=4a064
patch: 5338 ==> b6f72338 @ b6fb7064
_dl_get_tls_static_info
value=0 size=0 info=12 other=0 shndx=0
16 offset=4a068
patch: 5338 ==> b6f72338 @ b6fb7068
calloc
value=230b8 size=10c info=12 other=0 shndx=b
16 offset=4a06c
patch: 5338 ==> b6f72338 @ b6fb706c
madvise
value=2a868 size=30 info=12 other=0 shndx=b
16 offset=4a070
patch: 5338 ==> b6f72338 @ b6fb7070
__pthread_initialize_minimal
value=32270 size=340 info=12 other=0 shndx=b
16 offset=4a074
patch: 5338 ==> b6f72338 @ b6fb7074
_dl_allocate_tls_init
value=0 size=0 info=12 other=0 shndx=0
16 offset=4a078
patch: 5338 ==> b6f72338 @ b6fb7078
__libc_dl_error_tsd
value=32d28 size=18 info=12 other=0 shndx=b
16 offset=4a07c
patch: 5338 ==> b6f72338 @ b6fb707c
get_avphys_pages
value=25aac size=3c info=12 other=0 shndx=b
16 offset=4a080
patch: 5338 ==> b6f72338 @ b6fb7080
sched_get_priority_max
value=327d0 size=30 info=12 other=0 shndx=b
16 offset=4a084
patch: 5338 ==> b6f72338 @ b6fb7084
realloc
value=21d4c size=374 info=12 other=0 shndx=b
16 offset=4a088
patch: 5338 ==> b6f72338 @ b6fb7088
sched_get_priority_min
value=327a0 size=30 info=12 other=0 shndx=b
16 offset=4a08c
patch: 5338 ==> b6f72338 @ b6fb708c
__getpagesize
value=5b70 size=10 info=12 other=0 shndx=b
16 offset=4a090
patch: 5338 ==> b6f72338 @ b6fb7090
_pthread_cleanup_push_defer
value=2a2d0 size=74 info=22 other=0 shndx=b
16 offset=4a094
patch: 5338 ==> b6f72338 @ b6fb7094
gettimeofday
value=6200 size=30 info=12 other=0 shndx=b
16 offset=4a098
patch: 5338 ==> b6f72338 @ b6fb7098
__pthread_unwind
value=2a27c size=48 info=12 other=0 shndx=b
16 offset=4a09c
patch: 5338 ==> b6f72338 @ b6fb709c
memset
value=1bb80 size=9c info=12 other=0 shndx=b
16 offset=4a0a0
patch: 5338 ==> b6f72338 @ b6fb70a0
get_phys_pages
value=25a70 size=3c info=12 other=0 shndx=b
16 offset=4a0a4
patch: 5338 ==> b6f72338 @ b6fb70a4
__syscall_rt_sigaction
value=6610 size=30 info=12 other=0 shndx=b
16 offset=4a0a8
patch: 5338 ==> b6f72338 @ b6fb70a8
__h_errno_location
value=9e18 size=18 info=22 other=0 shndx=b
16 offset=4a0ac
patch: 5338 ==> b6f72338 @ b6fb70ac
__res_state
value=31a14 size=18 info=12 other=0 shndx=b
16 offset=4a0b0
patch: 5338 ==> b6f72338 @ b6fb70b0
vfork
value=5660 size=40 info=22 other=0 shndx=b
16 offset=4a0b4
patch: 5338 ==> b6f72338 @ b6fb70b4
_dl_allocate_tls
value=0 size=0 info=12 other=0 shndx=0
16 offset=4a0b8
patch: 5338 ==> b6f72338 @ b6fb70b8
_dl_app_fini_array
value=0 size=0 info=12 other=0 shndx=0
16 offset=4a0bc
patch: 5338 ==> b6f72338 @ b6fb70bc
__errno_location
value=9e00 size=18 info=22 other=0 shndx=b
16 offset=4a0c0
patch: 5338 ==> b6f72338 @ b6fb70c0
exit
value=24bd8 size=a0 info=12 other=0 shndx=b
16 offset=4a0c4
patch: 5338 ==> b6f72338 @ b6fb70c4
_setjmp
value=5634 size=8 info=12 other=0 shndx=b
16 offset=4a0c8
patch: 5338 ==> b6f72338 @ b6fb70c8
clone
value=2a470 size=5c info=22 other=0 shndx=b
16 offset=4a0cc
patch: 5338 ==> b6f72338 @ b6fb70cc
mprotect
value=2a4fc size=30 info=12 other=0 shndx=b
16 offset=4a0d0
patch: 5338 ==> b6f72338 @ b6fb70d0
free
value=22384 size=224 info=12 other=0 shndx=b
16 offset=4a0d4
patch: 5338 ==> b6f72338 @ b6fb70d4_dl_fixup:1017: relocation processing:
./libtest.so
__cxa_finalize
value=0 size=0 info=22 other=0 shndx=0
15 offset=1101c
patch: 0 ==> b6f91978 @ b6fce01c
__deregister_frame_info
value=0 size=0 info=20 other=0 shndx=0
15 offset=11020
patch: 0 ==> 0 @ b6fce020
_ITM_registerTMCloneTable
value=0 size=0 info=20 other=0 shndx=0
15 offset=11024
patch: 0 ==> 0 @ b6fce024
_ITM_deregisterTMCloneTable
value=0 size=0 info=20 other=0 shndx=0
15 offset=11028
patch: 0 ==> 0 @ b6fce028
_Jv_RegisterClasses
value=0 size=0 info=20 other=0 shndx=0
15 offset=1102c
patch: 0 ==> 0 @ b6fce02c
__register_frame_info
value=0 size=0 info=20 other=0 shndx=0
15 offset=11030
patch: 0 ==> 0 @ b6fce030
puts
value=0 size=0 info=12 other=0 shndx=0
16 offset=1100c
patch: 454 ==> b6fbd454 @ b6fce00c
__cxa_finalize
value=0 size=0 info=22 other=0 shndx=0
16 offset=11010
patch: 454 ==> b6fbd454 @ b6fce010
__deregister_frame_info
value=0 size=0 info=20 other=0 shndx=0
16 offset=11014
patch: 454 ==> b6fbd454 @ b6fce014
__register_frame_info
value=0 size=0 info=20 other=0 shndx=0
16 offset=11018
patch: 454 ==> b6fbd454 @ b6fce018do_dlopen():654: running ctors for
library /lib/libc.so.0 at '0xb6f93d18'
resolve function: __pthread_initialize_minimal patch b6f72338 ==> b6f9f270
@ b6fb7074
resolve function: __libc_sigaction patch b6f72338 ==> b6f725b0 @ b6fb700c
resolve function: __syscall_rt_sigaction patch b6f72338 ==> b6f73610 @
b6fb70a8
resolve function: __libc_sigaction patch b6f72338 ==> b6f725b0 @ b6fb700c
resolve function: __syscall_rt_sigaction patch b6f72338 ==> b6f73610 @
b6fb70a8
resolve function: _dl_get_tls_static_info patch b6f72338 ==> b6f54338 @
b6fb7068
resolve function: getrlimit patch b6f72338 ==> b6f97d54 @ b6fb7014
resolve function: sysconf patch b6f72338 ==> b6f92ae8 @ b6fb701c
resolve function: __libc_dl_error_tsd patch b6f72338 ==> b6f9fd28 @
b6fb707cSegmentation fault
Hsu Hau
More information about the uClibc
mailing list