[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#161788: marked as done (libc6 always loads i686 libraries from cache when available, ignoring the host arch)



Your message dated Thu, 03 Oct 2002 11:17:36 -0400
with message-id <E17x7jM-0008K8-00@auric.debian.org>
and subject line Bug#161700: fixed in glibc 2.2.5-15
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--------------------------------------
Received: (at submit) by bugs.debian.org; 21 Sep 2002 16:00:04 +0000
>From aps100@doc.ic.ac.uk Sat Sep 21 11:00:04 2002
Return-path: <aps100@doc.ic.ac.uk>
Received: from m28-mp1.cvx3-a.bre.dial.ntli.net (cyclone) [62.255.96.28] 
	by master.debian.org with esmtp (Exim 3.12 1 (Debian))
	id 17smfq-0000Ne-00; Sat, 21 Sep 2002 11:00:02 -0500
Received: from aps100 by cyclone with local (Exim 3.36 #1 (Debian))
	id 17smfn-0008Jb-00
	for <submit@bugs.debian.org>; Sat, 21 Sep 2002 16:59:59 +0100
Date: Sat, 21 Sep 2002 16:59:58 +0100
From: Andrew Suffield <asuffield@debian.org>
To: submit@bugs.debian.org
Subject: libc6 always loads i686 libraries from cache when available, ignoring the host arch
Message-ID: <20020921155958.GA31907@doc.ic.ac.uk>
Mime-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha1;
	protocol="application/pgp-signature"; boundary="PEIAKu/WMn1b1Hv9"
Content-Disposition: inline
User-Agent: Mutt/1.4i
X-Monty-Python: No-one expects the Spanish Inquisition!
X-Debbugs-CC: libssl0.9.6@packages.debian.org
Sender: Andrew Suffield <aps100@doc.ic.ac.uk>
Delivered-To: submit@bugs.debian.org


--PEIAKu/WMn1b1Hv9
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Package: libc6
Severity: grave

Here's a cute one. On any i386 platform, when there is an
i686-specific library in ld.so.cache, libc6 will prefer it over all
other libraries in the cache, even if the local system is really
i[345]86.

The problem is specific to cached libraries, and should not occur on
other architectures.

This causes the latest version of libssl to crash with SIGILL on
i[345]86 systems. It can be directly diagnosed by setting
LD_DEBUG=3Dlibs and looking at the first few lines generated when the
offending binary is run, and observing that /usr/lib/i686/libcrypto*
is being loaded from the cache.

When _dl_load_cache_lookup searches the cache, it checks the platform
using this expression (sysdeps/generic/dl-cache.c around line 233):
      if (_DL_PLATFORMS_COUNT && platform !=3D -1				      \
	  && (lib->hwcap & _DL_HWCAP_PLATFORM) !=3D 0			      \
	  && (lib->hwcap & _DL_HWCAP_PLATFORM) !=3D platform)		      \
	continue;							      \

_DL_HWCAP_PLATFORM is a mask that is supposed to match all the bits in
an hwcap field that can represent the current platform. Unfortunately,
it's got the wrong value. Here's the fix (haven't tested this yet,
glibc takes too long to build, but some bit-twiddling in gdb indicates
it should work):

--- sysdeps/unix/sysv/linux/i386/dl-procinfo.h~	2001-07-22 21:24:56.0000000=
00 +0100
+++ sysdeps/unix/sysv/linux/i386/dl-procinfo.h	2002-09-21 16:38:34.00000000=
0 +0100
@@ -34,7 +34,7 @@
 /* Start at 48 to reserve some space.  */
 #define _DL_FIRST_PLATFORM	48
 /* Mask to filter out platforms.  */
-#define _DL_HWCAP_PLATFORM	(7ULL << _DL_FIRST_PLATFORM)
+#define _DL_HWCAP_PLATFORM	(((1ULL << _DL_PLATFORMS_COUNT) - 1) << _DL_FIR=
ST_PLATFORM)
=20
=20
 static inline int

The value '7' clearly dates from when there were only three platforms,
and never got updated when i686 was added. The practical upshot is
that the bit for 'i686' is never considered by anything to be a
platform, so the entry in ld.so.cache is assumed to be for any
platform.

--=20
  .''`.  ** Debian GNU/Linux ** | Andrew Suffield
 : :' :  http://www.debian.org/ | Dept. of Computing,
 `. `'                          | Imperial College,
   `-             -><-          | London, UK

--PEIAKu/WMn1b1Hv9
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)

iD8DBQE9jJd+lpK98RSteX8RAlx8AJ4ot/TFDeAw+t8y+u4yMCMmMjlBbwCgjmGC
tkayiiArzpRecNo6awTGiog=
=Lgr8
-----END PGP SIGNATURE-----

--PEIAKu/WMn1b1Hv9--

---------------------------------------
Received: (at 161700-close) by bugs.debian.org; 3 Oct 2002 15:23:54 +0000
>From katie@auric.debian.org Thu Oct 03 10:23:54 2002
Return-path: <katie@auric.debian.org>
Received: from auric.debian.org [206.246.226.45] (mail)
	by master.debian.org with esmtp (Exim 3.12 1 (Debian))
	id 17x7pQ-0005Lh-00; Thu, 03 Oct 2002 10:23:52 -0500
Received: from katie by auric.debian.org with local (Exim 3.35 1 (Debian))
	id 17x7jM-0008K8-00; Thu, 03 Oct 2002 11:17:36 -0400
From: GOTO Masanori <gotom@debian.or.jp>
To: 161700-close@bugs.debian.org
X-Katie: $Revision: 1.26 $
Subject: Bug#161700: fixed in glibc 2.2.5-15
Message-Id: <E17x7jM-0008K8-00@auric.debian.org>
Sender: Archive Administrator <katie@auric.debian.org>
Date: Thu, 03 Oct 2002 11:17:36 -0400
Delivered-To: 161700-close@bugs.debian.org

We believe that the bug you reported is fixed in the latest version of
glibc, which is due to be installed in the Debian FTP archive:

glibc-doc_2.2.5-15_all.deb
  to pool/main/g/glibc/glibc-doc_2.2.5-15_all.deb
glibc_2.2.5-15.diff.gz
  to pool/main/g/glibc/glibc_2.2.5-15.diff.gz
glibc_2.2.5-15.dsc
  to pool/main/g/glibc/glibc_2.2.5-15.dsc
libc6-dbg_2.2.5-15_i386.deb
  to pool/main/g/glibc/libc6-dbg_2.2.5-15_i386.deb
libc6-dev_2.2.5-15_i386.deb
  to pool/main/g/glibc/libc6-dev_2.2.5-15_i386.deb
libc6-pic_2.2.5-15_i386.deb
  to pool/main/g/glibc/libc6-pic_2.2.5-15_i386.deb
libc6-prof_2.2.5-15_i386.deb
  to pool/main/g/glibc/libc6-prof_2.2.5-15_i386.deb
libc6_2.2.5-15_i386.deb
  to pool/main/g/glibc/libc6_2.2.5-15_i386.deb
locales_2.2.5-15_all.deb
  to pool/main/g/glibc/locales_2.2.5-15_all.deb
nscd_2.2.5-15_i386.deb
  to pool/main/g/glibc/nscd_2.2.5-15_i386.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 161700@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
GOTO Masanori <gotom@debian.or.jp> (supplier of updated glibc package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.7
Date: Thu,  3 Oct 2002 09:56:46 +0900
Source: glibc
Binary: libc6.1-prof libc0.3-pic locales glibc-doc libc6-pic libc0.3 libc0.3-dbg libc6.1-dev libc6-prof libc6-dev-sparc64 libc6 libc0.3-dev libc6-dbg nscd libc6.1-dbg libc6.1-pic libc6-sparc64 libc6-dev libc0.3-prof libc6.1
Architecture: source i386 all
Version: 2.2.5-15
Distribution: unstable
Urgency: low
Maintainer: GOTO Masanori <gotom@debian.or.jp>
Changed-By: GOTO Masanori <gotom@debian.or.jp>
Description: 
 glibc-doc  - GNU C Library: Documentation
 libc6      - GNU C Library: Shared libraries and Timezone data
 libc6-dbg  - GNU C Library: Libraries with debugging symbols
 libc6-dev  - GNU C Library: Development Libraries and Header Files.
 libc6-pic  - GNU C Library: PIC archive library
 libc6-prof - GNU C Library: Profiling Libraries.
 locales    - GNU C Library: National Language (locale) data [support]
 nscd       - GNU C Library: Name Service Cache Daemon
Closes: 161700 161717 161720 161740 161773 161774 161786 161788 161813
Changes: 
 glibc (2.2.5-15) unstable; urgency=low
 .
   * debian/patches/dl-procinfo-fix.dpatch: Fix libssl optimization
     problem occured by glibc dl-procinfo.
       Closes: #161700, #161717, #161720, #161740, #161773, #161774
       Closes: #161786, #161788, #161813
Files: 
 13bbeaaacac865573257d0431ff0148e 1369 libs required glibc_2.2.5-15.dsc
 2cdb9e1e58212be75dfafd223b4af244 407764 libs required glibc_2.2.5-15.diff.gz
 760bcef3da195fa1cfe2eb572d97e203 3349206 base required libc6_2.2.5-15_i386.deb
 9bb59dcd0afbf750dbd6e6b2a9f6e0c6 2399148 devel standard libc6-dev_2.2.5-15_i386.deb
 1df3340fad8d4b645f0f98fab01a98a8 934384 devel extra libc6-prof_2.2.5-15_i386.deb
 b52fea3d8d31b3ddcc6a5262611d7106 2347470 devel extra libc6-dbg_2.2.5-15_i386.deb
 a1ae639e22b648eb55451456976a2ae2 841272 devel optional libc6-pic_2.2.5-15_i386.deb
 6c747686640c1851e0f587c698f0fdd9 60072 admin optional nscd_2.2.5-15_i386.deb
 1067927559312d6db084c8973373ef26 3388412 base standard locales_2.2.5-15_all.deb
 66b906af60e55cc8a4116327653062b2 2700926 doc optional glibc-doc_2.2.5-15_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)

iD8DBQE9m74G9dAn0Xqx8P4RAsSjAKCo8QDGuXBz9kVWSSssb6e9PpsRTACfRbWL
sFiqX0xl8gbLqDS42Kj8f0g=
=fK4T
-----END PGP SIGNATURE-----



Reply to: