R: Re: Problem with dynamically linked executable on ARM
Fabrizio Gennari
fabrizio.ge at tiscali.it
Mon Jan 4 21:35:47 UTC 2010
>Configure uclibc with DODEBUG and SUPPORT_LD_DEBUG, and run your app with
>"LD_DEBUG=all ./app" to get more details.
OK. I did it. Here is the output, which looks unhelpful to me (hopefully it is not to expert people):
Regards,
Fabrizio
518:
518: file=libc.so.0; needed by ./a.out
518: find library=libc.so.0; searching
518: search path=./v4l/half:./v4l:./half:.
(LD_LIBRARY_PATH)
518: trying file=./v4l/half/libc.so.0
518: trying file=./v4l/libc.so.0
518: trying file=./half/libc.so.0
518: trying file=./libc.so.0
518:
518: file=libc.so.0; generating link map
518: dynamic: 0x40085f58 base: 0x4001e000 size: 0x0006c590
518: entry: 0x40025f80 phdr: 0x4001e034 phnum: 8
518:
518:
518: file=ld-uClibc.so.0; needed by ./libc.so.0
518: find library=ld-uClibc.so.0; searching
518: search path=./v4l/half:./v4l:./half:.
(LD_LIBRARY_PATH)
518: trying file=./v4l/half/ld-uClibc.so.0
518: trying file=./v4l/ld-uClibc.so.0
518: trying file=./half/ld-uClibc.so.0
518: trying file=./ld-uClibc.so.0
518:
518: file=ld-uClibc.so.0; generating link map
518: dynamic: 0x4009eef8 base: 0x4008b000 size: 0x000144b8
518: entry: 0x4008cd80 phdr: 0x4008b034 phnum: 6
518:
518:
518: relocation processing: ./ld-uClibc.so.0
518:
518: relocation processing: ./libc.so.0 (lazy)
518: symbol=_stdio_openlist_use_count; lookup in file=./a.out
518: symbol=_stdio_openlist_use_count; lookup in
file=./libc.so.0
518: binding file ./libc.so.0 to ./libc.so.0: normal symbol
`_stdio_openlist_use_count'
518: symbol=stdout; lookup in file=./a.out
518: symbol=stdout; lookup in file=./libc.so.0
518: binding file ./libc.so.0 to ./libc.so.0: normal symbol
`stdout'
518: symbol=daylight; lookup in file=./a.out
518: symbol=daylight; lookup in file=./libc.so.0
518: binding file ./libc.so.0 to ./libc.so.0: normal symbol
`daylight'
518: symbol=_time_tzlock; lookup in file=./a.out
518: symbol=_time_tzlock; lookup in file=./libc.so.0
518: binding file ./libc.so.0 to ./libc.so.0: normal symbol
`_time_tzlock'
518: symbol=re_syntax_options; lookup in file=./a.out
518: symbol=re_syntax_options; lookup in file=./libc.so.0
518: binding file ./libc.so.0 to ./libc.so.0: normal symbol
`re_syntax_options'
518: symbol=__ctype_b; lookup in file=./a.out
518: symbol=__ctype_b; lookup in file=./libc.so.0
518: binding file ./libc.so.0 to ./libc.so.0: normal symbol
`__ctype_b'
518: symbol=optarg; lookup in file=./a.out
518: symbol=optarg; lookup in file=./libc.so.0
518: binding file ./libc.so.0 to ./libc.so.0: normal symbol
`optarg'
518: symbol=opterr; lookup in file=./a.out
518: symbol=opterr; lookup in file=./libc.so.0
518: binding file ./libc.so.0 to ./libc.so.0: normal symbol
`opterr'
518: symbol=error_message_count; lookup in file=./a.out
518: symbol=error_message_count; lookup in file=./libc.so.0
518: binding file ./libc.so.0 to ./libc.so.0: normal symbol
`error_message_count'
518: symbol=__environ; lookup in file=./a.out
518: symbol=__environ; lookup in file=./libc.so.0
518: binding file ./libc.so.0 to ./libc.so.0: normal symbol
`__environ'
518: symbol=tzname; lookup in file=./a.out
518: symbol=tzname; lookup in file=./libc.so.0
518: binding file ./libc.so.0 to ./libc.so.0: normal symbol
`tzname'
518: symbol=error_print_progname; lookup in file=./a.out
518: symbol=error_print_progname; lookup in file=./libc.so.0
518: binding file ./libc.so.0 to ./libc.so.0: normal symbol
`error_print_progname'
518: symbol=__malloc_state; lookup in file=./a.out
518: symbol=__malloc_state; lookup in file=./libc.so.0
518: binding file ./libc.so.0 to ./libc.so.0: normal symbol
`__malloc_state'
518: symbol=__pthread_mutex_unlock; lookup in file=./a.out
518: symbol=__pthread_mutex_unlock; lookup in file=./libc.so.0
518: binding file ./libc.so.0 to ./libc.so.0: normal symbol
`__pthread_mutex_unlock'
518: symbol=__resolv_lock; lookup in file=./a.out
518: symbol=__resolv_lock; lookup in file=./libc.so.0
518: binding file ./libc.so.0 to ./libc.so.0: normal symbol
`__resolv_lock'
518: symbol=_stdio_openlist; lookup in file=./a.out
518: symbol=_stdio_openlist; lookup in file=./libc.so.0
518: binding file ./libc.so.0 to ./libc.so.0: normal symbol
`_stdio_openlist'
518: symbol=_stdio_openlist_del_count; lookup in file=./a.out
518: symbol=_stdio_openlist_del_count; lookup in
file=./libc.so.0
518: binding file ./libc.so.0 to ./libc.so.0: normal symbol
`_stdio_openlist_del_count'
518: symbol=_dl_loaded_modules; lookup in file=./a.out
518: symbol=_dl_loaded_modules; lookup in file=./libc.so.0
518: symbol=_dl_loaded_modules; lookup in file=./ld-uClibc.so.0
518: binding file ./libc.so.0 to ./ld-uClibc.so.0: normal
symbol `_dl_loaded_modules'
518: symbol=optind; lookup in file=./a.out
518: symbol=optind; lookup in file=./libc.so.0
518: binding file ./libc.so.0 to ./libc.so.0: normal symbol
`optind'
518: symbol=__pthread_initialize_minimal; lookup in
file=./a.out
518: symbol=__pthread_initialize_minimal; lookup in
file=./libc.so.0
518: symbol=__pthread_initialize_minimal; lookup in
file=./ld-uClibc.so.0
518: symbol=stdin; lookup in file=./a.out
518: symbol=stdin; lookup in file=./libc.so.0
518: binding file ./libc.so.0 to ./libc.so.0: normal symbol
`stdin'
518: symbol=_res; lookup in file=./a.out
518: symbol=_res; lookup in file=./libc.so.0
518: binding file ./libc.so.0 to ./libc.so.0: normal symbol
`_res'
518: symbol=timezone; lookup in file=./a.out
518: symbol=timezone; lookup in file=./libc.so.0
518: binding file ./libc.so.0 to ./libc.so.0: normal symbol
`timezone'
518: symbol=_stdio_user_locking; lookup in file=./a.out
518: symbol=_stdio_user_locking; lookup in file=./libc.so.0
518: binding file ./libc.so.0 to ./libc.so.0: normal symbol
`_stdio_user_locking'
518: symbol=__malloc_lock; lookup in file=./a.out
518: symbol=__malloc_lock; lookup in file=./libc.so.0
518: binding file ./libc.so.0 to ./libc.so.0: normal symbol
`__malloc_lock'
518: symbol=__default_sa_restorer; lookup in file=./a.out
518: symbol=__default_sa_restorer; lookup in file=./libc.so.0
518: binding file ./libc.so.0 to ./libc.so.0: normal symbol
`__default_sa_restorer'
518: symbol=__h_errno_location; lookup in file=./a.out
518: symbol=__h_errno_location; lookup in file=./libc.so.0
518: binding file ./libc.so.0 to ./libc.so.0: normal symbol
`__h_errno_location'
518: symbol=__default_rt_sa_restorer; lookup in file=./a.out
518: symbol=__default_rt_sa_restorer; lookup in
file=./libc.so.0
518: binding file ./libc.so.0 to ./libc.so.0: normal symbol
`__default_rt_sa_restorer'
518: symbol=stderr; lookup in file=./a.out
518: symbol=stderr; lookup in file=./libc.so.0
518: binding file ./libc.so.0 to ./libc.so.0: normal symbol
`stderr'
518: symbol=__atexit_lock; lookup in file=./a.out
518: symbol=__atexit_lock; lookup in file=./libc.so.0
518: binding file ./libc.so.0 to ./libc.so.0: normal symbol
`__atexit_lock'
518: symbol=optopt; lookup in file=./a.out
518: symbol=optopt; lookup in file=./libc.so.0
518: binding file ./libc.so.0 to ./libc.so.0: normal symbol
`optopt'
518: symbol=__pagesize; lookup in file=./a.out
518: symbol=__pagesize; lookup in file=./libc.so.0
518: binding file ./libc.so.0 to ./libc.so.0: normal symbol
`__pagesize'
518: symbol=_stdio_openlist_add_lock; lookup in file=./a.out
518: symbol=_stdio_openlist_add_lock; lookup in
file=./libc.so.0
518: binding file ./libc.so.0 to ./libc.so.0: normal symbol
`_stdio_openlist_add_lock'
518: symbol=re_max_failures; lookup in file=./a.out
518: symbol=re_max_failures; lookup in file=./libc.so.0
518: binding file ./libc.so.0 to ./libc.so.0: normal symbol
`re_max_failures'
518: symbol=__errno_location; lookup in file=./a.out
518: symbol=__errno_location; lookup in file=./libc.so.0
518: binding file ./libc.so.0 to ./libc.so.0: normal symbol
`__errno_location'
518: symbol=error_one_per_line; lookup in file=./a.out
518: symbol=error_one_per_line; lookup in file=./libc.so.0
518: binding file ./libc.so.0 to ./libc.so.0: normal symbol
`error_one_per_line'
518: symbol=_stdio_openlist_del_lock; lookup in file=./a.out
518: symbol=_stdio_openlist_del_lock; lookup in
file=./libc.so.0
518: binding file ./libc.so.0 to ./libc.so.0: normal symbol
`_stdio_openlist_del_lock'
518: symbol=__ctype_tolower; lookup in file=./a.out
518: symbol=__ctype_tolower; lookup in file=./libc.so.0
518: binding file ./libc.so.0 to ./libc.so.0: normal symbol
`__ctype_tolower'
518:
518: relocation processing: ./a.out (lazy)
518:
518: calling init: ./libc.so.0
518:
518: symbol=__errno_location; lookup in file=./a.out
518: symbol=__errno_location; lookup in file=./libc.so.0
518: binding file ./libc.so.0 to ./libc.so.0: normal symbol
`__errno_location'
518: symbol=__uClibc_main; lookup in file=./a.out
518: symbol=__uClibc_main; lookup in file=./libc.so.0
518: binding file ./a.out to ./libc.so.0: normal symbol
`__uClibc_main'
518: symbol=_dl_app_init_array; lookup in file=./a.out
518: symbol=_dl_app_init_array; lookup in file=./libc.so.0
518: symbol=_dl_app_init_array; lookup in file=./ld-uClibc.so.0
518: binding file ./libc.so.0 to ./ld-uClibc.so.0: normal
symbol `_dl_app_init_array'
Segmentation fault
More information about the uClibc
mailing list