Bug#882255: libc6-amd64: Multilib causes catastrophic system failure during upgrade to libc 2.25

2017-12-01 Thread Mikulas Patocka


On Sun, 26 Nov 2017, Aurelien Jarno wrote:

> > > You mean that even now running 'ldconfig' followed by 'ldd /bin/true'
> > > will give you
> > >   libc.so.6 => /lib64/libc.so.6
> > > instead of
> > >   libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
> > > ?
> > 
> > Yes.
> > # ldd /bin/true
> > linux-vdso.so.1 (0x7ffc62b5a000)
> > libc.so.6 => /lib64/libc.so.6 (0x7fd870377000)
> > /lib64/ld-linux-x86-64.so.2 (0x7fd870921000)
> > 
> > If I use the --inhibit-cache flag, it points to the correct location:
> > # /lib64/ld-linux-x86-64.so.2 --list --inhibit-cache /bin/true
> > linux-vdso.so.1 (0x7ffd566e4000)
> > libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x7f73026c8000)
> > /lib64/ld-linux-x86-64.so.2 (0x7f7302c73000)
> > 
> > Without --inhibit-cache, it points to /lib64/libc.so.6
> > # /lib64/ld-linux-x86-64.so.2 --list /bin/true
> > linux-vdso.so.1 (0x7ffd5ad1)
> > libc.so.6 => /lib64/libc.so.6 (0x7fc566092000)
> > /lib64/ld-linux-x86-64.so.2 (0x7fc56663c000)
> 
> I am still unable to reproduce this problem. On my system
> lib/x86_64-linux-gnu/ is preferred over lib64. ldconfig uses glob to to
> interpret the "*.conf" in /etc/ld.so.conf, so the files are sorted
> alphabetically and thus the zz_amd64-biarch-compat.conf should appear
> last.
> 
> It would be interesting to check at the order in the cache, using
> "ldconfig -p | grep libc.so". Could you please provide that output?
> 
> Thanks,
> Aurelien

# ldconfig -p | grep libc.so
libc.so.6 (libc6,x32, ABI OS: Linux 3.4.0) => 
/lib/x86_64-linux-gnux32/libc.so.6
libc.so.6 (libc6,x86-64, ABI OS: Linux 3.2.0) => /lib64/libc.so.6
libc.so.6 (libc6,x86-64, ABI OS: Linux 2.6.32) => 
/lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (libc6, ABI OS: Linux 3.2.0) => /lib32/libc.so.6
libc.so.6 (libc6, ABI OS: Linux 2.6.32) => /lib/i386-linux-gnu/libc.so.6

The problem is caused by the "ABI OS" field - the libraries in /lib64 have 
higher field than the libraries in /lib/x86_64-linux-gnu/

If I comment out this piece of code in the function compare in the file 
glibc/elf/cache.c, the problem goes away and the linker will prefer 
libraries in /lib/x86_64-linux-gnu/ and /lib/i386-linux-gnu/.

/*
  if (e2->osversion > e1->osversion)
return 1;
  if (e2->osversion < e1->osversion)
return -1;
*/

Mikulas



[glibc] branch sid updated (514c3f2 -> 379f2e6)

2017-12-01 Thread Aurelien Jarno
This is an automated email from the git hooks/post-receive script.

aurel32 pushed a change to branch sid
in repository glibc.

  from  514c3f2   debian/patches/submitted-ldconfig-c-collation.diff: New 
patch to process include directives in ldconfig using the C/POSIX collation.  
Closes: #882255.
   new  379f2e6   debian/patches/ia64/git-ia64-crash-thread-exit.diff: Fix 
crash on thread exit on IA64.  Closes: #883285.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "adds" were already present in the repository and have only
been added to this reference.


Summary of changes:
 debian/changelog   |  2 +
 .../patches/ia64/git-ia64-crash-thread-exit.diff   | 79 ++
 debian/patches/series  |  2 +
 3 files changed, 83 insertions(+)
 create mode 100644 debian/patches/ia64/git-ia64-crash-thread-exit.diff

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-glibc/glibc.git



Processed: Bug#883285 marked as pending

2017-12-01 Thread Debian Bug Tracking System
Processing commands for cont...@bugs.debian.org:

> tag 883285 pending
Bug #883285 [src:glibc] glibc: ia64 glibc crashes on thread exit
Added tag(s) pending.
> thanks
Stopping processing here.

Please contact me if you need assistance.
-- 
883285: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=883285
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems



[glibc] 01/01: debian/patches/ia64/git-ia64-crash-thread-exit.diff: Fix crash on thread exit on IA64. Closes: #883285.

2017-12-01 Thread Aurelien Jarno
This is an automated email from the git hooks/post-receive script.

aurel32 pushed a commit to branch sid
in repository glibc.

commit 379f2e613236f1c68314c984fd2b5589155a1755
Author: Aurelien Jarno 
Date:   Fri Dec 1 22:34:29 2017 +0100

debian/patches/ia64/git-ia64-crash-thread-exit.diff: Fix crash on thread 
exit on IA64.  Closes: #883285.
---
 debian/changelog   |  2 +
 .../patches/ia64/git-ia64-crash-thread-exit.diff   | 79 ++
 debian/patches/series  |  2 +
 3 files changed, 83 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 966ca2a..b5a88c8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -10,6 +10,8 @@ glibc (2.25-3) UNRELEASED; urgency=medium
   * debian/patches/submitted-ldconfig-c-collation.diff: New patch to process
 include directives in ldconfig using the C/POSIX collation.  Closes:
 #882255.
+  * debian/patches/ia64/git-ia64-crash-thread-exit.diff: Fix crash on thread
+exit on IA64.  Closes: #883285.
 
   [ Samuel Thibault ]
   * libc0.3.symbols.hurd-i386: Update against newer hurd definitions.
diff --git a/debian/patches/ia64/git-ia64-crash-thread-exit.diff 
b/debian/patches/ia64/git-ia64-crash-thread-exit.diff
new file mode 100644
index 000..1cdc778
--- /dev/null
+++ b/debian/patches/ia64/git-ia64-crash-thread-exit.diff
@@ -0,0 +1,79 @@
+2017-08-29  Adhemerval Zanella  
+
+   [BZ #21672]
+   * nptl/allocatestack.c (advise_stack_range): New function.
+   * nptl/pthread_create.c (START_THREAD_DEFN): Move logic to mark
+   stack non required to advise_stack_range at allocatestack.c
+
+--- a/nptl/allocatestack.c
 b/nptl/allocatestack.c
+@@ -340,6 +340,33 @@
+ }
+ 
+ 
++/* Mark the memory of the stack as usable to the kernel.  It frees everything
++   except for the space used for the TCB itself.  */
++static inline void
++__always_inline
++advise_stack_range (void *mem, size_t size, uintptr_t pd, size_t guardsize)
++{
++  uintptr_t sp = (uintptr_t) CURRENT_STACK_FRAME;
++  size_t pagesize_m1 = __getpagesize () - 1;
++#if _STACK_GROWS_DOWN && !defined(NEED_SEPARATE_REGISTER_STACK)
++  size_t freesize = (sp - (uintptr_t) mem) & ~pagesize_m1;
++  assert (freesize < size);
++  if (freesize > PTHREAD_STACK_MIN)
++__madvise (mem, freesize - PTHREAD_STACK_MIN, MADV_DONTNEED);
++#else
++  /* Page aligned start of memory to free (higher than or equal
++ to current sp plus the minimum stack size).  */
++  uintptr_t freeblock = (sp + PTHREAD_STACK_MIN + pagesize_m1) & ~pagesize_m1;
++  uintptr_t free_end = (pd - guardsize) & ~pagesize_m1;
++  if (free_end > freeblock)
++{
++  size_t freesize = free_end - freeblock;
++  assert (freesize < size);
++  __madvise ((void*) freeblock, freesize, MADV_DONTNEED);
++}
++#endif
++}
++
+ /* Returns a usable stack for a new thread either by allocating a
+new stack or reusing a cached stack of sufficient size.
+ATTR must be non-NULL and point to a valid pthread_attr.
+--- a/nptl/pthread_create.c
 b/nptl/pthread_create.c
+@@ -545,31 +545,8 @@
+ }
+ #endif
+ 
+-  /* Mark the memory of the stack as usable to the kernel.  We free
+- everything except for the space used for the TCB itself.  */
+-  size_t pagesize_m1 = __getpagesize () - 1;
+-#ifdef _STACK_GROWS_DOWN
+-  char *sp = CURRENT_STACK_FRAME;
+-  size_t freesize = (sp - (char *) pd->stackblock) & ~pagesize_m1;
+-  assert (freesize < pd->stackblock_size);
+-  if (freesize > PTHREAD_STACK_MIN)
+-__madvise (pd->stackblock, freesize - PTHREAD_STACK_MIN, MADV_DONTNEED);
+-#else
+-  /* Page aligned start of memory to free (higher than or equal
+- to current sp plus the minimum stack size).  */
+-  void *freeblock = (void*)((size_t)(CURRENT_STACK_FRAME
+-   + PTHREAD_STACK_MIN
+-   + pagesize_m1)
+-  & ~pagesize_m1);
+-  char *free_end = (char *) (((uintptr_t) pd - pd->guardsize) & ~pagesize_m1);
+-  /* Is there any space to free?  */
+-  if (free_end > (char *)freeblock)
+-{
+-  size_t freesize = (size_t)(free_end - (char *)freeblock);
+-  assert (freesize < pd->stackblock_size);
+-  __madvise (freeblock, freesize, MADV_DONTNEED);
+-}
+-#endif
++  advise_stack_range (pd->stackblock, pd->stackblock_size, (uintptr_t) pd,
++pd->guardsize);
+ 
+   /* If the thread is detached free the TCB.  */
+   if (IS_DETACHED (pd))
diff --git a/debian/patches/series b/debian/patches/series
index bdbf764..94763cb 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -141,6 +141,8 @@ i386/local-biarch.diff
 i386/local-cmov.diff
 i386/unsubmitted-quiet-ldconfig.diff
 
+ia64/git-ia64-crash-thread-exit.diff
+
 kfreebsd/submitted-waitid.diff
 kfreebsd/submitted-auxv.diff
 kfreebsd/local-config_h_in.patch

-- 
Alioth's 

glibc_2.24-11+deb9u2_source.changes ACCEPTED into proposed-updates->stable-new

2017-12-01 Thread Debian FTP Masters
Mapping stretch to stable.
Mapping stable to proposed-updates.

Accepted:

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512

Format: 1.8
Date: Fri, 01 Dec 2017 21:09:18 +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-xen libc0.3-xen libc6.1-alphaev67 libc0.1-i686 libc0.3-i686 
libc6-i686
Architecture: source
Version: 2.24-11+deb9u2
Distribution: stretch
Urgency: medium
Maintainer: GNU Libc Maintainers 
Changed-By: Aurelien Jarno 
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 - transitional dummy package
 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-i686 - transitional dummy package
 libc0.3-pic - GNU C Library: PIC archive library
 libc0.3-udeb - GNU C Library: Shared libraries - udeb (udeb)
 libc0.3-xen - GNU C Library: Shared libraries [Xen version]
 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 - transitional dummy package
 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)
 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: 865144 870648 881850 882272
Changes:
 glibc (2.24-11+deb9u2) stretch; urgency=medium
 .
   [ Aurelien Jarno ]
   * debian/control.in/x32: Add a gcc-multilib Recommends for libc6-dev-x32.
   * debian/patches/git-updates.diff: update 

Processing of glibc_2.24-11+deb9u2_source.changes

2017-12-01 Thread Debian FTP Masters
glibc_2.24-11+deb9u2_source.changes uploaded successfully to localhost
along with the files:
  glibc_2.24-11+deb9u2.dsc
  glibc_2.24-11+deb9u2.debian.tar.xz
  glibc_2.24-11+deb9u2_source.buildinfo

Greetings,

Your Debian queue daemon (running on host usper.debian.org)



[glibc] branch stretch updated (89f27be -> 724e680)

2017-12-01 Thread Aurelien Jarno
This is an automated email from the git hooks/post-receive script.

aurel32 pushed a change to branch stretch
in repository glibc.

  from  89f27be   debian/script.in/nohwcap.sh: always check for all 
optimized packages as multiarch allows one to install foreign architectures.  
Closes: #882272.
   new  724e680   releasing package glibc version 2.24-11+deb9u2

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "adds" were already present in the repository and have only
been added to this reference.


Summary of changes:
 debian/changelog | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-glibc/glibc.git



[glibc] annotated tag debian/2.24-11+deb9u2 created (now e7aca3f)

2017-12-01 Thread Aurelien Jarno
This is an automated email from the git hooks/post-receive script.

aurel32 pushed a change to annotated tag debian/2.24-11+deb9u2
in repository glibc.

at  e7aca3f   (tag)
   tagging  724e680d98c5e5591666a4de2e5499a7ee9457fe (commit)
  replaces  debian/2.24-11+deb9u1
 tagged by  Aurelien Jarno
on  Fri Dec 1 21:09:30 2017 +0100

- Log -
tagging package glibc version debian/2.24-11+deb9u2
-BEGIN PGP SIGNATURE-

iQIzBAABCgAdFiEEUryGlb40+QrX1Ay4E4jA+JnoM2sFAlohtvoACgkQE4jA+Jno
M2uRFBAAj6PKHm9WcK4ecKJMePdNEGNWnyEW7Hll5iSaGQR/BqbI2nNyVUCHJd0v
LNNGXIoYVSGVh2DUio30Xssj4AOqM5Sc5Ie5603bTbemxAYcmUnyqKnBLY12ElMG
aihZqIOT50YGFEZIVnCZBBQ3wFHyVwZiuTdmYT+J3GVN7HQ5qLp5EDdvkEhlBcrY
oLU6z0xV02sZ5b2sMhdXtyblGmNLOFvWupOFmYYH4PPkdPSAYO4a6xqbqpo6VpdC
oL+TJBs++TrD/YiRQ+eRgDYbQS9UhaSqPaUgiTIYVSwA4UBwUM6K8SpGu/Yaxme1
KtElXjbAo0/F6IrN7KIQHag6xQwkmjiuq/TMqhJ81q9mADttp2pVlQhqsCbt71aa
ZlDrExwYBOdFnORy8RytWrcrDCnL9/GvP5ANA2Lkl4Xe3NbGIznE/fL68KXC25dv
CM1o2jPvhpjNrTUluiIZ6Ci8qLWmv/VY8pL+z49CQ6d3GxMVLGCMIPW0PVz+v6C7
FrHX8IvaJmVnE61HOu/BZ/s6hOXQhkGaNTIA7rht4CAPgy/WRbssX0aSWOJg7WJu
WgN6Ybt2VXeFC4dolN+w/ipDjko/FJLW/zgmZPU4mtfr7o+Q1OhgIYU2YbvOuedg
kv4CX3tQxYn9LfvxQUjNtMIk2dynQUDfkxJCfHnW5pqV50RrCyM=
=8gZy
-END PGP SIGNATURE-

Aurelien Jarno (6):
  debian/control.in/x32: Add a gcc-multilib Recommends for libc6-dev-x32.
  debian/debhelper.in/libc-bin.postinst: do not update /etc/nsswitch.conf 
when its content already matches the default.  Closes: #865144.
  debian/patches/git-updates.diff: update from upstream stable branch:
  Fix a typo
  debian/script.in/nohwcap.sh: always check for all optimized packages as 
multiarch allows one to install foreign architectures.  Closes: #882272.
  releasing package glibc version 2.24-11+deb9u2

---

This annotated tag includes the following new commits:

   new  724e680   releasing package glibc version 2.24-11+deb9u2

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "adds" were already present in the repository and have only
been added to this reference.


-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-glibc/glibc.git



Re: Bug#882158: stretch-pu: package glibc/2.24-11+deb9u2

2017-12-01 Thread Aurelien Jarno
On 2017-12-01 19:49, Cyril Brulebois wrote:
> Adam D. Barratt  (2017-11-24):
> > This looks OK to me, but will need a KiBi-ack; CCing.
> 
> lgtm; apologies for the delay.

Thanks, I have just uploaded it.

Aurelien

-- 
Aurelien Jarno  GPG: 4096R/1DDD8C9B
aurel...@aurel32.net http://www.aurel32.net


signature.asc
Description: PGP signature


[glibc] 01/01: releasing package glibc version 2.24-11+deb9u2

2017-12-01 Thread Aurelien Jarno
This is an automated email from the git hooks/post-receive script.

aurel32 pushed a commit to branch stretch
in repository glibc.

commit 724e680d98c5e5591666a4de2e5499a7ee9457fe
Author: Aurelien Jarno 
Date:   Fri Dec 1 21:09:30 2017 +0100

releasing package glibc version 2.24-11+deb9u2
---
 debian/changelog | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index cb182fb..15d804c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-glibc (2.24-11+deb9u2) UNRELEASED; urgency=medium
+glibc (2.24-11+deb9u2) stretch; urgency=medium
 
   [ Aurelien Jarno ]
   * debian/control.in/x32: Add a gcc-multilib Recommends for libc6-dev-x32.
@@ -32,7 +32,7 @@ glibc (2.24-11+deb9u2) UNRELEASED; urgency=medium
   * debian/debhelper.in/libc-bin.postinst: do not update /etc/nsswitch.conf
 when its content already matches the default.  Closes: #865144.
 
- -- Aurelien Jarno   Sun, 20 Aug 2017 13:58:01 +0200
+ -- Aurelien Jarno   Fri, 01 Dec 2017 21:09:18 +0100
 
 glibc (2.24-11+deb9u1) stretch-security; urgency=medium
 

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-glibc/glibc.git



[glibc] branch sid updated (2ab9aac -> 514c3f2)

2017-12-01 Thread Aurelien Jarno
This is an automated email from the git hooks/post-receive script.

aurel32 pushed a change to branch sid
in repository glibc.

  from  2ab9aac   debian/control.in/libc, debian/control.in/main, 
debian/rules.d/control.mk: Add support for IA64.  Closes: #883012.
   new  514c3f2   debian/patches/submitted-ldconfig-c-collation.diff: New 
patch to process include directives in ldconfig using the C/POSIX collation.  
Closes: #882255.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "adds" were already present in the repository and have only
been added to this reference.


Summary of changes:
 debian/changelog   |  3 +++
 debian/patches/any/submitted-ldconfig-c-collation.diff | 17 +
 debian/patches/series  |  1 +
 3 files changed, 21 insertions(+)
 create mode 100644 debian/patches/any/submitted-ldconfig-c-collation.diff

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-glibc/glibc.git



Processed: Bug#882255 marked as pending

2017-12-01 Thread Debian Bug Tracking System
Processing commands for cont...@bugs.debian.org:

> tag 882255 pending
Bug #882255 [libc6-amd64] libc6-amd64: Multilib causes catastrophic system 
failure during upgrade to libc 2.25
Added tag(s) pending.
> thanks
Stopping processing here.

Please contact me if you need assistance.
-- 
882255: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=882255
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems



[glibc] 01/01: debian/patches/submitted-ldconfig-c-collation.diff: New patch to process include directives in ldconfig using the C/POSIX collation. Closes: #882255.

2017-12-01 Thread Aurelien Jarno
This is an automated email from the git hooks/post-receive script.

aurel32 pushed a commit to branch sid
in repository glibc.

commit 514c3f235e480ed7aaf80025b7e026170d704774
Author: Aurelien Jarno 
Date:   Fri Dec 1 19:59:41 2017 +0100

debian/patches/submitted-ldconfig-c-collation.diff: New patch to process 
include directives in ldconfig using the C/POSIX collation.  Closes: #882255.
---
 debian/changelog   |  3 +++
 debian/patches/any/submitted-ldconfig-c-collation.diff | 17 +
 debian/patches/series  |  1 +
 3 files changed, 21 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index c46e191..966ca2a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -7,6 +7,9 @@ glibc (2.25-3) UNRELEASED; urgency=medium
   #883186.
   * debian/patches/any/local-dlfptr.diff: remove, it's not used anymore by
 HPPA and causes issues on IA64.  Closes: #882874.
+  * debian/patches/submitted-ldconfig-c-collation.diff: New patch to process
+include directives in ldconfig using the C/POSIX collation.  Closes:
+#882255.
 
   [ Samuel Thibault ]
   * libc0.3.symbols.hurd-i386: Update against newer hurd definitions.
diff --git a/debian/patches/any/submitted-ldconfig-c-collation.diff 
b/debian/patches/any/submitted-ldconfig-c-collation.diff
new file mode 100644
index 000..5db19fd
--- /dev/null
+++ b/debian/patches/any/submitted-ldconfig-c-collation.diff
@@ -0,0 +1,17 @@
+Submitted upstream, won't be backported in upstream stable branches.
+
+diff --git a/elf/ldconfig.c b/elf/ldconfig.c
+index 89042351f8..2c01ab567b 100644
+--- a/elf/ldconfig.c
 b/elf/ldconfig.c
+@@ -1259,6 +1259,10 @@ main (int argc, char **argv)
+   /* Set locale via LC_ALL.  */
+   setlocale (LC_ALL, "");
+ 
++  /* But keep the C collation.  That way `include' directives using
++ globbing patterns are processed in a locale-independent order.  */
++  setlocale (LC_COLLATE, "C");
++
+   /* Set the text message domain.  */
+   textdomain (_libc_intl_domainname);
+ 
diff --git a/debian/patches/series b/debian/patches/series
index f027c37..bdbf764 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -210,3 +210,4 @@ any/cvs-malloc-hardening.diff
 any/local-bits-sigstack.diff
 any/submitted-resolv-unaligned.diff
 any/submitted-intl-tstgettext.diff
+any/submitted-ldconfig-c-collation.diff

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-glibc/glibc.git



Re: Bug#882158: stretch-pu: package glibc/2.24-11+deb9u2

2017-12-01 Thread Cyril Brulebois
Adam D. Barratt  (2017-11-24):
> This looks OK to me, but will need a KiBi-ack; CCing.

lgtm; apologies for the delay.


KiBi.


signature.asc
Description: PGP signature


Bug#883285: glibc: ia64 glibc crashes on thread exit

2017-12-01 Thread Jason Duerstock
Source: glibc
Severity: normal
Tags: patch

Dear Maintainer,

glibc 2.24 has an ia64 bug as detailed here:
https://sourceware.org/bugzilla/show_bug.cgi?id=21672

The patch as scheduled to be merged into 2.27 is available here:
https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=patch;h=01b87c656f670863ce437421b8e9278200965d38

Thank you!

Jason



-- System Information:
Debian Release: buster/sid
Architecture: ia64

Kernel: Linux 3.14-0.bpo.2-mckinley (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
>From 01b87c656f670863ce437421b8e9278200965d38 Mon Sep 17 00:00:00 2001
From: Adhemerval Zanella 
Date: Mon, 28 Aug 2017 11:24:35 -0300
Subject: [PATCH] ia64: Fix thread stack allocation permission set (BZ #21672)

This patch fixes ia64 failures on thread exit by madvise the required
area taking in consideration its disjoing stacks
(NEED_SEPARATE_REGISTER_STACK).  Also the snippet that setup the
madvise call to advertise kernel the area won't be used anymore in
near future is reallocated in allocatestack.c (for consistency to
put all stack management function in one place).

Checked on x86_64-linux-gnu and i686-linux-gnu for sanity (since
it is not expected code changes for architecture that do not
define NEED_SEPARATE_REGISTER_STACK) and also got a report that
it fixes ia64-linux-gnu failures from Sergei Trofimovich
.

	[BZ #21672]
	* nptl/allocatestack.c [_STACK_GROWS_DOWN] (setup_stack_prot):
	Set to use !NEED_SEPARATE_REGISTER_STACK as well.
	(advise_stack_range): New function.
	* nptl/pthread_create.c (START_THREAD_DEFN): Move logic to mark
	stack non required to advise_stack_range at allocatestack.c
---
 ChangeLog |  9 +
 nptl/allocatestack.c  | 29 -
 nptl/pthread_create.c | 27 ++-
 3 files changed, 39 insertions(+), 26 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 07cf8dd..b2016ca 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2017-08-29  Adhemerval Zanella  
+
+	[BZ #21672]
+	* nptl/allocatestack.c [_STACK_GROWS_DOWN] (setup_stack_prot):
+	Set to use !NEED_SEPARATE_REGISTER_STACK as well.
+	(advise_stack_range): New function.
+	* nptl/pthread_create.c (START_THREAD_DEFN): Move logic to mark
+	stack non required to advise_stack_range at allocatestack.c
+
 2017-08-29  Szabolcs Nagy  
 
 	* sysdeps/unix/sysv/linux/aarch64/sys/procfs.h: Use __uint64_t.
diff --git a/nptl/allocatestack.c b/nptl/allocatestack.c
index 6d1bcaa..8766deb 100644
--- a/nptl/allocatestack.c
+++ b/nptl/allocatestack.c
@@ -356,7 +356,7 @@ setup_stack_prot (char *mem, size_t size, char *guard, size_t guardsize,
 		  const int prot)
 {
   char *guardend = guard + guardsize;
-#if _STACK_GROWS_DOWN
+#if _STACK_GROWS_DOWN && !defined(NEED_SEPARATE_REGISTER_STACK)
   /* As defined at guard_position, for architectures with downward stack
  the guard page is always at start of the allocated area.  */
   if (__mprotect (guardend, size - guardsize, prot) != 0)
@@ -372,6 +372,33 @@ setup_stack_prot (char *mem, size_t size, char *guard, size_t guardsize,
   return 0;
 }
 
+/* Mark the memory of the stack as usable to the kernel.  It frees everything
+   except for the space used for the TCB itself.  */
+static inline void
+__always_inline
+advise_stack_range (void *mem, size_t size, uintptr_t pd, size_t guardsize)
+{
+  uintptr_t sp = (uintptr_t) CURRENT_STACK_FRAME;
+  size_t pagesize_m1 = __getpagesize () - 1;
+#if _STACK_GROWS_DOWN && !defined(NEED_SEPARATE_REGISTER_STACK)
+  size_t freesize = (sp - (uintptr_t) mem) & ~pagesize_m1;
+  assert (freesize < size);
+  if (freesize > PTHREAD_STACK_MIN)
+__madvise (mem, freesize - PTHREAD_STACK_MIN, MADV_DONTNEED);
+#else
+  /* Page aligned start of memory to free (higher than or equal
+ to current sp plus the minimum stack size).  */
+  uintptr_t freeblock = (sp + PTHREAD_STACK_MIN + pagesize_m1) & ~pagesize_m1;
+  uintptr_t free_end = (pd - guardsize) & ~pagesize_m1;
+  if (free_end > freeblock)
+{
+  size_t freesize = free_end - freeblock;
+  assert (freesize < size);
+  __madvise ((void*) freeblock, freesize, MADV_DONTNEED);
+}
+#endif
+}
+
 /* Returns a usable stack for a new thread either by allocating a
new stack or reusing a cached stack of sufficient size.
ATTR must be non-NULL and point to a valid pthread_attr.
diff --git a/nptl/pthread_create.c b/nptl/pthread_create.c
index 2f8ada3..83b88bf 100644
--- a/nptl/pthread_create.c
+++ b/nptl/pthread_create.c
@@ -551,31 +551,8 @@ START_THREAD_DEFN
 }
 #endif
 
-  /* Mark the memory of the stack as usable to the kernel.  We free
- everything except for the space used for the TCB itself.  */
-  size_t pagesize_m1 = __getpagesize () - 1;
-#ifdef _STACK_GROWS_DOWN
-  char *sp = CURRENT_STACK_FRAME;
-  size_t freesize = (sp - (char *)