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