public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* Re: other/3796: IA64 undefined references in shared libraries linked with -Bsymbolic
@ 2001-11-16 9:26 wilson
0 siblings, 0 replies; 3+ messages in thread
From: wilson @ 2001-11-16 9:26 UTC (permalink / raw)
To: W.Stuehlmeyer, gcc-bugs, gcc-gnats, gcc-prs, nobody, wilson
Synopsis: IA64 undefined references in shared libraries linked with -Bsymbolic
Responsible-Changed-From-To: unassigned->wilson
Responsible-Changed-By: wilson
Responsible-Changed-When: Tue Nov 20 22:53:16 2001
Responsible-Changed-Why:
IA-64 maintainer
State-Changed-From-To: open->closed
State-Changed-By: wilson
State-Changed-When: Tue Nov 20 22:53:16 2001
State-Changed-Why:
For IA-64, gcc 3.0.1 is not ABI compatible with gcc 3.0.
Likewise, gcc 3.0.2 is not ABI compatible with 3.0.1.
IA-64 gcc development was not finished before the gcc3
release process started, so our choice was to tell everybody
not to use GCC3, or to try to finish it during the gcc3
release process and warn people about ABI compatibilities.
We choose the latter approach.
I don't have a copy of the SuSE OS release, but it sounds
like it was built using gcc-3.0. Thus gcc-3.0.1 is not
supported on this system. It will work most of the time,
but it will fail in some cases when trying to link gcc-3.0
compiled shared libraries into gcc-3.0.1 compiled
applications. That is exactly the problem you ran into.
The only good solution is to recompile all system libraries
(e.g. glibc) with gcc-3.0.1, but that will be difficult and
time consuming. It is probably better to not use 3.0.1,
or wait for a new OS release built using a later compiler.
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=3796&database=gcc
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: other/3796: IA64 undefined references in shared libraries linked with -Bsymbolic
@ 2001-11-16 9:29 wilson
0 siblings, 0 replies; 3+ messages in thread
From: wilson @ 2001-11-16 9:29 UTC (permalink / raw)
To: wilson; +Cc: gcc-prs
The following reply was made to PR other/3796; it has been noted by GNATS.
From: wilson@gcc.gnu.org
To: W.Stuehlmeyer@t-online.de, gcc-bugs@gcc.gnu.org, gcc-gnats@gcc.gnu.org,
gcc-prs@gcc.gnu.org, nobody@gcc.gnu.org, wilson@gcc.gnu.org
Cc:
Subject: Re: other/3796: IA64 undefined references in shared libraries linked with -Bsymbolic
Date: 21 Nov 2001 06:53:16 -0000
Synopsis: IA64 undefined references in shared libraries linked with -Bsymbolic
Responsible-Changed-From-To: unassigned->wilson
Responsible-Changed-By: wilson
Responsible-Changed-When: Tue Nov 20 22:53:16 2001
Responsible-Changed-Why:
IA-64 maintainer
State-Changed-From-To: open->closed
State-Changed-By: wilson
State-Changed-When: Tue Nov 20 22:53:16 2001
State-Changed-Why:
For IA-64, gcc 3.0.1 is not ABI compatible with gcc 3.0.
Likewise, gcc 3.0.2 is not ABI compatible with 3.0.1.
IA-64 gcc development was not finished before the gcc3
release process started, so our choice was to tell everybody
not to use GCC3, or to try to finish it during the gcc3
release process and warn people about ABI compatibilities.
We choose the latter approach.
I don't have a copy of the SuSE OS release, but it sounds
like it was built using gcc-3.0. Thus gcc-3.0.1 is not
supported on this system. It will work most of the time,
but it will fail in some cases when trying to link gcc-3.0
compiled shared libraries into gcc-3.0.1 compiled
applications. That is exactly the problem you ran into.
The only good solution is to recompile all system libraries
(e.g. glibc) with gcc-3.0.1, but that will be difficult and
time consuming. It is probably better to not use 3.0.1,
or wait for a new OS release built using a later compiler.
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=3796&database=gcc
^ permalink raw reply [flat|nested] 3+ messages in thread
* other/3796: IA64 undefined references in shared libraries linked with -Bsymbolic
@ 2001-07-24 11:06 W.Stuehlmeyer
0 siblings, 0 replies; 3+ messages in thread
From: W.Stuehlmeyer @ 2001-07-24 11:06 UTC (permalink / raw)
To: gcc-gnats
>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:
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2001-11-21 6:56 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-11-16 9:26 other/3796: IA64 undefined references in shared libraries linked with -Bsymbolic wilson
-- strict thread matches above, loose matches on Subject: below --
2001-11-16 9:29 wilson
2001-07-24 11:06 W.Stuehlmeyer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).