This is the mail archive of the libc-alpha@cygnus.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Bugreport libc/773+772



Hi,

we've got the appended bug reports.  The reported problem looks like
either a bug in gcc 2.8.1 or in binutils 2.9.1 with symbol versioning.

Has anybody a real solution?  I've appended my answer but don't
think it's perfect.

Cheers,
Andreas
-- 
 Andreas Jaeger   aj@arthur.rhein-neckar.de    jaeger@informatik.uni-kl.de
  for pgp-key finger ajaeger@aixd1.rhrk.uni-kl.de


Topics:
   libc/772: Glibc-2.0.95 fails to build with symbol versioning enabled.
   libc/773: GCC linked against 2.0.6 doesn't work with 2.0.95, thus effectively making migration impossible
   Re: libc/773: GCC linked against 2.0.6 doesn't work with 2.0.95, thus effectively making migration impossible


----------------------------------------------------------------------

Date: Wed, 2 Sep 1998 05:50:28 -0400
From: qinglong@Bolizm.ihep.su
To: bugs@gnu.org
Subject: libc/772: Glibc-2.0.95 fails to build with symbol versioning enabled.
Message-Id: <199809020950.FAA29804@delysid.gnu.org>


>Number:         772
>Category:       libc
>Synopsis:       Glibc-2.0.95 fails to build with symbol versioning enabled.
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    libc-gnats
>State:          open
>Class:          sw-bug
>Submitter-Id:   unknown
>Arrival-Date:   Wed Sep 02 07:00:04 EDT 1998
>Last-Modified:
>Originator:     qinglong@Bolizm.ihep.su
>Organization:
net
>Release:        2.0.95
>Environment:
Linux. Home brewn installation (originally Slackware 1 dustribution).
Kernel 2.1.115, glibc 2.0.6, gcc-2.8.1, binutils-2.9.1.
>Description:
Build process fails:
	/usr/i686-linux-libc6/bin/ld: /Dragon/tmp/Glibc2/glibc-2.0.95/build/iconvdata/ISO8859-1.so: undefined versioned symbol name _errno@@GLIBC_2.0
	/usr/i686-linux-libc6/bin/ld: failed to set dynamic section sizes: Bad value
	make[2]: *** [/Dragon/tmp/Glibc2/glibc-2.0.95/build/iconvdata/ISO8859-1.so] Error 1
>How-To-Repeat:
Try to build the glibc with symbol versioning enabled
>Fix:
>Audit-Trail:
>Unformatted:


------------------------------

Date: Wed, 2 Sep 1998 05:50:29 -0400
From: qinglong@Bolizm.ihep.su
To: bugs@gnu.org
Subject: libc/773: GCC linked against 2.0.6 doesn't work with 2.0.95, thus effectively making migration impossible
Message-Id: <199809020950.FAA29809@delysid.gnu.org>


>Number:         773
>Category:       libc
>Synopsis:       GCC linked against 2.0.6 doesn't work with 2.0.95, thus effectively making migration impossible
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    libc-gnats
>State:          open
>Class:          sw-bug
>Submitter-Id:   unknown
>Arrival-Date:   Wed Sep 02 07:00:14 EDT 1998
>Last-Modified:
>Originator:     qinglong@Bolizm.ihep.su
>Organization:
net
>Release:        2.0.95
>Environment:
Linux. Home brewn installation (originally Slackware 1 dustribution).
Kernel 2.1.115, glibc 2.0.6, gcc-2.8.1, binutils-2.9.1.
>Description:
During glibc installation (as primary libc) while running last script
gcc (and almost all other binaries) linked against 2.0.6 fails to run with 2.0.95
thus making migration impossible.
GCC crashes with the following error:
	gcc: error in loading shared libraries: gcc: undefined symbol: _IO_stdout_
Other binaries dislike new ld-linux dynamic loader. And so forth.
Note:
	I have to configure glibc-2.0.95 without symbol versioning as
	it fails to build with symbol versioning enabled (going to report it).
>How-To-Repeat:
Install 2.0.6 as system libc and try to migrate to 2.0.95
following instructions in INSTALL et al files
>Fix:
>Audit-Trail:
>Unformatted:


------------------------------

Date: 02 Sep 1998 16:31:13 +0200
From: Andreas Jaeger <aj@arthur.rhein-neckar.de>
To: qinglong@Bolizm.ihep.su
Cc: bugs@gnu.org
Subject: Re: libc/773: GCC linked against 2.0.6 doesn't work with 2.0.95, thus effectively making migration impossible
Message-ID: <u87lzmio26.fsf@arthur.rhein-neckar.de>
References: <199809020950.FAA29809@delysid.gnu.org>
Content-Type: text/plain; charset=US-ASCII

>>>>> qinglong  writes:

>> Number:         773
>> Category:       libc
>> Synopsis:       GCC linked against 2.0.6 doesn't work with 2.0.95, thus effectively making migration impossible

You have to use ld-linux.so and libdl, libc from the same glibc
version, you can't use the glibc 2.0.6 ld-linux and the glibc 2.0.95
libdl together (the other way should work).

If you compile glibc 2.0.95 with versioning support, you lose
compatibility with glibc 2.0.6 - therefore don't do it!

We should first try to find out, why glibc 2.0.95 doesn't build with
versioning for you.

Please apply the following patch to elf/Makefile and try to rebuild
glibc 2.0.95 (start with a fresh build directory).

Something went totally wrong - what's the output of: 
$ objdump -x /lib/libc-2.0.95.so |grep errno

Could you please rebuilding with egcs 1.1?  I remember some bug
reports where upgrading to egcs helped.

Please tell me your results!

Andreas

P.S. Please use next time the glibcbug script that comes with glibc
2.0.95 for reporting new bugs.  We'd like to have bugreports of the
glibc 2.1 prereleases mailed to a different address.

1998-07-30  Richard Henderson  <rth@cygnus.com>

	* elf/Makefile (ld-map): Move initialization below Makeconfig include.

Index: elf/Makefile
===================================================================
RCS file: /glibc/cvsfiles/libc/elf/Makefile,v
retrieving revision 1.95
retrieving revision 1.96
diff -u -r1.95 -r1.96
- -- Makefile	1998/07/27 17:42:09	1.95
+++ Makefile	1998/07/30 12:36:37	1.96
@@ -35,9 +35,6 @@
 # ld.so uses those routines, plus some special stuff for being the program
 # interpreter and operating independent of libc.
 rtld-routines	:= rtld $(dl-routines) dl-sysdep dl-environ dl-minimal
- ifeq ($(versioning),yes)
- ld-map		= $(common-objpfx)libc.map
- endif
 distribute	= $(rtld-routines:=.c) dynamic-link.h do-rel.h dl-machine.h \
 		  dl-hash.h soinit.c sofini.c ldd.sh.in ldd.bash.in eval.c \
 		  genrtldtbl.awk atomicity.h dl-procinfo.h ldsodefs.h \
@@ -53,6 +50,10 @@
 all: # Make this the default target; it will be defined in Rules.
 
 include ../Makeconfig
+
+ifeq ($(versioning),yes)
+ld-map		= $(common-objpfx)libc.map
+endif
 
 ifeq (yes,$(build-shared))
 extra-objs	= $(rtld-routines:=.os) soinit.os sofini.os eval.os interp.os

- - 
 Andreas Jaeger   aj@arthur.rhein-neckar.de    jaeger@informatik.uni-kl.de
  for pgp-key finger ajaeger@aixd1.rhrk.uni-kl.de

------------------------------

End of forward-9Ct_P Digest
***************************



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]