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

Reply via email to