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

Bug#817207: marked as done (glibc: kfreebsd-i386: illegal instruction in ld.so)



Your message dated Wed, 09 Mar 2016 18:20:27 +0000
with message-id <E1adiih-0007dG-RI@franck.debian.org>
and subject line Bug#817207: fixed in glibc 2.22-2
has caused the Debian Bug report #817207,
regarding glibc: kfreebsd-i386: illegal instruction in ld.so
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 this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
817207: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=817207
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: src:glibc
Version: 2.22-1
Severity: important
User: debian-bsd@lists.debian.org
Usertags: kfreebsd
X-Debbugs-Cc: debian-bsd@lists.debian.org

Hi,

glibc/2.22 has a major problem on kfreebsd-i386.  It built on the
buildds, but the compiled ld-2.22.so is broken as seen on buildd finzi:

https://buildd.debian.org/status/fetch.php?pkg=mksh&arch=kfreebsd-i386&ver=52c-1&stamp=1457437296
| dpkg: error processing archive /var/cache/apt/archives/libc-bin_2.22-1_kfreebsd-i386.deb (--unpack):
|  subprocess dpkg-deb --control was killed by signal (Illegal instruction)
| Errors were encountered while processing:
|  /var/cache/apt/archives/libc-bin_2.22-1_kfreebsd-i386.deb

Upgrading libc0.1 breaks pretty much everything:

| Core was generated by `ld-2.22.so'.
| Program terminated with signal 4, Illegal instruction.
| (gdb) bt full
| #0  0x0100622b in ?? ()
| No symbol table info available.
| #1  0x62696c2f in ?? ()
| No symbol table info available.
| #2  0x3833692f in ?? ()
| No symbol table info available.
| #3  0x666b2d36 in ?? ()
| No symbol table info available.
| #4  0x01001a90 in ?? ()
| No symbol table info available.
| #5  0x00000000 in ?? ()
| No symbol table info available.

That corresponds to the 'ud2' instruction in the disassembly below:

|      /* The stack is presently not executable, but this module
|         requires that it be executable.  We must change the
|         protection of the variable which contains the flags used in
|         the mprotect calls.  */
|#ifdef SHARED
|      if ((mode & (__RTLD_DLOPEN | __RTLD_AUDIT)) == __RTLD_DLOPEN)
|    51fc:       8b 45 14                mov    0x14(%ebp),%eax
|    51ff:       25 00 00 00 88          and    $0x88000000,%eax
|    5204:       3d 00 00 00 80          cmp    $0x80000000,%eax
|    5209:       0f 84 b9 01 00 00       je     53c8 <_dl_map_object_from_fd+0x1258>
|                }
|              __stack_prot |= PROT_READ|PROT_WRITE|PROT_EXEC;
|              __mprotect ((void *) p, s, PROT_READ);
|            }
|          else
|            __stack_prot |= PROT_READ|PROT_WRITE|PROT_EXEC;
|    520f:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
|    5215:       83 88 1c ff ff ff 07    orl    $0x7,-0xe4(%eax)
|    521c:       e8 af 2e 01 00          call   180d0 <__x86.get_pc_thunk.cx>
|    5221:       81 c1 df cd 01 00       add    $0x1cddf,%ecx
|    5227:       29 d9                   sub    %ebx,%ecx
|    5229:       74 02                   je     522d <_dl_map_object_from_fd+0x10bd>
|    522b:       0f 0b                   ud2    
|
|#ifdef check_consistency
|      check_consistency ();
|#endif
|
|      errval = (*GL(dl_make_stack_executable_hook)) (stack_endp);
|    522d:       8b 8d 70 ff ff ff       mov    -0x90(%ebp),%ecx

kFreeBSD 10 disallows executable stacks by default.  It can be allowed
again by sysctl kern.elf32.nxstack=0, but it would be better if glibc
didn't need this.  I wonder why this issue wasn't seen on kfreebsd-amd64
since executable stacks are not allowed there either.

Thanks.

-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: kfreebsd-i386 (i386)

Kernel: kFreeBSD 10.1-0-amd64
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)

Attachment: signature.asc
Description: Digital signature


--- End Message ---
--- Begin Message ---
Source: glibc
Source-Version: 2.22-2

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.

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 817207@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Aurelien Jarno <aurel32@debian.org> (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@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Wed, 09 Mar 2016 18:42:19 +0100
Source: glibc
Binary: libc-bin libc-dev-bin libc-l10n glibc-doc glibc-source locales locales-all nscd multiarch-support libc6 libc6-dev libc6-dbg libc6-pic libc6-udeb libc6.1 libc6.1-dev libc6.1-dbg libc6.1-pic libc6.1-udeb libc0.3 libc0.3-dev libc0.3-dbg libc0.3-pic libc0.3-udeb libc0.1 libc0.1-dev libc0.1-dbg libc0.1-pic libc0.1-udeb libc6-i386 libc6-dev-i386 libc6-sparc libc6-dev-sparc libc6-sparc64 libc6-dev-sparc64 libc6-s390 libc6-dev-s390 libc6-amd64 libc6-dev-amd64 libc6-powerpc libc6-dev-powerpc libc6-ppc64 libc6-dev-ppc64 libc6-mips32 libc6-dev-mips32 libc6-mipsn32 libc6-dev-mipsn32 libc6-mips64 libc6-dev-mips64 libc0.1-i386 libc0.1-dev-i386 libc6-x32 libc6-dev-x32 libc6-i686 libc6-xen libc0.1-i686 libc6.1-alphaev67 libnss-dns-udeb libnss-files-udeb
Architecture: source
Version: 2.22-2
Distribution: unstable
Urgency: medium
Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org>
Changed-By: Aurelien Jarno <aurel32@debian.org>
Description:
 glibc-doc  - GNU C Library: Documentation
 glibc-source - GNU C Library: sources
 libc-bin   - GNU C Library: Binaries
 libc-dev-bin - GNU C Library: Development binaries
 libc-l10n  - GNU C Library: localization files
 libc0.1    - GNU C Library: Shared libraries
 libc0.1-dbg - GNU C Library: detached debugging symbols
 libc0.1-dev - GNU C Library: Development Libraries and Header Files
 libc0.1-dev-i386 - GNU C Library: 32bit development libraries for AMD64
 libc0.1-i386 - GNU C Library: 32bit shared libraries for AMD64
 libc0.1-i686 - GNU C Library: Shared libraries [i686 optimized]
 libc0.1-pic - GNU C Library: PIC archive library
 libc0.1-udeb - GNU C Library: Shared libraries - udeb (udeb)
 libc0.3    - GNU C Library: Shared libraries
 libc0.3-dbg - GNU C Library: detached debugging symbols
 libc0.3-dev - GNU C Library: Development Libraries and Header Files
 libc0.3-pic - GNU C Library: PIC archive library
 libc0.3-udeb - GNU C Library: Shared libraries - udeb (udeb)
 libc6      - GNU C Library: Shared libraries
 libc6-amd64 - GNU C Library: 64bit Shared libraries for AMD64
 libc6-dbg  - GNU C Library: detached debugging symbols
 libc6-dev  - GNU C Library: Development Libraries and Header Files
 libc6-dev-amd64 - GNU C Library: 64bit Development Libraries for AMD64
 libc6-dev-i386 - GNU C Library: 32-bit development libraries for AMD64
 libc6-dev-mips32 - GNU C Library: o32 Development Libraries for MIPS
 libc6-dev-mips64 - GNU C Library: 64bit Development Libraries for MIPS64
 libc6-dev-mipsn32 - GNU C Library: n32 Development Libraries for MIPS64
 libc6-dev-powerpc - GNU C Library: 32bit powerpc development libraries for ppc64
 libc6-dev-ppc64 - GNU C Library: 64bit Development Libraries for PowerPC64
 libc6-dev-s390 - GNU C Library: 32bit Development Libraries for IBM zSeries
 libc6-dev-sparc - GNU C Library: 32bit Development Libraries for SPARC
 libc6-dev-sparc64 - GNU C Library: 64bit Development Libraries for UltraSPARC
 libc6-dev-x32 - GNU C Library: X32 ABI Development Libraries for AMD64
 libc6-i386 - GNU C Library: 32-bit shared libraries for AMD64
 libc6-i686 - GNU C Library: Shared libraries [i686 optimized]
 libc6-mips32 - GNU C Library: o32 Shared libraries for MIPS
 libc6-mips64 - GNU C Library: 64bit Shared libraries for MIPS64
 libc6-mipsn32 - GNU C Library: n32 Shared libraries for MIPS64
 libc6-pic  - GNU C Library: PIC archive library
 libc6-powerpc - GNU C Library: 32bit powerpc shared libraries for ppc64
 libc6-ppc64 - GNU C Library: 64bit Shared libraries for PowerPC64
 libc6-s390 - GNU C Library: 32bit Shared libraries for IBM zSeries
 libc6-sparc - GNU C Library: 32bit Shared libraries for SPARC
 libc6-sparc64 - GNU C Library: 64bit Shared libraries for UltraSPARC
 libc6-udeb - GNU C Library: Shared libraries - udeb (udeb)
 libc6-x32  - GNU C Library: X32 ABI Shared libraries for AMD64
 libc6-xen  - GNU C Library: Shared libraries [Xen version]
 libc6.1    - GNU C Library: Shared libraries
 libc6.1-alphaev67 - GNU C Library: Shared libraries (EV67 optimized)
 libc6.1-dbg - GNU C Library: detached debugging symbols
 libc6.1-dev - GNU C Library: Development Libraries and Header Files
 libc6.1-pic - GNU C Library: PIC archive library
 libc6.1-udeb - GNU C Library: Shared libraries - udeb (udeb)
 libnss-dns-udeb - GNU C Library: NSS helper for DNS - udeb (udeb)
 libnss-files-udeb - GNU C Library: NSS helper for files - udeb (udeb)
 locales    - GNU C Library: National Language (locale) data [support]
 locales-all - GNU C Library: Precompiled locale data
 multiarch-support - Transitional package to ensure multiarch compatibility
 nscd       - GNU C Library: Name Service Cache Daemon
Closes: 817207
Changes:
 glibc (2.22-2) unstable; urgency=medium
 .
   [ Aurelien Jarno ]
   * Update from upstream stable branch:
     - Fix pow() precision on CPUs with fma4, and the corresponding testsuite
       failures.
     - debian/patches/s390/submitted-socketcall.diff: drop, merged upstream.
   * debian/libc6{,-mips32,-mipsn32}.symbols.mips64el: add symbols for files for
     mips64el.
   * patches/kfreebsd/local-sysdeps.diff: update to revision 5932 (from
     glibc-bsd):
     - Fix consistency check for PIC code when built with GCC 5.  Closes:
       #817207.
   * debian/rules, debian/rules.d/build.mk, debian/rules.d/debhelper.mk: define
     the mvec variable per flavour and not per platform.
   * sysdeps/*mk: enable libmvec only on amd64 and x32 flavours.
   * debian/debhelper.in/libc-dev-alt.install: install libmvec_nonshared.a also
     for alternative builds.
   * debian/debhelper.in/libc-dev{,-alt}.install: install libmvec.a.
Checksums-Sha1:
 f66a05cd170e2e20e7ebca65aa40c1a8d0ab9e5c 8159 glibc_2.22-2.dsc
 6b21bbfebd8e4efb60b9571fe3680137ecd2a9a3 1012344 glibc_2.22-2.debian.tar.xz
Checksums-Sha256:
 a48129c23c45114e4a588e79162ff8df48faa11c38a5141420105b828b97cd01 8159 glibc_2.22-2.dsc
 982d9093c96a8bcd5983a92a61fc5d34f590d71375116fd126488f37c6c8f74e 1012344 glibc_2.22-2.debian.tar.xz
Files:
 c7e3b6a2167234c1f2b6b17e11d1e240 8159 libs required glibc_2.22-2.dsc
 2ea71fb7f0e4869c6ab2136b5dedb831 1012344 libs required glibc_2.22-2.debian.tar.xz

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAEBCgAGBQJW4GEwAAoJELqceAYd3YybPe8QAIdQ9Sb3tG48OmU8VNcx1rZg
4XiKLWVbWKBVhtcuhg3Ndh3ajRwg/qTqUh3dqptayE9uLq4ukmWaPpeqv6BHG8MQ
o0lt7FG/sQ4qsbXVTMAcp8paYQcE/Q1xgF5m4yn5XaR2LS6X6zjYhjx3PAQypL7N
Qw2/NEhCVsbuakyiHO50kWAYNrpVI4iM5Itix6i7L/yNSaimPIIZ5k+HBxCVkII6
ooOQ8lwKWT+6sFRzHRprXz2sN2zx/hMgmkkPj+wKXHMYPL9UdeO5kgMCKs4RIxH4
GS9/4NwVIYqrAKwT/hRN+1wzDBb5oT9cB8Wc+RL6cC6QYk5QFlfLcgYMm5X1Jxp5
UcDUU6wmKhJeg8rm9u0+nhx0gY6dKHdLiyJCxk/3ZCKKaallxGOkgqSeU7N1QqH1
/2mIENE7EuAtaj7/+1BheN38+S9Us7eyvIxO1tSIm+ZDzWZev9FbztdcUKG/6kun
chGNFu/lJFPoNMBspoFVmSPLYhw7/8Y0b8y3W5OhbxjY2d4g+aVb+4FNPE1qCZu0
0sGdB042AqOHeUUhp9PSlgnR+D8C909hzXPwr3ik6xC1ij64cslq9XEhYyrKiFTm
AGwP7eEr8FmsJ1F7VQmmeNTWayfog0HbjuBA6nGT6VnezKRvts+QYx3PvOyKhM5u
oyaiZ1Nm0UFXFIHul/Tu
=RyNl
-----END PGP SIGNATURE-----

--- End Message ---

Reply to: