Carmelo AMOROSO
2008-01-11 13:14:47 UTC
Hi All,
I'm facing a problem when statically linking an app with
sh4-linux-uclibc-g++
caused by the missing symbol dl_iterate_phdr as below:
sh4-linux-uclibc-g++ -static main.c
/opt/STM/STLinux-2.3/devkit/sh4_uclibc/lib/gcc/sh4-linux-uclibc/4.2.1/libgcc_eh.a(unwind-dw2-fde-glibc.o):
In function `_Unwind_Find_FDE':
/home/macaroni/users/products/stm2.3/build/packages/stm-cross-gcc-sh4_uclibc/BUILD/gcc-4.2.1/objdir/gcc/../../gcc/unwind-dw2-fde-glibc.c:430:
undefined reference to `dl_iterate_phdr'
Indeed the symbols is defined into the ld.so (not used when statically
linked) and into libdl.a
but, being libgcc_eh.a requiring this symbol, it will not find it even
if -ldl is passed.
I've checked glibc and found that dl_iterate_phdr in into libc instead
od ld.so and libdl.a
A comment in uclibc dl-elf.c says explicitly:
"we want this in ld.so and libdl.a but nowhere else"
Could someone explain this to me ? I need to fix immediately into
uclibc-nptl sh4
adding the symbol into the libc too, as it is required by an our
customer on production,
but I'd like to have a common fix also for the trunk.
Cheers,
Carmelo
I'm facing a problem when statically linking an app with
sh4-linux-uclibc-g++
caused by the missing symbol dl_iterate_phdr as below:
sh4-linux-uclibc-g++ -static main.c
/opt/STM/STLinux-2.3/devkit/sh4_uclibc/lib/gcc/sh4-linux-uclibc/4.2.1/libgcc_eh.a(unwind-dw2-fde-glibc.o):
In function `_Unwind_Find_FDE':
/home/macaroni/users/products/stm2.3/build/packages/stm-cross-gcc-sh4_uclibc/BUILD/gcc-4.2.1/objdir/gcc/../../gcc/unwind-dw2-fde-glibc.c:430:
undefined reference to `dl_iterate_phdr'
Indeed the symbols is defined into the ld.so (not used when statically
linked) and into libdl.a
but, being libgcc_eh.a requiring this symbol, it will not find it even
if -ldl is passed.
I've checked glibc and found that dl_iterate_phdr in into libc instead
od ld.so and libdl.a
A comment in uclibc dl-elf.c says explicitly:
"we want this in ld.so and libdl.a but nowhere else"
Could someone explain this to me ? I need to fix immediately into
uclibc-nptl sh4
adding the symbol into the libc too, as it is required by an our
customer on production,
but I'd like to have a common fix also for the trunk.
Cheers,
Carmelo