On 15 June 2012 04:54, Kevin Cernekee <[email protected]> wrote: > On Wed, Jun 13, 2012 at 12:58 AM, Bernhard Reutner-Fischer > <[email protected]> wrote: >> On Tue, Jun 12, 2012 at 04:52:21PM +0100, Carmelo AMOROSO wrote: >>>On 07/06/2012 19.32, Kevin Cernekee wrote: >>>> Move the AS_NEEDED insertion into libc/Makefile.in, and add a case to >>>> the HARDWIRED_ABSPATH substitution command so libubacktrace is handled >>>> the same way as the other libraries listed in the script. >>> >>>Looks fine to me. >>> >> >> Applied, thanks! > > Unfortunately it looks like this could cause some problems when > bootstrapping a new toolchain. If the libc.so script references > libubacktrace, but libubacktrace.so.0 is not yet installed anywhere, > gcc will throw an error during the final link on the other shared > libraries: > > rm -f lib/libdl.so lib/libdl.so.0 lib/libdl-0.9.32.1.so > arm-linux-uclibcgnueabi-gcc -Wl,-EL -shared -Wl,--warn-common > -Wl,--warn-once -Wl,-z,combreloc -Wl,-z,relro -Wl,-z,defs > -Wl,-fini,dl_cleanup -Wl,-soname=libdl.so.0 -nostdlib -o > lib/libdl-0.9.32.1.so -Wl,--whole-archive ldso/libdl/libdl_so.a > -Wl,--no-whole-archive ./lib/interp.os -L./lib ./lib/libc.so > ./lib/ld-uClibc.so.0 > /ssd/test/bin/../lib/gcc/arm-linux-uclibcgnueabi/4.5.3/libgcc.a > /ssd/test/bin/../lib/gcc/arm-linux-uclibcgnueabi/4.5.3/libgcc_eh.a > /ssd/test/bin/../lib/gcc/arm-linux-uclibcgnueabi/4.5.3/../../../../arm-linux-uclibcgnueabi/bin/ld: > cannot find libubacktrace.so.0 > collect2: ld returned 1 exit status > make[1]: *** [lib/libdl.so] Error 1 > > > I did not see this earlier because -nostdlib doesn't actually keep gcc > from passing ld "-L" arguments pointing into the sysroot directories. > So it saw my existing libubacktrace.so.0 from the installed sysroot > and did not complain that libubacktrace.so.0 was missing from the > uClibc build tree. > > Maybe we will need to revert back to this technique, at least in some form? > > -# Add the AS_NEEDED entry for libubacktrace.so > - if [ -f $(top_builddir)lib/libc.so -a -f > $(PREFIX)$(RUNTIME_PREFIX)$(MULTILIB_DIR)/$(SHARED_LIBNAME) ] ; then \ > - echo "GROUP ( $(UBACKTRACE_ASNEEDED) )" >> > $(PREFIX)$(DEVEL_PREFIX)$(MULTILIB_DIR)/libc.so; \ > - fi > -endif > > I would appreciate any feedback/suggestions.
What a mess. Carmelo, can you suggest a proper fix please (as quick-fix i put the static lib into the libc script just to make it link). TIA, _______________________________________________ uClibc mailing list [email protected] http://lists.busybox.net/mailman/listinfo/uclibc
