other/3796: IA64 undefined references in shared libraries linked with -Bsymbolic
W.Stuehlmeyer@t-online.de
W.Stuehlmeyer@t-online.de
Tue Jul 24 11:06:00 GMT 2001
>Number: 3796
>Category: other
>Synopsis: IA64 undefined references in shared libraries linked with -Bsymbolic
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue Jul 24 11:06:02 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator: Wolfgang Stuehlmeyer
>Release: gcc-20010716
>Organization:
>Environment:
SuSE linux 7.2 beta on ia64
Reading specs from /usr/local/lib/gcc-lib/ia64-suse-linux/3.0.1/specs
Configured with: ./configure --enable-threads=posix --enable-shared --enable-checking --enable-nls --prefix=/usr/local --with-local-prefix=/usr/local --infodir=/usr/local/info --mandir=/usr/local/man --with-gxx-include-dir=/usr/local/include/g++-v3 ia64-suse-linux
Thread model: posix
gcc version Snapshot 20010716
>Description:
Build shared library:
=====================
g++ -o /home/ole/cool.WHITE/viking/pcwsr3_ia64_linux_libc6_debug/lib/libmutant.so \
obj/pcwsr3_ia64_linux_libc6_debug/mutant_def.o \
-shared -Wl,-soname,libmutant.so,-Bsymbolic \
-g \
-L/home/ole/cool.WHITE/viking/pcwsr3_ia64_linux_libc6_debug/lib \
-L/home/ole/cool.BLACK/viking/pcwsr3_ia64_linux_libc6_debug/lib \
\
obj/pcwsr3_ia64_linux_libc6_debug/libmutant.a \
../../local/unix/obj/pcwsr3_ia64_linux_libc6_debug/liblocal.a \
../../common/unix/obj/pcwsr3_ia64_linux_libc6_debug/libcommon.a \
../../vmem/unix/obj/pcwsr3_ia64_linux_libc6_debug/libvmem.a \
../../version/unix/obj/pcwsr3_ia64_linux_libc6_debug/libversion.a \
../../os/unix/obj/pcwsr3_ia64_linux_libc6_debug/libosdep.a \
../../runtime/unix/obj/pcwsr3_ia64_linux_libc6_debug/libcrt.a \
\
-lcoolcrypto -ltrace \
\
-L/home/ole/cool.WHITE/viking/pcwsr3_ia64_linux_libc6_debug/lib \
-L/home/ole/cool.BLACK/viking/pcwsr3_ia64_linux_libc6_debug/lib \
\
-ldl -lc -lpthread `gcc --print-libgcc-file` \
\
| c++filt
/usr/local/lib/gcc-lib/ia64-suse-linux/3.0.1/libgcc.a(fde-glibc.o): In function `_Unwind_FindTableEntry':
fde-glibc.o(.text+0x3c1): undefined reference to `__ia64_app_header'
fde-glibc.o(.text+0x451): undefined reference to `_dl_load_lock'
fde-glibc.o(.text+0x480): undefined reference to `_dl_loaded'
fde-glibc.o(.text+0x531): undefined reference to `_dl_load_lock'
collect2: ld returned 1 exit status
The error appears only with the -Bsymbolic linker switch in
some libraries (not in all). I found all unresolved externals
in the gcc 3.0 archive libgcc.a
How should i understand the comments in gcc/config/ia64/fde-glibc.c?
The code should be added into static link applications,
but not into symbolic linked shared libraries?
The variable __ia64_app_header is included in crtbegin.asm only and
crtbegin.o will be used from applications only.
I don't know how to repeat the problem with a small shared
library.
>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the Gcc-prs
mailing list