I'm seeing a weird problem, and any help would be appreciated. The summary is I create an executable which preloads a library, but there is no lt_preloaded_symbols generated.
First, libtool is invoked to build libsidcpu.la from object files: /bin/sh ./libtool --mode=link g++ -all-static -o libsidcpu.la -rpath /scratch2/tmorita/sid/ubicom-distro/toolchain-src/install/lib/sidlib -module -no-undefined simwcpu.lo cfgroot_interface.lo ubicom32/libsidubicom32.la -L../../../libiberty -liberty -lm rm -fr .libs/libsidcpu.a .libs/libsidcpu.la .libs/libsidcpu.lai .libs/libsidcpu.so .libs/libsidcpu.so.0 .libs/libsidcpu.so.0.0.0 rm -fr .libs/libsidcpu.lax mkdir .libs/libsidcpu.lax rm -fr .libs/libsidcpu.lax/libsidubicom32.a mkdir .libs/libsidcpu.lax/libsidubicom32.a (cd .libs/libsidcpu.lax/libsidubicom32.a && ar x /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/main/sidlib/ubicom32/.libs/libsidubicom32.a) ar rc .libs/libsidcpu.a simwcpu.o cfgroot_interface.o .libs/libsidcpu.lax/libsidubicom32.a/ubicom32mainplustimer.o .libs/libsidcpu.lax/libsidubicom32.a/ubicom32cpu.o ranlib .libs/libsidcpu.a rm -fr .libs/libsidcpu.lax creating libsidcpu.la (cd .libs && rm -f libsidcpu.la && ln -s ../libsidcpu.la libsidcpu.la) Next, libtool is invoked to build libsid.la which -dlpreopens libsidcpu.la: /bin/sh ./libtool --mode=link g++ -all-static -o libsid.la -rpath /scratch2/tmorita/sid/ubicom-distro/toolchain-src/install/lib/sidlib -export-dynamic -static -export-symbols-regex '[a-zA-Z0-9]*_library$' -dlpreopen libsidcpu.la sidlib.lo /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/audio/libaudio.la /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/cache/libcache.la /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/cfgroot/libconfig.la /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/cgen-cpu/libcgencpu.la /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/consoles/libconsoles.la /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/gdb/libgdb.la /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/glue/libglue.la /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/gloss/libgloss.la /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/glue/libglue.la /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/ide/libide.la /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/interrupt/libinterrupt.la /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/lcd/libhd44780u.la /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/lcd/liblcd-char-display.la /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/lcd/libt6963c.la /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/loader/libloader.la /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/mailbox/libmailbox.la /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/mapper/libmapper.la /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/memory/libmemory.la /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/mmu/libmmu.la /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/parport/libparport.la /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/profiling/libprof.la /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/rtc/librtc.la /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/sched/libsched.la /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/tcl/libtclapi.la /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/timers/libtimers.la /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/uart/libuart.la -lm rm -fr .libs/libsid.a .libs/libsid.la .libs/libsid.lai ar rc .libs/libsid.a sidlib.o ranlib .libs/libsid.a creating libsid.la (cd .libs && rm -f libsid.la && ln -s ../libsid.la libsid.la) Finally, libtool is used to build simrefcompare, but there is no lt_preloaded_symbols generated: (It's using libtool-1.5.18 because I was trying different versions of libtool to attempt to resolve the problem) make: Warning: File `Makefile' has modification time 4.9 s in the future obj/StateChange.o obj/StateTrace.o obj/SidRefCompareUtilities.o /home/tmorita/src/libtool-1.5.18/libtool --tag=CXX --mode=link g++ -Wall -g -o SidRefCompare -export-dynamic /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/main/sidlib/libsid.la /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/libiberty/libiberty.a -Ispec -I/eng/tools/ubicom32tools/include obj/StateChange.o obj/StateTrace.o obj/SidRefCompareUtilities.o body/SidRefCompare.cpp *** Warning: Linking the executable SidRefCompare against the loadable module *** libsidcpu.so is not portable! .... *** Warning: Linking the executable SidRefCompare against the loadable module *** libtimers.so is not portable! *** Warning: Linking the executable SidRefCompare against the loadable module *** libuart.so is not portable! rm -f .libs/SidRefCompare.nm .libs/SidRefCompare.nmS .libs/SidRefCompare.nmT creating .libs/SidRefCompareS.c extracting global C symbols from `/scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/main/sidlib/.libs/libsidcpu.a' (cd .libs && gcc -c -fno-builtin "SidRefCompareS.c") rm -f .libs/SidRefCompareS.c .libs/SidRefCompare.nm .libs/SidRefCompare.nmS .libs/SidRefCompare.nmT g++ -Wall -g -o .libs/SidRefCompare -Ispec -I/eng/tools/ubicom32tools/include obj/StateChange.o obj/StateTrace.o obj/SidRefCompareUtilities.o body/SidRefCompare.cpp -Wl,--export-dynamic /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/main/sidlib/.libs/libsidcpu.so -L/scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/libiberty /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/main/sidlib/.libs/libsid.a /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/audio/.libs/libaudio.so /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/cache/.libs/libcache.so /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/cfgroot/.libs/libconfig.a /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/cgen-cpu/.libs/libcgencpu.so -L/scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/libiberty/pic -lpthread /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/consoles/.libs/libconsoles.so -lnsl /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/gdb/.libs/libgdb.so /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/gloss/.libs/libgloss.so /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/glue/.libs/libglue.so /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/ide/.libs/libide.so /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/interrupt/.libs/libinterrupt.so /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/lcd/.libs/libhd44780u.so /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/lcd/.libs/liblcd-char-display.so -lcurses /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/lcd/.libs/libt6963c.so /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/loader/.libs/libloader.so -liberty /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/mailbox/.libs/libmailbox.so /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/mapper/.libs/libmapper.so /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/memory/.libs/libmemory.so /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/mmu/.libs/libmmu.so /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/parport/.libs/libparport.so /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/profiling/.libs/libprof.so /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/rtc/.libs/librtc.so /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/sched/.libs/libsched.so /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/tcl/.libs/libtclapi.so -L/scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/tcl/unix -ltcl8.4 -L/scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/tk/unix -ltk8.4 -ldl /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/timers/.libs/libtimers.so /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/uart/.libs/libuart.so /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/libiberty/libiberty.a -Wl,--rpath -Wl,/scratch2/tmorita/sid/ubicom-distro/toolchain-src/install/lib/sidlib -Wl,--rpath -Wl,/scratch2/tmorita/sid/ubicom-distro/toolchain-src/install/lib/sidcomp /scratch2/tmorita/sid/ubicom-distro/toolchain-src/build/ubicom32-elf/sid/component/cfgroot/.libs/libconfig.a(compConfig.o): In function `cfgroot_component': /scratch2/tmorita/sid/ubicom-distro/toolchain-src/sid/component/cfgroot/compConfig.cxx:603: undefined reference to `lt_preloaded_symbols' /scratch2/tmorita/sid/ubicom-distro/toolchain-src/sid/component/cfgroot/compConfig.cxx:603: undefined reference to `lt_preloaded_symbols' collect2: ld returned 1 exit status make: *** [SidRefCompare] Error 1 [thor]/home/jupiter/tmorita/jupiter_new/env/src/svc/sidrefcompare 228 % Is there an obvious reason why lt_preloaded_symbols is not generated even though -dlpreopen is specified? Toshi
_______________________________________________ http://lists.gnu.org/mailman/listinfo/libtool