Accepting request 514073 from Base:System
- Update to glibc 2.26 (forwarded request 514072 from Andreas_Schwab) OBS-URL: https://build.opensuse.org/request/show/514073 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/glibc?expand=0&rev=210
This commit is contained in:
parent
0aeaace725
commit
77cf323ace
15
_service
15
_service
@ -1,15 +0,0 @@
|
||||
<services>
|
||||
<service name="obs_scm" mode="disabled">
|
||||
<param name="versionformat">2.25.90.%cd.g%h</param>
|
||||
<param name="url">git://sourceware.org/git/glibc</param>
|
||||
<param name="scm">git</param>
|
||||
</service>
|
||||
<service name="tar" mode="disabled"/>
|
||||
<service name="recompress" mode="disabled">
|
||||
<param name="compression">xz</param>
|
||||
<param name="file">*.tar</param>
|
||||
</service>
|
||||
<service name="set_version" mode="disabled">
|
||||
<param name="basename">glibc</param>
|
||||
</service>
|
||||
</services>
|
@ -18,7 +18,7 @@ Index: glibc-2.19/stdlib/abort.c
|
||||
struct abort_msg_s *__abort_msg __attribute__ ((nocommon));
|
||||
libc_hidden_def (__abort_msg)
|
||||
@@ -66,16 +63,8 @@ abort (void)
|
||||
__sigprocmask (SIG_UNBLOCK, &sigs, (sigset_t *) NULL);
|
||||
__sigprocmask (SIG_UNBLOCK, &sigs, 0);
|
||||
}
|
||||
|
||||
- /* Flush all streams. We cannot close them now because the user
|
||||
|
29
add-locales.patch
Normal file
29
add-locales.patch
Normal file
@ -0,0 +1,29 @@
|
||||
Index: glibc-2.25/localedata/SUPPORTED
|
||||
===================================================================
|
||||
--- glibc-2.25.orig/localedata/SUPPORTED
|
||||
+++ glibc-2.25/localedata/SUPPORTED
|
||||
@@ -129,6 +129,7 @@ en_CA.UTF-8/UTF-8 \
|
||||
en_CA/ISO-8859-1 \
|
||||
en_DK.UTF-8/UTF-8 \
|
||||
en_DK/ISO-8859-1 \
|
||||
+en_GB.ISO-8859-15/ISO-8859-15 \
|
||||
en_GB.UTF-8/UTF-8 \
|
||||
en_GB/ISO-8859-1 \
|
||||
en_HK.UTF-8/UTF-8 \
|
||||
@@ -145,6 +146,7 @@ en_PH.UTF-8/UTF-8 \
|
||||
en_PH/ISO-8859-1 \
|
||||
en_SG.UTF-8/UTF-8 \
|
||||
en_SG/ISO-8859-1 \
|
||||
+en_US.ISO-8859-15/ISO-8859-15 \
|
||||
en_US.UTF-8/UTF-8 \
|
||||
en_US/ISO-8859-1 \
|
||||
en_ZA.UTF-8/UTF-8 \
|
||||
@@ -269,6 +271,8 @@ it_IT/ISO-8859-1 \
|
||||
it_IT@euro/ISO-8859-15 \
|
||||
iu_CA/UTF-8 \
|
||||
ja_JP.EUC-JP/EUC-JP \
|
||||
+ja_JP.SHIFT_JISX0213/SHIFT_JISX0213 \
|
||||
+ja_JP.SJIS/SHIFT_JIS \
|
||||
ja_JP.UTF-8/UTF-8 \
|
||||
ka_GE.UTF-8/UTF-8 \
|
||||
ka_GE/GEORGIAN-PS \
|
@ -1,32 +0,0 @@
|
||||
#!/bin/bash
|
||||
# Copyright (c) 2003, 2004, 2011,2012 SUSE Linux Products GmbH, Germany. All rights reserved.
|
||||
#
|
||||
# Authors: Thorsten Kukuk <kukuk@suse.de>
|
||||
#
|
||||
|
||||
|
||||
|
||||
if [ `nice` -gt '9' ] ; then
|
||||
echo "Don't modify nice for building glibc!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# get kernel version
|
||||
OFS="$IFS" ; IFS=".-" ; version=(`uname -r`) ; IFS="$OIFS"
|
||||
ARCH=(`uname -m`)
|
||||
|
||||
if test ${version[0]} -gt 2 ; then
|
||||
: # okay
|
||||
elif test ${version[0]} -lt 2 -o ${version[1]} -lt 6 -o ${version[2]} -lt 16 ; then
|
||||
echo "FATAL: kernel too old, need kernel >= 2.6.16 for this package" 1>&2
|
||||
exit 1
|
||||
elif $ARCH -eq 'x86_64' ; then
|
||||
if test ${version[0]} -lt 2 -o ${version[1]} -lt 6 -o ${version[2]} -lt 32 ; then
|
||||
echo "FATAL: kernel too old, need kernel >= 2.6.32 for this package" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
exit 0
|
||||
|
@ -19,9 +19,9 @@ Index: glibc-2.22/posix/Makefile
|
||||
tst-pathconf tst-getaddrinfo4 tst-rxspencer-no-utf8 \
|
||||
tst-fnmatch3 bug-regex36 tst-getaddrinfo5 \
|
||||
+ tst-fnmatch4 tst-fnmatch5 \
|
||||
tst-posix_spawn-fd \
|
||||
tst-posix_fadvise tst-posix_fadvise64
|
||||
xtests := bug-ga2
|
||||
tst-posix_spawn-fd tst-posix_spawn-setsid \
|
||||
tst-posix_fadvise tst-posix_fadvise64 \
|
||||
tst-sysconf-empty-chroot
|
||||
Index: glibc-2.22/posix/fnmatch.c
|
||||
===================================================================
|
||||
--- glibc-2.22.orig/posix/fnmatch.c
|
||||
|
@ -1,82 +0,0 @@
|
||||
For details see:
|
||||
http://sourceware.org/bugzilla/show_bug.cgi?id=5379
|
||||
|
||||
|
||||
Index: glibc-2.20/sunrpc/clnt_udp.c
|
||||
===================================================================
|
||||
--- glibc-2.20.orig/sunrpc/clnt_udp.c
|
||||
+++ glibc-2.20/sunrpc/clnt_udp.c
|
||||
@@ -308,6 +308,7 @@ clntudp_call (cl, proc, xargs, argsp, xr
|
||||
XDR *xdrs;
|
||||
int outlen = 0;
|
||||
int inlen;
|
||||
+ int pollresult;
|
||||
socklen_t fromlen;
|
||||
struct pollfd fd;
|
||||
int milliseconds = (cu->cu_wait.tv_sec * 1000) +
|
||||
@@ -378,37 +379,39 @@ send_again:
|
||||
anyup = 0;
|
||||
for (;;)
|
||||
{
|
||||
- switch (__poll (&fd, 1, milliseconds))
|
||||
+ switch (pollresult = __poll (&fd, 1, milliseconds))
|
||||
{
|
||||
-
|
||||
case 0:
|
||||
- if (anyup == 0)
|
||||
+ case -1:
|
||||
+ if (pollresult == 0 || errno == EINTR)
|
||||
{
|
||||
- anyup = is_network_up (cu->cu_sock);
|
||||
- if (!anyup)
|
||||
- return (cu->cu_error.re_status = RPC_CANTRECV);
|
||||
+ if (anyup == 0)
|
||||
+ {
|
||||
+ anyup = is_network_up (cu->cu_sock);
|
||||
+ if (!anyup)
|
||||
+ return (cu->cu_error.re_status = RPC_CANTRECV);
|
||||
+ }
|
||||
+
|
||||
+ time_waited.tv_sec += cu->cu_wait.tv_sec;
|
||||
+ time_waited.tv_usec += cu->cu_wait.tv_usec;
|
||||
+ while (time_waited.tv_usec >= 1000000)
|
||||
+ {
|
||||
+ time_waited.tv_sec++;
|
||||
+ time_waited.tv_usec -= 1000000;
|
||||
+ }
|
||||
+ if ((time_waited.tv_sec < timeout.tv_sec) ||
|
||||
+ ((time_waited.tv_sec == timeout.tv_sec) &&
|
||||
+ (time_waited.tv_usec < timeout.tv_usec)))
|
||||
+ {
|
||||
+ if (pollresult == 0)
|
||||
+ goto send_again;
|
||||
+ else
|
||||
+ continue;
|
||||
+ }
|
||||
+ return (cu->cu_error.re_status = RPC_TIMEDOUT);
|
||||
}
|
||||
|
||||
- time_waited.tv_sec += cu->cu_wait.tv_sec;
|
||||
- time_waited.tv_usec += cu->cu_wait.tv_usec;
|
||||
- while (time_waited.tv_usec >= 1000000)
|
||||
- {
|
||||
- time_waited.tv_sec++;
|
||||
- time_waited.tv_usec -= 1000000;
|
||||
- }
|
||||
- if ((time_waited.tv_sec < timeout.tv_sec) ||
|
||||
- ((time_waited.tv_sec == timeout.tv_sec) &&
|
||||
- (time_waited.tv_usec < timeout.tv_usec)))
|
||||
- goto send_again;
|
||||
- return (cu->cu_error.re_status = RPC_TIMEDOUT);
|
||||
-
|
||||
- /*
|
||||
- * buggy in other cases because time_waited is not being
|
||||
- * updated.
|
||||
- */
|
||||
- case -1:
|
||||
- if (errno == EINTR)
|
||||
- continue;
|
||||
+ /* errno != EINTR */
|
||||
cu->cu_error.re_errno = errno;
|
||||
return (cu->cu_error.re_status = RPC_CANTRECV);
|
||||
}
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:067bd9bb3390e79aa45911537d13c3721f1d9d3769931a30c2681bfee66f23a0
|
||||
size 13873900
|
@ -1,10 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQEcBAABAgAGBQJYl08CAAoJEHnEPfvxzyGHhWcH/2eIspxugXwMnM0YZm3fkzji
|
||||
yJpu19zpYvfap+tTXJGiY/P6UrJSqHUCSssxWyWJQAbOov40IT/ySSg3DyWhyxra
|
||||
6HTTOwjIGz/9KQwVdzm79LA+YhsOauowvdiYCS6XnTQbPMc7zBDsOIEAzp+vXNdl
|
||||
KIzIe7XzUJnK9kl6oqBzXuzdA4jjjzZ2jqyMOwRypipkAXu7OgXO7TiEdN149eSs
|
||||
2Owodmw9epP1omEK1KLo0N9QsG/+ioaHNfldtWzWNvxuRigAnwaaJTy5zVG7xJ45
|
||||
xVfsXaZQKFt4KPep1GF5jaZ30TWTvt5gyjOBiZa/+UfvEOXOt0ox/BB8ydlV/eg=
|
||||
=HMRX
|
||||
-----END PGP SIGNATURE-----
|
3
glibc-2.26.tar.xz
Normal file
3
glibc-2.26.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e54e0a934cd2bc94429be79da5e9385898d2306b9eaf3c92d5a77af96190f6bd
|
||||
size 14682748
|
10
glibc-2.26.tar.xz.sig
Normal file
10
glibc-2.26.tar.xz.sig
Normal file
@ -0,0 +1,10 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQEcBAABAgAGBQJZgduLAAoJEHnEPfvxzyGHDesH/itf17ZUWSWNIRp2cC0RK1et
|
||||
jtR7ufFMpSHfMFJQXkli162s+iFMAxuOus52rma/h3PP8BXVbEKB7M3N0dvqPbmC
|
||||
AIC6YtAYU/I4M3V+6T1pi4ras19i2VgNY+iag0xw5o0ah4yZmZwB5eFR2xIz10ZD
|
||||
SGffJyCD/8EFwn/SPx38JS55ENwGj5PT1m2TsEnlLeHg7sCH7ksb5Pqq/ZEwIw0v
|
||||
E56a4hSliDUhurc0gUQmFxm/FhFSdTzns0vShfgou4D2tNSYaUjrf/17ebj0ehUF
|
||||
XkNH5jvwHoxiKzEVnD7dS9NLbvOPAG4AlFnWejgqvX0JB/M5TknOcmJYpzZYiGE=
|
||||
=XObH
|
||||
-----END PGP SIGNATURE-----
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:88419776f97fb76adac25cec0540b5be19c90d7a745cd56512f79bb523b7da37
|
||||
size 328722
|
@ -1,26 +0,0 @@
|
||||
Index: glibc-2.17.90/bits/sched.h
|
||||
===================================================================
|
||||
--- glibc-2.17.90.orig/bits/sched.h
|
||||
+++ glibc-2.17.90/bits/sched.h
|
||||
@@ -52,7 +52,7 @@ struct __sched_param
|
||||
#if defined _SCHED_H && !defined __cpu_set_t_defined
|
||||
# define __cpu_set_t_defined
|
||||
/* Size definition for CPU sets. */
|
||||
-# define __CPU_SETSIZE 1024
|
||||
+# define __CPU_SETSIZE 4096
|
||||
# define __NCPUBITS (8 * sizeof (__cpu_mask))
|
||||
|
||||
/* Type for array elements in 'cpu_set_t'. */
|
||||
Index: glibc-2.17.90/sysdeps/unix/sysv/linux/bits/sched.h
|
||||
===================================================================
|
||||
--- glibc-2.17.90.orig/sysdeps/unix/sysv/linux/bits/sched.h
|
||||
+++ glibc-2.17.90/sysdeps/unix/sysv/linux/bits/sched.h
|
||||
@@ -111,7 +111,7 @@ struct __sched_param
|
||||
#if defined _SCHED_H && !defined __cpu_set_t_defined
|
||||
# define __cpu_set_t_defined
|
||||
/* Size definition for CPU sets. */
|
||||
-# define __CPU_SETSIZE 1024
|
||||
+# define __CPU_SETSIZE 4096
|
||||
# define __NCPUBITS (8 * sizeof (__cpu_mask))
|
||||
|
||||
/* Type for array elements in 'cpu_set_t'. */
|
@ -1,121 +0,0 @@
|
||||
From libc-alpha-return-22754-pasky=ucw.cz@sourceware.org Tue Mar 16 00:47:00 2010
|
||||
Return-Path: <libc-alpha-return-22754-pasky=ucw.cz@sourceware.org>
|
||||
X-Original-To: pasky@pasky.or.cz
|
||||
Delivered-To: pasky@pasky.or.cz
|
||||
Received: from nikam.ms.mff.cuni.cz (nikam-dmz.ms.mff.cuni.cz [195.113.20.16])
|
||||
by machine.or.cz (Postfix) with ESMTPS id C1B8586202A
|
||||
for <pasky@pasky.or.cz>; Tue, 16 Mar 2010 00:47:00 +0100 (CET)
|
||||
Received: by nikam.ms.mff.cuni.cz (Postfix)
|
||||
id 9CDEC9AC7A4; Tue, 16 Mar 2010 00:47:00 +0100 (CET)
|
||||
Delivered-To: pasky@kam.mff.cuni.cz
|
||||
Received: from jabberwock.ucw.cz (jabberwock.ucw.cz [89.250.246.4])
|
||||
by nikam.ms.mff.cuni.cz (Postfix) with ESMTP id 99F0E9AC77B
|
||||
for <pasky@kam.mff.cuni.cz>; Tue, 16 Mar 2010 00:47:00 +0100 (CET)
|
||||
Received: from sourceware.org (server1.sourceware.org [209.132.180.131])
|
||||
by jabberwock.ucw.cz (Postfix) with SMTP id 14E1ACF040
|
||||
for <pasky@ucw.cz>; Tue, 16 Mar 2010 00:46:59 +0100 (CET)
|
||||
Received: (qmail 18956 invoked by alias); 15 Mar 2010 23:46:58 -0000
|
||||
Delivered-To: moderator for libc-alpha@sourceware.org
|
||||
Received: (qmail 15843 invoked by uid 22791); 15 Mar 2010 17:23:15 -0000
|
||||
X-SWARE-Spam-Status: No, hits=-2.6 required=5.0
|
||||
tests=BAYES_00
|
||||
X-Spam-Check-By: sourceware.org
|
||||
Message-ID: <4B9E6CFA.7020002@riot.org>
|
||||
Date: Mon, 15 Mar 2010 18:23:06 +0100
|
||||
From: Sebastian Kienzl <seb@riot.org>
|
||||
User-Agent: Thunderbird 2.0.0.23 (Windows/20090812)
|
||||
MIME-Version: 1.0
|
||||
To: libc-alpha@sourceware.org
|
||||
Subject: Reloading of /etc/resolv.conf
|
||||
Content-Type: multipart/mixed;
|
||||
boundary="------------060407080409020101000002"
|
||||
Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm
|
||||
Precedence: bulk
|
||||
List-Id: <libc-alpha.sourceware.org>
|
||||
List-Unsubscribe: <mailto:libc-alpha-unsubscribe-pasky=ucw.cz@sourceware.org>
|
||||
List-Subscribe: <mailto:libc-alpha-subscribe@sourceware.org>
|
||||
List-Archive: <http://sourceware.org/ml/libc-alpha/>
|
||||
List-Post: <mailto:libc-alpha@sourceware.org>
|
||||
List-Help: <mailto:libc-alpha-help@sourceware.org>, <http://sourceware.org/ml/#faqs>
|
||||
Sender: libc-alpha-owner@sourceware.org
|
||||
Delivered-To: mailing list libc-alpha@sourceware.org
|
||||
|
||||
This is a multi-part message in MIME format.
|
||||
--------------060407080409020101000002
|
||||
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
|
||||
Content-Transfer-Encoding: 7bit
|
||||
|
||||
Hello!
|
||||
|
||||
There's a patch in the wild against the resolver which makes it reload
|
||||
/etc/resolv.conf on change, see
|
||||
http://sources.redhat.com/ml/libc-alpha/2004-09/msg00130.html
|
||||
|
||||
However, this patch actually doesn't work properly for multi-threaded
|
||||
programs, as only one thread will notice the change and refresh its
|
||||
resolver state. I've attached a proper patch. It's for 2.5 but it should
|
||||
work with current versions, too.
|
||||
|
||||
Even though the patch may not be interesting for upstream, I decided to
|
||||
let you know about this problem, since the mentioned patch seems to be
|
||||
used by at least Debian and Ubuntu.
|
||||
|
||||
Regards,
|
||||
Seb.
|
||||
|
||||
|
||||
|
||||
--------------060407080409020101000002
|
||||
Content-Type: text/plain;
|
||||
name="glibc-2.5-resolvconf.patch"
|
||||
Content-Transfer-Encoding: 7bit
|
||||
Content-Disposition: inline;
|
||||
filename="glibc-2.5-resolvconf.patch"
|
||||
|
||||
Index: glibc-2.17.90/resolv/res_libc.c
|
||||
===================================================================
|
||||
--- glibc-2.17.90.orig/resolv/res_libc.c
|
||||
+++ glibc-2.17.90/resolv/res_libc.c
|
||||
@@ -22,6 +22,7 @@
|
||||
#include <arpa/nameser.h>
|
||||
#include <resolv.h>
|
||||
#include <libc-lock.h>
|
||||
+#include <sys/stat.h>
|
||||
|
||||
extern unsigned long long int __res_initstamp attribute_hidden;
|
||||
/* We have atomic increment operations on 64-bit platforms. */
|
||||
@@ -89,12 +89,34 @@ res_init(void) {
|
||||
return (__res_vinit(&_res, 1));
|
||||
}
|
||||
|
||||
+static time_t resconf_mtime;
|
||||
+__libc_lock_define_initialized (static, resconf_mtime_lock);
|
||||
+
|
||||
+/* Check if the modification time of resolv.conf has changed.
|
||||
+ If so, have all threads re-initialize their resolver states */
|
||||
+static void
|
||||
+__res_check_resconf (void)
|
||||
+{
|
||||
+ struct stat statbuf;
|
||||
+ if (stat (_PATH_RESCONF, &statbuf) == 0) {
|
||||
+ __libc_lock_lock (resconf_mtime_lock);
|
||||
+ if (statbuf.st_mtime != resconf_mtime) {
|
||||
+ resconf_mtime = statbuf.st_mtime;
|
||||
+ atomicinclock (lock);
|
||||
+ atomicinc (__res_initstamp);
|
||||
+ atomicincunlock (lock);
|
||||
+ }
|
||||
+ __libc_lock_unlock (resconf_mtime_lock);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
/* Initialize resp if RES_INIT is not yet set or if res_init in some other
|
||||
thread requested re-initializing. */
|
||||
int
|
||||
__res_maybe_init (res_state resp, int preinit)
|
||||
{
|
||||
if (resp->options & RES_INIT) {
|
||||
+ __res_check_resconf ();
|
||||
if (__res_initstamp != resp->_u._ext.initstamp) {
|
||||
if (resp->nscount > 0)
|
||||
__res_iclose (resp, true);
|
@ -1,3 +1,110 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 2 14:32:58 UTC 2017 - schwab@suse.de
|
||||
|
||||
- Update to glibc 2.26
|
||||
* A per-thread cache has been added to malloc
|
||||
* Unicode 10.0.0 Support
|
||||
* Improvements to the DNS stub resolver
|
||||
* New function reallocarray, which resizes an allocated block (like
|
||||
realloc) to the product of two sizes, with a guaranteed clean failure
|
||||
upon integer overflow in the multiplication
|
||||
* New wrappers for the Linux-specific system calls preadv2 and pwritev2
|
||||
* posix_spawnattr_setflags now supports the flag POSIX_SPAWN_SETSID, to
|
||||
create a new session ID for the spawned process
|
||||
* errno.h is now safe to use from C-preprocessed assembly language on all
|
||||
supported operating systems
|
||||
* On ia64, powerpc64le, x86-32, and x86-64, the math library now implements
|
||||
128-bit floating point as defined by ISO/IEC/IEEE 60559:2011 (IEEE
|
||||
754-2008) and ISO/IEC TS 18661-3:2015
|
||||
* The synchronization that pthread_spin_unlock performs has been changed to
|
||||
now be equivalent to a C11 atomic store with release memory order to the
|
||||
spin lock's memory location
|
||||
* The DNS stub resolver no longer performs EDNS fallback
|
||||
* res_mkquery and res_nmkquery no longer support the IQUERY opcode
|
||||
* The _res_opcodes variable has been removed from libresolv
|
||||
* <string.h> no longer includes inline versions of any string functions,
|
||||
as this kind of optimization is better done by the compiler
|
||||
* The nonstandard header <xlocale.h> has been removed
|
||||
* The obsolete header <sys/ultrasound.h> has been removed
|
||||
* The obsolete signal constant SIGUNUSED is no longer defined by <signal.h>
|
||||
* The obsolete function cfree has been removed
|
||||
* The stack_t type no longer has the name struct sigaltstack
|
||||
* The ucontext_t type no longer has the name struct ucontext
|
||||
* On S/390 GNU/Linux, the constants defined by <sys/ptrace.h> have been
|
||||
synced with the kernel
|
||||
* Linux kernel 3.2 or later is required at runtime, on all architectures
|
||||
supported by that kernel
|
||||
* The DNS stub resolver limits the advertised UDP buffer size to 1200 bytes,
|
||||
to avoid fragmentation-based spoofing attacks (CVE-2017-12132)
|
||||
* LD_LIBRARY_PATH is now ignored in binaries running in privileged
|
||||
AT_SECURE mode to guard against local privilege escalation attacks
|
||||
(CVE-2017-1000366)
|
||||
* Avoid printing a backtrace from the __stack_chk_fail function since it
|
||||
is called on a corrupt stack and a backtrace is unreliable on a
|
||||
corrupt stack (CVE-2010-3192)
|
||||
* A use-after-free vulnerability in clntudp_call in the Sun RPC system
|
||||
has been fixed (CVE-2017-12133)
|
||||
* fate#322258, fate#321513, fate#322453
|
||||
- fts-symbol-redirect.patch, glibc-resolv-reload.diff, glibc-2.2-sunrpc.diff,
|
||||
i686-memchr-sse.patch, ld-hwcap-mask-suid.patch, ld-library-path-suid.patch,
|
||||
sunrpc-use-after-free.patch, test-math-vector-sincos-aliasing.patch,
|
||||
tunables-bigendian.patch: Removed
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 25 07:32:25 UTC 2017 - schwab@suse.de
|
||||
|
||||
- Fix RPM group
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 20 12:17:21 UTC 2017 - schwab@suse.de
|
||||
|
||||
- s390-elision-enable-envvar.patch: enable TLE only if
|
||||
GLIBC_ELISION_ENABLE=yes is defined (fate#322271)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 21 15:15:12 UTC 2017 - schwab@suse.de
|
||||
|
||||
- ld-hwcap-mask-suid.patch: Ignore and remove LD_HWCAP_MASK for AT_SECURE
|
||||
programs (BZ #21209)
|
||||
- ld-library-path-suid.patch: Completely ignore LD_LIBRARY_PATH for
|
||||
AT_SECURE=1 programs (CVE-2017-1000366, bsc#1039357, BZ #21624)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 14 12:22:21 UTC 2017 - schwab@suse.de
|
||||
|
||||
- Remove glibc-cpusetsize.diff, no longer useful
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed May 31 10:35:31 UTC 2017 - schwab@suse.de
|
||||
|
||||
- fts-symbol-redirect.patch: Fix symbol redirect for fts_set (bsc#1041123,
|
||||
BZ #21289)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon May 29 18:10:31 UTC 2017 - schwab@suse.de
|
||||
|
||||
- test-math-vector-sincos-aliasing.patch: Fix test-math-vector-sincos.h
|
||||
aliasing
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon May 29 10:24:22 UTC 2017 - schwab@suse.de
|
||||
|
||||
- add-locales.patch: renamed from glibc-2.3.locales.diff.bz2, drop en_BE
|
||||
locales (bsc#1039502)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 23 09:54:08 UTC 2017 - schwab@suse.de
|
||||
|
||||
- Remove glibc-testsuite.patch, no longer relevant
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon May 22 10:04:59 UTC 2017 - schwab@suse.de
|
||||
|
||||
- Use multibuild feature
|
||||
- Remove obsolete check-build.sh
|
||||
- glibc.rpmlintrc: remove obsolete entries
|
||||
- Use %tmpfiles_create in nscd postin
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Mar 29 13:09:49 UTC 2017 - schwab@suse.de
|
||||
|
||||
|
@ -1,15 +0,0 @@
|
||||
test-lfs runs for ever on ReiserFS. Let's disable it completely.
|
||||
|
||||
Index: glibc-2.17.90/io/Makefile
|
||||
===================================================================
|
||||
--- glibc-2.17.90.orig/io/Makefile
|
||||
+++ glibc-2.17.90/io/Makefile
|
||||
@@ -63,7 +63,7 @@ static-only-routines = stat fstat lstat
|
||||
|
||||
others := pwd
|
||||
test-srcs := ftwtest
|
||||
-tests := test-utime test-stat test-stat2 test-lfs tst-getcwd \
|
||||
+tests := test-utime test-stat test-stat2 tst-getcwd \
|
||||
tst-fcntl bug-ftw1 bug-ftw2 bug-ftw3 bug-ftw4 tst-statvfs \
|
||||
tst-openat tst-unlinkat tst-fstatat tst-futimesat \
|
||||
tst-renameat tst-fchownat tst-fchmodat tst-faccessat \
|
@ -16,27 +16,35 @@
|
||||
#
|
||||
|
||||
|
||||
%define build_snapshot 0
|
||||
|
||||
# PLEASE run pre_checkin.sh in this directory before submitting
|
||||
# this package. Otherwise the .spec and .changes for glibc-testsuite
|
||||
# and glibc-utils aren't updated.
|
||||
|
||||
# Run with osc --with=fast_build to have a shorter turnaround
|
||||
# It will avoid building some parts of glibc
|
||||
%bcond_with fast_build
|
||||
|
||||
%define crypt_bf_version 1.3
|
||||
%define build_snapshot 0
|
||||
|
||||
%define flavor testsuite
|
||||
|
||||
Name: glibc-testsuite
|
||||
%define normal_build ("%{name}" == "glibc")
|
||||
%define utils_build ("%{name}" == "glibc-utils")
|
||||
%define testsuite_build ("%{name}" == "glibc-testsuite")
|
||||
# UTILS-SUMMARY-BEGIN
|
||||
Summary: Standard Shared Libraries (from the GNU C Library)
|
||||
License: LGPL-2.1+ and SUSE-LGPL-2.1+-with-GCC-exception and GPL-2.0+
|
||||
Group: System/Libraries
|
||||
# UTILS-SUMMARY-END
|
||||
Summary: Testsuite results from the GNU C Library
|
||||
License: LGPL-2.1+
|
||||
Group: Development/Libraries/C and C++
|
||||
|
||||
%bcond_with all
|
||||
%define build_main 1
|
||||
%define build_utils %{with all}
|
||||
%define build_testsuite %{with all}
|
||||
%if "%flavor" == "utils"
|
||||
%define build_main 0
|
||||
%define build_utils 1
|
||||
%define build_testsuite 0
|
||||
%endif
|
||||
%if "%flavor" == "testsuite"
|
||||
%define build_main 0
|
||||
%define build_utils 0
|
||||
%define build_testsuite 1
|
||||
%endif
|
||||
|
||||
BuildRequires: audit-devel
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: libcap-devel
|
||||
@ -45,16 +53,21 @@ BuildRequires: makeinfo
|
||||
BuildRequires: pwdutils
|
||||
BuildRequires: systemd-rpm-macros
|
||||
BuildRequires: xz
|
||||
%if %{testsuite_build}
|
||||
%if %{build_testsuite}
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: gdb
|
||||
BuildRequires: glibc-devel-static
|
||||
BuildRequires: libstdc++-devel
|
||||
BuildRequires: python-pexpect
|
||||
%endif
|
||||
%if %{utils_build}
|
||||
%if %{build_utils}
|
||||
BuildRequires: gd-devel
|
||||
%endif
|
||||
%if "%flavor" == "i686"
|
||||
ExclusiveArch: i586 i686
|
||||
BuildArch: i686
|
||||
%global optflags %(echo "%optflags"|sed -e s/i586/i686/) -march=i686 -mtune=generic
|
||||
%endif
|
||||
|
||||
%define __filter_GLIBC_PRIVATE 1
|
||||
%ifarch i686
|
||||
@ -64,7 +77,7 @@ BuildRequires: gd-devel
|
||||
%define build_locales 1
|
||||
%define build_html 0
|
||||
%else
|
||||
%if %{with fast_build} || %{utils_build}
|
||||
%if %{with fast_build} || %{build_utils} && %{without all}
|
||||
%define build_profile 0
|
||||
%define build_locales 0
|
||||
%define build_html 0
|
||||
@ -76,7 +89,7 @@ BuildRequires: gd-devel
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%define build_variants %{normal_build}
|
||||
%define build_variants %{build_main}
|
||||
|
||||
%define disable_assert 0
|
||||
%define enable_stackguard_randomization 1
|
||||
@ -103,14 +116,23 @@ BuildRequires: gd-devel
|
||||
%define powerpc_optimize_cpu_power7 0
|
||||
%define powerpc_optimize_cpu_cell 0
|
||||
%endif # ppc, ppc64
|
||||
# 3.0 is the SLES 11 SP3 kernel
|
||||
# 3.1 is the openSUSE 12.1 kernel
|
||||
%define enablekernel 3.0
|
||||
# glibc requires at least kernel 3.2
|
||||
%define enablekernel 3.2
|
||||
# some architectures need a newer kernel
|
||||
%ifarch ppc64le
|
||||
%define enablekernel 3.10
|
||||
%endif
|
||||
%ifarch aarch64
|
||||
%define enablekernel 3.7
|
||||
%endif
|
||||
%ifarch ia64
|
||||
%define enablekernel 3.2.18
|
||||
%endif
|
||||
|
||||
Version: 2.25
|
||||
Version: 2.26
|
||||
Release: 0
|
||||
%if !%{build_snapshot}
|
||||
%define git_id db0242e30234
|
||||
%define git_id 1c9a5c270d8b
|
||||
%define libversion %version
|
||||
%else
|
||||
%define git_id %(echo %version | sed 's/.*\.g//')
|
||||
@ -118,9 +140,11 @@ Release: 0
|
||||
%endif
|
||||
Url: http://www.gnu.org/software/libc/libc.html
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
Source: http://ftp.gnu.org/pub/gnu/glibc/glibc-%{version}.tar.xz
|
||||
%if !%{build_snapshot}
|
||||
Source: http://ftp.gnu.org/pub/gnu/glibc/glibc-%{version}.tar.xz
|
||||
Source1: http://ftp.gnu.org/pub/gnu/glibc/glibc-%{version}.tar.xz.sig
|
||||
%else
|
||||
Source: glibc-%{version}.tar.xz
|
||||
%endif
|
||||
Source2: http://savannah.gnu.org/project/memberlist-gpgkeys.php?group=libc&download=1#/glibc.keyring
|
||||
Source3: noversion.tar.bz2
|
||||
@ -138,7 +162,7 @@ Source50: http://www.openwall.com/crypt/crypt_blowfish-%{crypt_bf_version}
|
||||
# The sign key uses MD5 which is no longer accepted by gpg
|
||||
#Source51: http://www.openwall.com/crypt/crypt_blowfish-%{crypt_bf_version}.tar.gz.sign
|
||||
|
||||
%if %{normal_build}
|
||||
%if %{build_main}
|
||||
# ngpt was used in 8.1 and SLES8
|
||||
Obsoletes: ngpt < 2.2.2
|
||||
Obsoletes: ngpt-devel < 2.2.2
|
||||
@ -160,8 +184,8 @@ Provides: ld-linux.so.3(GLIBC_2.4)
|
||||
Requires(pre): filesystem
|
||||
Recommends: glibc-extra
|
||||
Provides: rtld(GNU_HASH)
|
||||
%endif # %{normal_build}
|
||||
%if %{utils_build}
|
||||
%endif
|
||||
%if %{build_utils}
|
||||
Requires: glibc = %{version}
|
||||
%endif
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
@ -207,8 +231,6 @@ Patch8: glibc-nscd.conf.patch
|
||||
Patch9: glibc-nodate.patch
|
||||
# PATCH-FIX-OPENSUSE -- add some extra information to version output - kukuk@suse.de
|
||||
Patch10: glibc-version.diff
|
||||
# PATCH-FIX-OPENSUSE remove lfs test from testsuite aj@suse.de
|
||||
Patch11: glibc-testsuite.patch
|
||||
# PATCH-FIX-OPENSUSE handle old glibc binaries
|
||||
Patch12: glibc-2.3.90-noversion.diff
|
||||
# PATCH-FIX-OPENSUSE -- Make --no-archive default for localedef - kukuk@suse.de
|
||||
@ -217,16 +239,16 @@ Patch13: glibc-2.3.2.no_archive.diff
|
||||
Patch14: glibc-bindresvport-blacklist.diff
|
||||
# PATCH-FIX-OPENSUSE prefer -lang rpm packages
|
||||
Patch15: glibc-2.3.90-langpackdir.diff
|
||||
# PATCH-FEATURE-SLE increase cpusetsize to 4096, needs to be kept for compatibility kukuk@suse.de (XXX: Review)
|
||||
Patch18: glibc-cpusetsize.diff
|
||||
# PATCH-FEATURE-SLE Use nscd user for nscd
|
||||
Patch19: nscd-server-user.patch
|
||||
# PATCH-FEATURE-SLE powerpc: enable TLE only if GLIBC_ELISION_ENABLE=yes is defined
|
||||
Patch21: powerpc-elision-enable-envvar.patch
|
||||
# PATCH-FEATURE-SLE s390: enable TLE only if GLIBC_ELISION_ENABLE=yes is defined
|
||||
Patch22: s390-elision-enable-envvar.patch
|
||||
|
||||
### Locale related patches
|
||||
# PATCH-FIX-OPENSUSE Add additional locales
|
||||
Patch100: glibc-2.3.locales.diff.bz2
|
||||
Patch100: add-locales.patch
|
||||
# PATCH-FIX-OPENSUSE -- Add no_NO back (XXX: Still needed?)
|
||||
Patch102: glibc-2.4.90-no_NO.diff
|
||||
# PATCH-FIX-OPENSUSE -- Renames for China
|
||||
@ -239,10 +261,6 @@ Patch105: glibc-disable-gettext-for-c-utf8.patch
|
||||
### Broken patches in glibc that we revert for now:
|
||||
|
||||
### Network related patches
|
||||
# PATCH-FIX-OPENSUSE reload /etc/resolv.conf on change
|
||||
Patch300: glibc-resolv-reload.diff
|
||||
# PATCH-FIX-OPENSUSE Fix hangs in UDP RPC calls bso#5379 bnc#257745 aj@suse.de
|
||||
Patch301: glibc-2.2-sunrpc.diff
|
||||
# PATCH-FIX-OPENSUSE Warn about usage of mdns in resolv.conv
|
||||
Patch304: glibc-resolv-mdnshint.diff
|
||||
# PATCH-FIX-OPENSUSE disable rewriting ::1 to 127.0.0.1 for /etc/hosts bnc#684534, bnc#706719
|
||||
@ -251,12 +269,6 @@ Patch306: glibc-fix-double-loopback.diff
|
||||
###
|
||||
# Patches from upstream
|
||||
###
|
||||
# PATCH-FIX-UPSTREAM Fix getting tunable values on big-endian (BZ #21109)
|
||||
Patch1000: tunables-bigendian.patch
|
||||
# PATCH-FIX-UPSTREAM Fix i686 memchr overflow calculation (BZ #21182)
|
||||
Patch1001: i686-memchr-sse.patch
|
||||
# PATCH-FIX-UPSTREAM Avoid use-after-free read access in clntudp_call (BZ #21115)
|
||||
Patch1002: sunrpc-use-after-free.patch
|
||||
|
||||
###
|
||||
# Patches awaiting upstream approval
|
||||
@ -281,10 +293,22 @@ Patch2008: reinitialize-dl_load_write_lock.patch
|
||||
Patch3000: manpages.patch
|
||||
|
||||
%description
|
||||
%if %build_main
|
||||
The GNU C Library provides the most important standard libraries used
|
||||
by nearly all programs: the standard C library, the standard math
|
||||
library, and the POSIX thread library. A system is not functional
|
||||
without these libraries.
|
||||
%endif
|
||||
%if %build_utils
|
||||
The glibc-utils package contains mtrace, a memory leak tracer and
|
||||
xtrace, a function call tracer which can be helpful during program
|
||||
debugging.
|
||||
|
||||
If you are unsure if you need this, do not install this package.
|
||||
%endif
|
||||
%if %build_testsuite
|
||||
This package contains the testsuite results from the GNU C Library.
|
||||
%endif
|
||||
|
||||
%package info
|
||||
Summary: Info Files for the GNU C Library
|
||||
@ -408,7 +432,7 @@ which is highly discouraged.
|
||||
%package extra
|
||||
Summary: Extra binaries from GNU C Library
|
||||
License: LGPL-2.1+
|
||||
Group: Development/Languages/C and C++
|
||||
Group: Development/Libraries/C and C++
|
||||
Requires: glibc = %{version}
|
||||
|
||||
%description extra
|
||||
@ -457,14 +481,13 @@ touch -r nscd/nscd_stat.c nscd/s-stamp
|
||||
touch -r nscd/s-stamp nscd/nscd_stat.c
|
||||
rm nscd/s-stamp
|
||||
%patch10 -p1
|
||||
%patch11 -p1
|
||||
%patch12 -p1
|
||||
%patch13 -p1
|
||||
%patch14 -p1
|
||||
%patch15 -p1
|
||||
%patch18 -p1
|
||||
%patch19 -p1
|
||||
%patch21 -p1
|
||||
%patch22 -p1
|
||||
|
||||
%patch100 -p1
|
||||
%patch102 -p1
|
||||
@ -472,15 +495,9 @@ rm nscd/s-stamp
|
||||
%patch104 -p1
|
||||
%patch105 -p1
|
||||
|
||||
%patch300 -p1
|
||||
%patch301 -p1
|
||||
%patch304 -p1
|
||||
%patch306 -p1
|
||||
|
||||
%patch1000 -p1
|
||||
%patch1001 -p1
|
||||
%patch1002 -p1
|
||||
|
||||
%patch2000 -p1
|
||||
%patch2001 -p1
|
||||
%patch2002 -p1
|
||||
@ -636,7 +653,7 @@ configure_and_build_glibc() {
|
||||
$profile $elision \
|
||||
"$@" \
|
||||
--build=%{target} --host=%{target} \
|
||||
%ifarch armv7hl ppc ppc64 ppc64le %{ix86} x86_64 sparc sparc64 s390 s390x
|
||||
%ifarch armv7hl ppc ppc64 ppc64le i686 x86_64 sparc sparc64 s390 s390x
|
||||
--enable-multi-arch \
|
||||
%endif
|
||||
%ifarch mipsel
|
||||
@ -652,7 +669,8 @@ configure_and_build_glibc() {
|
||||
--enable-tunables \
|
||||
--enable-kernel=%{enablekernel} \
|
||||
--with-bugurl=http://bugs.opensuse.org \
|
||||
--enable-bind-now --enable-obsolete-rpc \
|
||||
--enable-bind-now \
|
||||
--enable-obsolete-rpc --enable-obsolete-nsl \
|
||||
--disable-timezone-tools
|
||||
# Should we enable --enable-systemtap?
|
||||
# Should we enable --enable-nss-crypt to build use freebl3 hash functions?
|
||||
@ -751,7 +769,7 @@ popd
|
||||
#######################################################################
|
||||
|
||||
%check
|
||||
%if %{testsuite_build}
|
||||
%if %{build_testsuite}
|
||||
# The testsuite will fail if asneeded is used
|
||||
export SUSE_ASNEEDED=0
|
||||
# Increase timeout
|
||||
@ -793,7 +811,7 @@ make %{?_smp_mflags} -C cc-base check-abi
|
||||
#######################################################################
|
||||
|
||||
%install
|
||||
%if %{normal_build}
|
||||
%if %{build_main}
|
||||
# We don't want to strip the .symtab from our libraries in find-debuginfo.sh,
|
||||
# certainly not from libpthread.so.* because it is used by libthread_db to find
|
||||
# some non-exported symbols in order to detect if threading support
|
||||
@ -994,6 +1012,7 @@ ln -s ld-%{libversion}.so %{buildroot}/lib/ld-linux.so.3
|
||||
mv %{buildroot}%{_bindir}/getconf %{buildroot}%{_libexecdir}/getconf/getconf
|
||||
ln -s %{_libexecdir}/getconf/getconf %{buildroot}%{_bindir}/getconf
|
||||
|
||||
%if !%{build_utils}
|
||||
# Remove unwanted files (packaged in glibc-utils)
|
||||
rm -f %{buildroot}/%{_lib}/libmemusage*
|
||||
rm -f %{buildroot}/%{_lib}/libpcprofile*
|
||||
@ -1011,6 +1030,7 @@ rm -rf %{buildroot}%{_infodir} %{buildroot}%{_prefix}/share/i18n
|
||||
rm -f %{buildroot}%{_bindir}/makedb %{buildroot}/var/lib/misc/Makefile
|
||||
rm -f %{buildroot}%{_sbindir}/nscd
|
||||
%endif # i686
|
||||
%endif # !utils
|
||||
|
||||
# LSB
|
||||
%ifarch %ix86
|
||||
@ -1032,9 +1052,9 @@ ln -sf /%{_lib}/ld.so.1 $RPM_BUILD_ROOT/%{_lib}/ld-lsb-s390.so.3
|
||||
ln -sf /%{_lib}/ld64.so.1 $RPM_BUILD_ROOT/%{_lib}/ld-lsb-s390x.so.3
|
||||
%endif
|
||||
|
||||
%endif # %{normal_build}
|
||||
%else # !main
|
||||
|
||||
%if %{utils_build}
|
||||
%if %{build_utils}
|
||||
|
||||
make %{?_smp_mflags} install_root=%{buildroot} install -C cc-base \
|
||||
subdirs='malloc debug elf'
|
||||
@ -1047,7 +1067,9 @@ rm -f %{buildroot}%{_bindir}/{catchsegv,ldd*,sprof}
|
||||
rm -rf %{buildroot}%{_mandir}/man*
|
||||
rm -rf %{buildroot}/sbin %{buildroot}%{_includedir}
|
||||
|
||||
%endif # %{utils_build}
|
||||
%endif # utils
|
||||
|
||||
%endif # !main
|
||||
|
||||
#######################################################################
|
||||
###
|
||||
@ -1055,13 +1077,9 @@ rm -rf %{buildroot}/sbin %{buildroot}%{_includedir}
|
||||
###
|
||||
#######################################################################
|
||||
|
||||
%if %{normal_build}
|
||||
%post -p %{_sbindir}/glibc_post_upgrade
|
||||
|
||||
%postun -p /sbin/ldconfig
|
||||
|
||||
%endif # %{normal_build}
|
||||
|
||||
%post locale
|
||||
for l in /usr/share/locale/locale.alias %{_libdir}/gconv/gconv-modules; do
|
||||
[ -d "$l.d" ] || continue
|
||||
@ -1086,7 +1104,7 @@ getent passwd nscd >/dev/null || %{_sbindir}/useradd -r -g nscd -c "User for nsc
|
||||
|
||||
%post -n nscd
|
||||
%service_add_post nscd.service
|
||||
mkdir -p /run/nscd
|
||||
%tmpfiles_create /usr/lib/tmpfiles.d/nscd.conf
|
||||
# Previously we had nscd.socket, remove it
|
||||
test -x /usr/bin/systemctl && /usr/bin/systemctl stop nscd.socket 2>/dev/null || :
|
||||
test -x /usr/bin/systemctl && /usr/bin/systemctl disable nscd.socket 2>/dev/null || :
|
||||
@ -1098,14 +1116,8 @@ exit 0
|
||||
%service_del_postun nscd.service
|
||||
exit 0
|
||||
|
||||
%if %{normal_build}
|
||||
%files
|
||||
#######################################################################
|
||||
###
|
||||
### FILES
|
||||
###
|
||||
#######################################################################
|
||||
|
||||
%if %{build_main}
|
||||
# glibc
|
||||
%defattr(-,root,root)
|
||||
%doc LICENSES
|
||||
@ -1381,10 +1393,9 @@ exit 0
|
||||
/var/lib/misc/Makefile
|
||||
%endif # !i686
|
||||
|
||||
%endif # %{normal_build}
|
||||
%endif # main
|
||||
|
||||
%if %{utils_build}
|
||||
%files
|
||||
%if %{build_utils}
|
||||
%defattr(-,root,root)
|
||||
/%{_lib}/libmemusage.so
|
||||
/%{_lib}/libpcprofile.so
|
||||
@ -1397,6 +1408,6 @@ exit 0
|
||||
%{_bindir}/sotruss
|
||||
%{_bindir}/xtrace
|
||||
%{_bindir}/pldd
|
||||
%endif # %{utils_build}
|
||||
%endif # utils
|
||||
|
||||
%changelog
|
||||
|
6
glibc-testsuite.spec.in
Normal file
6
glibc-testsuite.spec.in
Normal file
@ -0,0 +1,6 @@
|
||||
%define flavor testsuite
|
||||
|
||||
Name: glibc-testsuite
|
||||
Summary: Testsuite results from the GNU C Library
|
||||
License: LGPL-2.1+
|
||||
Group: Development/Libraries/C and C++
|
@ -1,3 +1,110 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 2 14:32:58 UTC 2017 - schwab@suse.de
|
||||
|
||||
- Update to glibc 2.26
|
||||
* A per-thread cache has been added to malloc
|
||||
* Unicode 10.0.0 Support
|
||||
* Improvements to the DNS stub resolver
|
||||
* New function reallocarray, which resizes an allocated block (like
|
||||
realloc) to the product of two sizes, with a guaranteed clean failure
|
||||
upon integer overflow in the multiplication
|
||||
* New wrappers for the Linux-specific system calls preadv2 and pwritev2
|
||||
* posix_spawnattr_setflags now supports the flag POSIX_SPAWN_SETSID, to
|
||||
create a new session ID for the spawned process
|
||||
* errno.h is now safe to use from C-preprocessed assembly language on all
|
||||
supported operating systems
|
||||
* On ia64, powerpc64le, x86-32, and x86-64, the math library now implements
|
||||
128-bit floating point as defined by ISO/IEC/IEEE 60559:2011 (IEEE
|
||||
754-2008) and ISO/IEC TS 18661-3:2015
|
||||
* The synchronization that pthread_spin_unlock performs has been changed to
|
||||
now be equivalent to a C11 atomic store with release memory order to the
|
||||
spin lock's memory location
|
||||
* The DNS stub resolver no longer performs EDNS fallback
|
||||
* res_mkquery and res_nmkquery no longer support the IQUERY opcode
|
||||
* The _res_opcodes variable has been removed from libresolv
|
||||
* <string.h> no longer includes inline versions of any string functions,
|
||||
as this kind of optimization is better done by the compiler
|
||||
* The nonstandard header <xlocale.h> has been removed
|
||||
* The obsolete header <sys/ultrasound.h> has been removed
|
||||
* The obsolete signal constant SIGUNUSED is no longer defined by <signal.h>
|
||||
* The obsolete function cfree has been removed
|
||||
* The stack_t type no longer has the name struct sigaltstack
|
||||
* The ucontext_t type no longer has the name struct ucontext
|
||||
* On S/390 GNU/Linux, the constants defined by <sys/ptrace.h> have been
|
||||
synced with the kernel
|
||||
* Linux kernel 3.2 or later is required at runtime, on all architectures
|
||||
supported by that kernel
|
||||
* The DNS stub resolver limits the advertised UDP buffer size to 1200 bytes,
|
||||
to avoid fragmentation-based spoofing attacks (CVE-2017-12132)
|
||||
* LD_LIBRARY_PATH is now ignored in binaries running in privileged
|
||||
AT_SECURE mode to guard against local privilege escalation attacks
|
||||
(CVE-2017-1000366)
|
||||
* Avoid printing a backtrace from the __stack_chk_fail function since it
|
||||
is called on a corrupt stack and a backtrace is unreliable on a
|
||||
corrupt stack (CVE-2010-3192)
|
||||
* A use-after-free vulnerability in clntudp_call in the Sun RPC system
|
||||
has been fixed (CVE-2017-12133)
|
||||
* fate#322258, fate#321513, fate#322453
|
||||
- fts-symbol-redirect.patch, glibc-resolv-reload.diff, glibc-2.2-sunrpc.diff,
|
||||
i686-memchr-sse.patch, ld-hwcap-mask-suid.patch, ld-library-path-suid.patch,
|
||||
sunrpc-use-after-free.patch, test-math-vector-sincos-aliasing.patch,
|
||||
tunables-bigendian.patch: Removed
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 25 07:32:25 UTC 2017 - schwab@suse.de
|
||||
|
||||
- Fix RPM group
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 20 12:17:21 UTC 2017 - schwab@suse.de
|
||||
|
||||
- s390-elision-enable-envvar.patch: enable TLE only if
|
||||
GLIBC_ELISION_ENABLE=yes is defined (fate#322271)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 21 15:15:12 UTC 2017 - schwab@suse.de
|
||||
|
||||
- ld-hwcap-mask-suid.patch: Ignore and remove LD_HWCAP_MASK for AT_SECURE
|
||||
programs (BZ #21209)
|
||||
- ld-library-path-suid.patch: Completely ignore LD_LIBRARY_PATH for
|
||||
AT_SECURE=1 programs (CVE-2017-1000366, bsc#1039357, BZ #21624)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 14 12:22:21 UTC 2017 - schwab@suse.de
|
||||
|
||||
- Remove glibc-cpusetsize.diff, no longer useful
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed May 31 10:35:31 UTC 2017 - schwab@suse.de
|
||||
|
||||
- fts-symbol-redirect.patch: Fix symbol redirect for fts_set (bsc#1041123,
|
||||
BZ #21289)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon May 29 18:10:31 UTC 2017 - schwab@suse.de
|
||||
|
||||
- test-math-vector-sincos-aliasing.patch: Fix test-math-vector-sincos.h
|
||||
aliasing
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon May 29 10:24:22 UTC 2017 - schwab@suse.de
|
||||
|
||||
- add-locales.patch: renamed from glibc-2.3.locales.diff.bz2, drop en_BE
|
||||
locales (bsc#1039502)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 23 09:54:08 UTC 2017 - schwab@suse.de
|
||||
|
||||
- Remove glibc-testsuite.patch, no longer relevant
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon May 22 10:04:59 UTC 2017 - schwab@suse.de
|
||||
|
||||
- Use multibuild feature
|
||||
- Remove obsolete check-build.sh
|
||||
- glibc.rpmlintrc: remove obsolete entries
|
||||
- Use %tmpfiles_create in nscd postin
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Mar 29 13:09:49 UTC 2017 - schwab@suse.de
|
||||
|
||||
|
156
glibc-utils.spec
156
glibc-utils.spec
@ -16,25 +16,35 @@
|
||||
#
|
||||
|
||||
|
||||
%define build_snapshot 0
|
||||
|
||||
# PLEASE run pre_checkin.sh in this directory before submitting
|
||||
# this package. Otherwise the .spec and .changes for glibc-testsuite
|
||||
# and glibc-utils aren't updated.
|
||||
|
||||
# Run with osc --with=fast_build to have a shorter turnaround
|
||||
# It will avoid building some parts of glibc
|
||||
%bcond_with fast_build
|
||||
|
||||
%define crypt_bf_version 1.3
|
||||
%define build_snapshot 0
|
||||
|
||||
%define flavor utils
|
||||
|
||||
Name: glibc-utils
|
||||
%define normal_build ("%{name}" == "glibc")
|
||||
%define utils_build ("%{name}" == "glibc-utils")
|
||||
%define testsuite_build ("%{name}" == "glibc-testsuite")
|
||||
Summary: Development utilities from GNU C library
|
||||
Summary: Development utilities from the GNU C Library
|
||||
License: LGPL-2.1+
|
||||
Group: Development/Languages/C and C++
|
||||
Group: Development/Libraries/C and C++
|
||||
|
||||
%bcond_with all
|
||||
%define build_main 1
|
||||
%define build_utils %{with all}
|
||||
%define build_testsuite %{with all}
|
||||
%if "%flavor" == "utils"
|
||||
%define build_main 0
|
||||
%define build_utils 1
|
||||
%define build_testsuite 0
|
||||
%endif
|
||||
%if "%flavor" == "testsuite"
|
||||
%define build_main 0
|
||||
%define build_utils 0
|
||||
%define build_testsuite 1
|
||||
%endif
|
||||
|
||||
BuildRequires: audit-devel
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: libcap-devel
|
||||
@ -43,16 +53,21 @@ BuildRequires: makeinfo
|
||||
BuildRequires: pwdutils
|
||||
BuildRequires: systemd-rpm-macros
|
||||
BuildRequires: xz
|
||||
%if %{testsuite_build}
|
||||
%if %{build_testsuite}
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: gdb
|
||||
BuildRequires: glibc-devel-static
|
||||
BuildRequires: libstdc++-devel
|
||||
BuildRequires: python-pexpect
|
||||
%endif
|
||||
%if %{utils_build}
|
||||
%if %{build_utils}
|
||||
BuildRequires: gd-devel
|
||||
%endif
|
||||
%if "%flavor" == "i686"
|
||||
ExclusiveArch: i586 i686
|
||||
BuildArch: i686
|
||||
%global optflags %(echo "%optflags"|sed -e s/i586/i686/) -march=i686 -mtune=generic
|
||||
%endif
|
||||
|
||||
%define __filter_GLIBC_PRIVATE 1
|
||||
%ifarch i686
|
||||
@ -62,7 +77,7 @@ BuildRequires: gd-devel
|
||||
%define build_locales 1
|
||||
%define build_html 0
|
||||
%else
|
||||
%if %{with fast_build} || %{utils_build}
|
||||
%if %{with fast_build} || %{build_utils} && %{without all}
|
||||
%define build_profile 0
|
||||
%define build_locales 0
|
||||
%define build_html 0
|
||||
@ -74,7 +89,7 @@ BuildRequires: gd-devel
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%define build_variants %{normal_build}
|
||||
%define build_variants %{build_main}
|
||||
|
||||
%define disable_assert 0
|
||||
%define enable_stackguard_randomization 1
|
||||
@ -101,14 +116,23 @@ BuildRequires: gd-devel
|
||||
%define powerpc_optimize_cpu_power7 0
|
||||
%define powerpc_optimize_cpu_cell 0
|
||||
%endif # ppc, ppc64
|
||||
# 3.0 is the SLES 11 SP3 kernel
|
||||
# 3.1 is the openSUSE 12.1 kernel
|
||||
%define enablekernel 3.0
|
||||
# glibc requires at least kernel 3.2
|
||||
%define enablekernel 3.2
|
||||
# some architectures need a newer kernel
|
||||
%ifarch ppc64le
|
||||
%define enablekernel 3.10
|
||||
%endif
|
||||
%ifarch aarch64
|
||||
%define enablekernel 3.7
|
||||
%endif
|
||||
%ifarch ia64
|
||||
%define enablekernel 3.2.18
|
||||
%endif
|
||||
|
||||
Version: 2.25
|
||||
Version: 2.26
|
||||
Release: 0
|
||||
%if !%{build_snapshot}
|
||||
%define git_id db0242e30234
|
||||
%define git_id 1c9a5c270d8b
|
||||
%define libversion %version
|
||||
%else
|
||||
%define git_id %(echo %version | sed 's/.*\.g//')
|
||||
@ -116,9 +140,11 @@ Release: 0
|
||||
%endif
|
||||
Url: http://www.gnu.org/software/libc/libc.html
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
Source: http://ftp.gnu.org/pub/gnu/glibc/glibc-%{version}.tar.xz
|
||||
%if !%{build_snapshot}
|
||||
Source: http://ftp.gnu.org/pub/gnu/glibc/glibc-%{version}.tar.xz
|
||||
Source1: http://ftp.gnu.org/pub/gnu/glibc/glibc-%{version}.tar.xz.sig
|
||||
%else
|
||||
Source: glibc-%{version}.tar.xz
|
||||
%endif
|
||||
Source2: http://savannah.gnu.org/project/memberlist-gpgkeys.php?group=libc&download=1#/glibc.keyring
|
||||
Source3: noversion.tar.bz2
|
||||
@ -136,7 +162,7 @@ Source50: http://www.openwall.com/crypt/crypt_blowfish-%{crypt_bf_version}
|
||||
# The sign key uses MD5 which is no longer accepted by gpg
|
||||
#Source51: http://www.openwall.com/crypt/crypt_blowfish-%{crypt_bf_version}.tar.gz.sign
|
||||
|
||||
%if %{normal_build}
|
||||
%if %{build_main}
|
||||
# ngpt was used in 8.1 and SLES8
|
||||
Obsoletes: ngpt < 2.2.2
|
||||
Obsoletes: ngpt-devel < 2.2.2
|
||||
@ -158,8 +184,8 @@ Provides: ld-linux.so.3(GLIBC_2.4)
|
||||
Requires(pre): filesystem
|
||||
Recommends: glibc-extra
|
||||
Provides: rtld(GNU_HASH)
|
||||
%endif # %{normal_build}
|
||||
%if %{utils_build}
|
||||
%endif
|
||||
%if %{build_utils}
|
||||
Requires: glibc = %{version}
|
||||
%endif
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
@ -205,8 +231,6 @@ Patch8: glibc-nscd.conf.patch
|
||||
Patch9: glibc-nodate.patch
|
||||
# PATCH-FIX-OPENSUSE -- add some extra information to version output - kukuk@suse.de
|
||||
Patch10: glibc-version.diff
|
||||
# PATCH-FIX-OPENSUSE remove lfs test from testsuite aj@suse.de
|
||||
Patch11: glibc-testsuite.patch
|
||||
# PATCH-FIX-OPENSUSE handle old glibc binaries
|
||||
Patch12: glibc-2.3.90-noversion.diff
|
||||
# PATCH-FIX-OPENSUSE -- Make --no-archive default for localedef - kukuk@suse.de
|
||||
@ -215,16 +239,16 @@ Patch13: glibc-2.3.2.no_archive.diff
|
||||
Patch14: glibc-bindresvport-blacklist.diff
|
||||
# PATCH-FIX-OPENSUSE prefer -lang rpm packages
|
||||
Patch15: glibc-2.3.90-langpackdir.diff
|
||||
# PATCH-FEATURE-SLE increase cpusetsize to 4096, needs to be kept for compatibility kukuk@suse.de (XXX: Review)
|
||||
Patch18: glibc-cpusetsize.diff
|
||||
# PATCH-FEATURE-SLE Use nscd user for nscd
|
||||
Patch19: nscd-server-user.patch
|
||||
# PATCH-FEATURE-SLE powerpc: enable TLE only if GLIBC_ELISION_ENABLE=yes is defined
|
||||
Patch21: powerpc-elision-enable-envvar.patch
|
||||
# PATCH-FEATURE-SLE s390: enable TLE only if GLIBC_ELISION_ENABLE=yes is defined
|
||||
Patch22: s390-elision-enable-envvar.patch
|
||||
|
||||
### Locale related patches
|
||||
# PATCH-FIX-OPENSUSE Add additional locales
|
||||
Patch100: glibc-2.3.locales.diff.bz2
|
||||
Patch100: add-locales.patch
|
||||
# PATCH-FIX-OPENSUSE -- Add no_NO back (XXX: Still needed?)
|
||||
Patch102: glibc-2.4.90-no_NO.diff
|
||||
# PATCH-FIX-OPENSUSE -- Renames for China
|
||||
@ -237,10 +261,6 @@ Patch105: glibc-disable-gettext-for-c-utf8.patch
|
||||
### Broken patches in glibc that we revert for now:
|
||||
|
||||
### Network related patches
|
||||
# PATCH-FIX-OPENSUSE reload /etc/resolv.conf on change
|
||||
Patch300: glibc-resolv-reload.diff
|
||||
# PATCH-FIX-OPENSUSE Fix hangs in UDP RPC calls bso#5379 bnc#257745 aj@suse.de
|
||||
Patch301: glibc-2.2-sunrpc.diff
|
||||
# PATCH-FIX-OPENSUSE Warn about usage of mdns in resolv.conv
|
||||
Patch304: glibc-resolv-mdnshint.diff
|
||||
# PATCH-FIX-OPENSUSE disable rewriting ::1 to 127.0.0.1 for /etc/hosts bnc#684534, bnc#706719
|
||||
@ -249,12 +269,6 @@ Patch306: glibc-fix-double-loopback.diff
|
||||
###
|
||||
# Patches from upstream
|
||||
###
|
||||
# PATCH-FIX-UPSTREAM Fix getting tunable values on big-endian (BZ #21109)
|
||||
Patch1000: tunables-bigendian.patch
|
||||
# PATCH-FIX-UPSTREAM Fix i686 memchr overflow calculation (BZ #21182)
|
||||
Patch1001: i686-memchr-sse.patch
|
||||
# PATCH-FIX-UPSTREAM Avoid use-after-free read access in clntudp_call (BZ #21115)
|
||||
Patch1002: sunrpc-use-after-free.patch
|
||||
|
||||
###
|
||||
# Patches awaiting upstream approval
|
||||
@ -279,11 +293,22 @@ Patch2008: reinitialize-dl_load_write_lock.patch
|
||||
Patch3000: manpages.patch
|
||||
|
||||
%description
|
||||
%if %build_main
|
||||
The GNU C Library provides the most important standard libraries used
|
||||
by nearly all programs: the standard C library, the standard math
|
||||
library, and the POSIX thread library. A system is not functional
|
||||
without these libraries.
|
||||
%endif
|
||||
%if %build_utils
|
||||
The glibc-utils package contains mtrace, a memory leak tracer and
|
||||
xtrace, a function call tracer which can be helpful during program
|
||||
debugging.
|
||||
|
||||
If you are unsure if you need this, don't install this package.
|
||||
If you are unsure if you need this, do not install this package.
|
||||
%endif
|
||||
%if %build_testsuite
|
||||
This package contains the testsuite results from the GNU C Library.
|
||||
%endif
|
||||
|
||||
%package info
|
||||
Summary: Info Files for the GNU C Library
|
||||
@ -407,7 +432,7 @@ which is highly discouraged.
|
||||
%package extra
|
||||
Summary: Extra binaries from GNU C Library
|
||||
License: LGPL-2.1+
|
||||
Group: Development/Languages/C and C++
|
||||
Group: Development/Libraries/C and C++
|
||||
Requires: glibc = %{version}
|
||||
|
||||
%description extra
|
||||
@ -456,14 +481,13 @@ touch -r nscd/nscd_stat.c nscd/s-stamp
|
||||
touch -r nscd/s-stamp nscd/nscd_stat.c
|
||||
rm nscd/s-stamp
|
||||
%patch10 -p1
|
||||
%patch11 -p1
|
||||
%patch12 -p1
|
||||
%patch13 -p1
|
||||
%patch14 -p1
|
||||
%patch15 -p1
|
||||
%patch18 -p1
|
||||
%patch19 -p1
|
||||
%patch21 -p1
|
||||
%patch22 -p1
|
||||
|
||||
%patch100 -p1
|
||||
%patch102 -p1
|
||||
@ -471,15 +495,9 @@ rm nscd/s-stamp
|
||||
%patch104 -p1
|
||||
%patch105 -p1
|
||||
|
||||
%patch300 -p1
|
||||
%patch301 -p1
|
||||
%patch304 -p1
|
||||
%patch306 -p1
|
||||
|
||||
%patch1000 -p1
|
||||
%patch1001 -p1
|
||||
%patch1002 -p1
|
||||
|
||||
%patch2000 -p1
|
||||
%patch2001 -p1
|
||||
%patch2002 -p1
|
||||
@ -635,7 +653,7 @@ configure_and_build_glibc() {
|
||||
$profile $elision \
|
||||
"$@" \
|
||||
--build=%{target} --host=%{target} \
|
||||
%ifarch armv7hl ppc ppc64 ppc64le %{ix86} x86_64 sparc sparc64 s390 s390x
|
||||
%ifarch armv7hl ppc ppc64 ppc64le i686 x86_64 sparc sparc64 s390 s390x
|
||||
--enable-multi-arch \
|
||||
%endif
|
||||
%ifarch mipsel
|
||||
@ -651,7 +669,8 @@ configure_and_build_glibc() {
|
||||
--enable-tunables \
|
||||
--enable-kernel=%{enablekernel} \
|
||||
--with-bugurl=http://bugs.opensuse.org \
|
||||
--enable-bind-now --enable-obsolete-rpc \
|
||||
--enable-bind-now \
|
||||
--enable-obsolete-rpc --enable-obsolete-nsl \
|
||||
--disable-timezone-tools
|
||||
# Should we enable --enable-systemtap?
|
||||
# Should we enable --enable-nss-crypt to build use freebl3 hash functions?
|
||||
@ -750,7 +769,7 @@ popd
|
||||
#######################################################################
|
||||
|
||||
%check
|
||||
%if %{testsuite_build}
|
||||
%if %{build_testsuite}
|
||||
# The testsuite will fail if asneeded is used
|
||||
export SUSE_ASNEEDED=0
|
||||
# Increase timeout
|
||||
@ -792,7 +811,7 @@ make %{?_smp_mflags} -C cc-base check-abi
|
||||
#######################################################################
|
||||
|
||||
%install
|
||||
%if %{normal_build}
|
||||
%if %{build_main}
|
||||
# We don't want to strip the .symtab from our libraries in find-debuginfo.sh,
|
||||
# certainly not from libpthread.so.* because it is used by libthread_db to find
|
||||
# some non-exported symbols in order to detect if threading support
|
||||
@ -993,6 +1012,7 @@ ln -s ld-%{libversion}.so %{buildroot}/lib/ld-linux.so.3
|
||||
mv %{buildroot}%{_bindir}/getconf %{buildroot}%{_libexecdir}/getconf/getconf
|
||||
ln -s %{_libexecdir}/getconf/getconf %{buildroot}%{_bindir}/getconf
|
||||
|
||||
%if !%{build_utils}
|
||||
# Remove unwanted files (packaged in glibc-utils)
|
||||
rm -f %{buildroot}/%{_lib}/libmemusage*
|
||||
rm -f %{buildroot}/%{_lib}/libpcprofile*
|
||||
@ -1010,6 +1030,7 @@ rm -rf %{buildroot}%{_infodir} %{buildroot}%{_prefix}/share/i18n
|
||||
rm -f %{buildroot}%{_bindir}/makedb %{buildroot}/var/lib/misc/Makefile
|
||||
rm -f %{buildroot}%{_sbindir}/nscd
|
||||
%endif # i686
|
||||
%endif # !utils
|
||||
|
||||
# LSB
|
||||
%ifarch %ix86
|
||||
@ -1031,9 +1052,9 @@ ln -sf /%{_lib}/ld.so.1 $RPM_BUILD_ROOT/%{_lib}/ld-lsb-s390.so.3
|
||||
ln -sf /%{_lib}/ld64.so.1 $RPM_BUILD_ROOT/%{_lib}/ld-lsb-s390x.so.3
|
||||
%endif
|
||||
|
||||
%endif # %{normal_build}
|
||||
%else # !main
|
||||
|
||||
%if %{utils_build}
|
||||
%if %{build_utils}
|
||||
|
||||
make %{?_smp_mflags} install_root=%{buildroot} install -C cc-base \
|
||||
subdirs='malloc debug elf'
|
||||
@ -1046,7 +1067,9 @@ rm -f %{buildroot}%{_bindir}/{catchsegv,ldd*,sprof}
|
||||
rm -rf %{buildroot}%{_mandir}/man*
|
||||
rm -rf %{buildroot}/sbin %{buildroot}%{_includedir}
|
||||
|
||||
%endif # %{utils_build}
|
||||
%endif # utils
|
||||
|
||||
%endif # !main
|
||||
|
||||
#######################################################################
|
||||
###
|
||||
@ -1054,13 +1077,9 @@ rm -rf %{buildroot}/sbin %{buildroot}%{_includedir}
|
||||
###
|
||||
#######################################################################
|
||||
|
||||
%if %{normal_build}
|
||||
%post -p %{_sbindir}/glibc_post_upgrade
|
||||
|
||||
%postun -p /sbin/ldconfig
|
||||
|
||||
%endif # %{normal_build}
|
||||
|
||||
%post locale
|
||||
for l in /usr/share/locale/locale.alias %{_libdir}/gconv/gconv-modules; do
|
||||
[ -d "$l.d" ] || continue
|
||||
@ -1085,7 +1104,7 @@ getent passwd nscd >/dev/null || %{_sbindir}/useradd -r -g nscd -c "User for nsc
|
||||
|
||||
%post -n nscd
|
||||
%service_add_post nscd.service
|
||||
mkdir -p /run/nscd
|
||||
%tmpfiles_create /usr/lib/tmpfiles.d/nscd.conf
|
||||
# Previously we had nscd.socket, remove it
|
||||
test -x /usr/bin/systemctl && /usr/bin/systemctl stop nscd.socket 2>/dev/null || :
|
||||
test -x /usr/bin/systemctl && /usr/bin/systemctl disable nscd.socket 2>/dev/null || :
|
||||
@ -1097,14 +1116,8 @@ exit 0
|
||||
%service_del_postun nscd.service
|
||||
exit 0
|
||||
|
||||
%if %{normal_build}
|
||||
%files
|
||||
#######################################################################
|
||||
###
|
||||
### FILES
|
||||
###
|
||||
#######################################################################
|
||||
|
||||
%if %{build_main}
|
||||
# glibc
|
||||
%defattr(-,root,root)
|
||||
%doc LICENSES
|
||||
@ -1380,10 +1393,9 @@ exit 0
|
||||
/var/lib/misc/Makefile
|
||||
%endif # !i686
|
||||
|
||||
%endif # %{normal_build}
|
||||
%endif # main
|
||||
|
||||
%if %{utils_build}
|
||||
%files
|
||||
%if %{build_utils}
|
||||
%defattr(-,root,root)
|
||||
/%{_lib}/libmemusage.so
|
||||
/%{_lib}/libpcprofile.so
|
||||
@ -1396,6 +1408,6 @@ exit 0
|
||||
%{_bindir}/sotruss
|
||||
%{_bindir}/xtrace
|
||||
%{_bindir}/pldd
|
||||
%endif # %{utils_build}
|
||||
%endif # utils
|
||||
|
||||
%changelog
|
||||
|
6
glibc-utils.spec.in
Normal file
6
glibc-utils.spec.in
Normal file
@ -0,0 +1,6 @@
|
||||
%define flavor utils
|
||||
|
||||
Name: glibc-utils
|
||||
Summary: Development utilities from the GNU C Library
|
||||
License: LGPL-2.1+
|
||||
Group: Development/Libraries/C and C++
|
107
glibc.changes
107
glibc.changes
@ -1,3 +1,110 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 2 14:32:58 UTC 2017 - schwab@suse.de
|
||||
|
||||
- Update to glibc 2.26
|
||||
* A per-thread cache has been added to malloc
|
||||
* Unicode 10.0.0 Support
|
||||
* Improvements to the DNS stub resolver
|
||||
* New function reallocarray, which resizes an allocated block (like
|
||||
realloc) to the product of two sizes, with a guaranteed clean failure
|
||||
upon integer overflow in the multiplication
|
||||
* New wrappers for the Linux-specific system calls preadv2 and pwritev2
|
||||
* posix_spawnattr_setflags now supports the flag POSIX_SPAWN_SETSID, to
|
||||
create a new session ID for the spawned process
|
||||
* errno.h is now safe to use from C-preprocessed assembly language on all
|
||||
supported operating systems
|
||||
* On ia64, powerpc64le, x86-32, and x86-64, the math library now implements
|
||||
128-bit floating point as defined by ISO/IEC/IEEE 60559:2011 (IEEE
|
||||
754-2008) and ISO/IEC TS 18661-3:2015
|
||||
* The synchronization that pthread_spin_unlock performs has been changed to
|
||||
now be equivalent to a C11 atomic store with release memory order to the
|
||||
spin lock's memory location
|
||||
* The DNS stub resolver no longer performs EDNS fallback
|
||||
* res_mkquery and res_nmkquery no longer support the IQUERY opcode
|
||||
* The _res_opcodes variable has been removed from libresolv
|
||||
* <string.h> no longer includes inline versions of any string functions,
|
||||
as this kind of optimization is better done by the compiler
|
||||
* The nonstandard header <xlocale.h> has been removed
|
||||
* The obsolete header <sys/ultrasound.h> has been removed
|
||||
* The obsolete signal constant SIGUNUSED is no longer defined by <signal.h>
|
||||
* The obsolete function cfree has been removed
|
||||
* The stack_t type no longer has the name struct sigaltstack
|
||||
* The ucontext_t type no longer has the name struct ucontext
|
||||
* On S/390 GNU/Linux, the constants defined by <sys/ptrace.h> have been
|
||||
synced with the kernel
|
||||
* Linux kernel 3.2 or later is required at runtime, on all architectures
|
||||
supported by that kernel
|
||||
* The DNS stub resolver limits the advertised UDP buffer size to 1200 bytes,
|
||||
to avoid fragmentation-based spoofing attacks (CVE-2017-12132)
|
||||
* LD_LIBRARY_PATH is now ignored in binaries running in privileged
|
||||
AT_SECURE mode to guard against local privilege escalation attacks
|
||||
(CVE-2017-1000366)
|
||||
* Avoid printing a backtrace from the __stack_chk_fail function since it
|
||||
is called on a corrupt stack and a backtrace is unreliable on a
|
||||
corrupt stack (CVE-2010-3192)
|
||||
* A use-after-free vulnerability in clntudp_call in the Sun RPC system
|
||||
has been fixed (CVE-2017-12133)
|
||||
* fate#322258, fate#321513, fate#322453
|
||||
- fts-symbol-redirect.patch, glibc-resolv-reload.diff, glibc-2.2-sunrpc.diff,
|
||||
i686-memchr-sse.patch, ld-hwcap-mask-suid.patch, ld-library-path-suid.patch,
|
||||
sunrpc-use-after-free.patch, test-math-vector-sincos-aliasing.patch,
|
||||
tunables-bigendian.patch: Removed
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 25 07:32:25 UTC 2017 - schwab@suse.de
|
||||
|
||||
- Fix RPM group
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 20 12:17:21 UTC 2017 - schwab@suse.de
|
||||
|
||||
- s390-elision-enable-envvar.patch: enable TLE only if
|
||||
GLIBC_ELISION_ENABLE=yes is defined (fate#322271)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 21 15:15:12 UTC 2017 - schwab@suse.de
|
||||
|
||||
- ld-hwcap-mask-suid.patch: Ignore and remove LD_HWCAP_MASK for AT_SECURE
|
||||
programs (BZ #21209)
|
||||
- ld-library-path-suid.patch: Completely ignore LD_LIBRARY_PATH for
|
||||
AT_SECURE=1 programs (CVE-2017-1000366, bsc#1039357, BZ #21624)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 14 12:22:21 UTC 2017 - schwab@suse.de
|
||||
|
||||
- Remove glibc-cpusetsize.diff, no longer useful
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed May 31 10:35:31 UTC 2017 - schwab@suse.de
|
||||
|
||||
- fts-symbol-redirect.patch: Fix symbol redirect for fts_set (bsc#1041123,
|
||||
BZ #21289)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon May 29 18:10:31 UTC 2017 - schwab@suse.de
|
||||
|
||||
- test-math-vector-sincos-aliasing.patch: Fix test-math-vector-sincos.h
|
||||
aliasing
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon May 29 10:24:22 UTC 2017 - schwab@suse.de
|
||||
|
||||
- add-locales.patch: renamed from glibc-2.3.locales.diff.bz2, drop en_BE
|
||||
locales (bsc#1039502)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 23 09:54:08 UTC 2017 - schwab@suse.de
|
||||
|
||||
- Remove glibc-testsuite.patch, no longer relevant
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon May 22 10:04:59 UTC 2017 - schwab@suse.de
|
||||
|
||||
- Use multibuild feature
|
||||
- Remove obsolete check-build.sh
|
||||
- glibc.rpmlintrc: remove obsolete entries
|
||||
- Use %tmpfiles_create in nscd postin
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Mar 29 13:09:49 UTC 2017 - schwab@suse.de
|
||||
|
||||
|
BIN
glibc.keyring
BIN
glibc.keyring
Binary file not shown.
@ -1,25 +1,20 @@
|
||||
addFilter(".*glibc-profile.* devel-file-in-non-devel-package.*/usr/lib.*/lib.*_p.a")
|
||||
addFilter(".*glibc.* incorrect-fsf-address")
|
||||
# False positive - glibc implements gethostbyname
|
||||
addFilter(".*binary-or-shlib-calls-gethostbyname")
|
||||
# glibc-profile is a devel package
|
||||
addFilter("glibc-profile.* devel-file-in-non-devel-package.*/usr/lib.*/lib.*_p.a")
|
||||
# glibc is not a devel package
|
||||
addFilter("glibc\\..* non-devel-file-in-devel-package")
|
||||
# getent deliberately uses gethostbyname
|
||||
addFilter("binary-or-shlib-calls-gethostbyname /usr/bin/getent")
|
||||
# We do need to keep the symtab (see comments in glibc.spec), so this is intented:
|
||||
addFilter(".*unstripped-binary-or-object.*")
|
||||
# The duplication is intented:
|
||||
addFilter(".*files-duplicate /usr/lib64/libbsd-compat.a /usr/lib.*/libg.a")
|
||||
addFilter("unstripped-binary-or-object")
|
||||
# ld.so is special:
|
||||
addFilter(".*shared-lib-without-dependency-information /lib.*/ld-2.*.so")
|
||||
addFilter("shared-lib-without-dependency-information /lib.*/ld-2.*\\.so")
|
||||
# Handled via glibc_post_upgrade:
|
||||
addFilter(".*permissions-missing-postin missing %set_permissions /usr/.*pt_chown in %post")
|
||||
# Do not require permissions, this will lead to a cycle (bnc#700925):
|
||||
addFilter("glibc\..*: permissions-missing-requires")
|
||||
addFilter("postin-without-ldconfig")
|
||||
# We will not rename glibc to follow the shlib policy
|
||||
addFilter("shlib-policy-missing-suffix")
|
||||
# The dynamic linker and libnsl call exit - this is fine
|
||||
addFilter(".*shared-lib-calls-exit.*")
|
||||
# libpthread and libnsl call exit - this is fine
|
||||
addFilter("shared-lib-calls-exit")
|
||||
# The man-pages package contains a number of man pages for programs that come
|
||||
# with glibc, therefore do not warn about them
|
||||
addFilter(".*glibc.*no-manual-page-for-binary getent")
|
||||
addFilter(".*glibc.*no-manual-page-for-binary iconv")
|
||||
addFilter(".*glibc.*no-manual-page-for-binary ldd")
|
||||
addFilter(".*glibc.*no-manual-page-for-binary ldconfig")
|
||||
addFilter(".*nscd.*no-manual-page-for-binary nscd")
|
||||
addFilter("glibc.*no-manual-page-for-binary (getent|iconv|ldd|ldconfig|locale)")
|
||||
addFilter("nscd.*no-manual-page-for-binary nscd")
|
||||
|
159
glibc.spec
159
glibc.spec
@ -16,27 +16,41 @@
|
||||
#
|
||||
|
||||
|
||||
%define build_snapshot 0
|
||||
|
||||
# PLEASE run pre_checkin.sh in this directory before submitting
|
||||
# this package. Otherwise the .spec and .changes for glibc-testsuite
|
||||
# and glibc-utils aren't updated.
|
||||
|
||||
# Run with osc --with=fast_build to have a shorter turnaround
|
||||
# It will avoid building some parts of glibc
|
||||
%bcond_with fast_build
|
||||
|
||||
%define crypt_bf_version 1.3
|
||||
%define build_snapshot 0
|
||||
|
||||
# INCLUDE glibc$flavor.spec.in
|
||||
%ifarch i686
|
||||
%define flavor i686
|
||||
%else
|
||||
%define flavor %nil
|
||||
%endif
|
||||
|
||||
Name: glibc
|
||||
%define normal_build ("%{name}" == "glibc")
|
||||
%define utils_build ("%{name}" == "glibc-utils")
|
||||
%define testsuite_build ("%{name}" == "glibc-testsuite")
|
||||
# UTILS-SUMMARY-BEGIN
|
||||
Summary: Standard Shared Libraries (from the GNU C Library)
|
||||
License: LGPL-2.1+ and SUSE-LGPL-2.1+-with-GCC-exception and GPL-2.0+
|
||||
Group: System/Libraries
|
||||
# UTILS-SUMMARY-END
|
||||
# END INCLUDE glibc$flavor.spec.in
|
||||
|
||||
%bcond_with all
|
||||
%define build_main 1
|
||||
%define build_utils %{with all}
|
||||
%define build_testsuite %{with all}
|
||||
%if "%flavor" == "utils"
|
||||
%define build_main 0
|
||||
%define build_utils 1
|
||||
%define build_testsuite 0
|
||||
%endif
|
||||
%if "%flavor" == "testsuite"
|
||||
%define build_main 0
|
||||
%define build_utils 0
|
||||
%define build_testsuite 1
|
||||
%endif
|
||||
|
||||
BuildRequires: audit-devel
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: libcap-devel
|
||||
@ -45,16 +59,21 @@ BuildRequires: makeinfo
|
||||
BuildRequires: pwdutils
|
||||
BuildRequires: systemd-rpm-macros
|
||||
BuildRequires: xz
|
||||
%if %{testsuite_build}
|
||||
%if %{build_testsuite}
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: gdb
|
||||
BuildRequires: glibc-devel-static
|
||||
BuildRequires: libstdc++-devel
|
||||
BuildRequires: python-pexpect
|
||||
%endif
|
||||
%if %{utils_build}
|
||||
%if %{build_utils}
|
||||
BuildRequires: gd-devel
|
||||
%endif
|
||||
%if "%flavor" == "i686"
|
||||
ExclusiveArch: i586 i686
|
||||
BuildArch: i686
|
||||
%global optflags %(echo "%optflags"|sed -e s/i586/i686/) -march=i686 -mtune=generic
|
||||
%endif
|
||||
|
||||
%define __filter_GLIBC_PRIVATE 1
|
||||
%ifarch i686
|
||||
@ -64,7 +83,7 @@ BuildRequires: gd-devel
|
||||
%define build_locales 1
|
||||
%define build_html 0
|
||||
%else
|
||||
%if %{with fast_build} || %{utils_build}
|
||||
%if %{with fast_build} || %{build_utils} && %{without all}
|
||||
%define build_profile 0
|
||||
%define build_locales 0
|
||||
%define build_html 0
|
||||
@ -76,7 +95,7 @@ BuildRequires: gd-devel
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%define build_variants %{normal_build}
|
||||
%define build_variants %{build_main}
|
||||
|
||||
%define disable_assert 0
|
||||
%define enable_stackguard_randomization 1
|
||||
@ -103,14 +122,23 @@ BuildRequires: gd-devel
|
||||
%define powerpc_optimize_cpu_power7 0
|
||||
%define powerpc_optimize_cpu_cell 0
|
||||
%endif # ppc, ppc64
|
||||
# 3.0 is the SLES 11 SP3 kernel
|
||||
# 3.1 is the openSUSE 12.1 kernel
|
||||
%define enablekernel 3.0
|
||||
# glibc requires at least kernel 3.2
|
||||
%define enablekernel 3.2
|
||||
# some architectures need a newer kernel
|
||||
%ifarch ppc64le
|
||||
%define enablekernel 3.10
|
||||
%endif
|
||||
%ifarch aarch64
|
||||
%define enablekernel 3.7
|
||||
%endif
|
||||
%ifarch ia64
|
||||
%define enablekernel 3.2.18
|
||||
%endif
|
||||
|
||||
Version: 2.25
|
||||
Version: 2.26
|
||||
Release: 0
|
||||
%if !%{build_snapshot}
|
||||
%define git_id db0242e30234
|
||||
%define git_id 1c9a5c270d8b
|
||||
%define libversion %version
|
||||
%else
|
||||
%define git_id %(echo %version | sed 's/.*\.g//')
|
||||
@ -118,9 +146,11 @@ Release: 0
|
||||
%endif
|
||||
Url: http://www.gnu.org/software/libc/libc.html
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
Source: http://ftp.gnu.org/pub/gnu/glibc/glibc-%{version}.tar.xz
|
||||
%if !%{build_snapshot}
|
||||
Source: http://ftp.gnu.org/pub/gnu/glibc/glibc-%{version}.tar.xz
|
||||
Source1: http://ftp.gnu.org/pub/gnu/glibc/glibc-%{version}.tar.xz.sig
|
||||
%else
|
||||
Source: glibc-%{version}.tar.xz
|
||||
%endif
|
||||
Source2: http://savannah.gnu.org/project/memberlist-gpgkeys.php?group=libc&download=1#/glibc.keyring
|
||||
Source3: noversion.tar.bz2
|
||||
@ -138,7 +168,7 @@ Source50: http://www.openwall.com/crypt/crypt_blowfish-%{crypt_bf_version}
|
||||
# The sign key uses MD5 which is no longer accepted by gpg
|
||||
#Source51: http://www.openwall.com/crypt/crypt_blowfish-%{crypt_bf_version}.tar.gz.sign
|
||||
|
||||
%if %{normal_build}
|
||||
%if %{build_main}
|
||||
# ngpt was used in 8.1 and SLES8
|
||||
Obsoletes: ngpt < 2.2.2
|
||||
Obsoletes: ngpt-devel < 2.2.2
|
||||
@ -160,8 +190,8 @@ Provides: ld-linux.so.3(GLIBC_2.4)
|
||||
Requires(pre): filesystem
|
||||
Recommends: glibc-extra
|
||||
Provides: rtld(GNU_HASH)
|
||||
%endif # %{normal_build}
|
||||
%if %{utils_build}
|
||||
%endif
|
||||
%if %{build_utils}
|
||||
Requires: glibc = %{version}
|
||||
%endif
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
@ -207,8 +237,6 @@ Patch8: glibc-nscd.conf.patch
|
||||
Patch9: glibc-nodate.patch
|
||||
# PATCH-FIX-OPENSUSE -- add some extra information to version output - kukuk@suse.de
|
||||
Patch10: glibc-version.diff
|
||||
# PATCH-FIX-OPENSUSE remove lfs test from testsuite aj@suse.de
|
||||
Patch11: glibc-testsuite.patch
|
||||
# PATCH-FIX-OPENSUSE handle old glibc binaries
|
||||
Patch12: glibc-2.3.90-noversion.diff
|
||||
# PATCH-FIX-OPENSUSE -- Make --no-archive default for localedef - kukuk@suse.de
|
||||
@ -217,16 +245,16 @@ Patch13: glibc-2.3.2.no_archive.diff
|
||||
Patch14: glibc-bindresvport-blacklist.diff
|
||||
# PATCH-FIX-OPENSUSE prefer -lang rpm packages
|
||||
Patch15: glibc-2.3.90-langpackdir.diff
|
||||
# PATCH-FEATURE-SLE increase cpusetsize to 4096, needs to be kept for compatibility kukuk@suse.de (XXX: Review)
|
||||
Patch18: glibc-cpusetsize.diff
|
||||
# PATCH-FEATURE-SLE Use nscd user for nscd
|
||||
Patch19: nscd-server-user.patch
|
||||
# PATCH-FEATURE-SLE powerpc: enable TLE only if GLIBC_ELISION_ENABLE=yes is defined
|
||||
Patch21: powerpc-elision-enable-envvar.patch
|
||||
# PATCH-FEATURE-SLE s390: enable TLE only if GLIBC_ELISION_ENABLE=yes is defined
|
||||
Patch22: s390-elision-enable-envvar.patch
|
||||
|
||||
### Locale related patches
|
||||
# PATCH-FIX-OPENSUSE Add additional locales
|
||||
Patch100: glibc-2.3.locales.diff.bz2
|
||||
Patch100: add-locales.patch
|
||||
# PATCH-FIX-OPENSUSE -- Add no_NO back (XXX: Still needed?)
|
||||
Patch102: glibc-2.4.90-no_NO.diff
|
||||
# PATCH-FIX-OPENSUSE -- Renames for China
|
||||
@ -239,10 +267,6 @@ Patch105: glibc-disable-gettext-for-c-utf8.patch
|
||||
### Broken patches in glibc that we revert for now:
|
||||
|
||||
### Network related patches
|
||||
# PATCH-FIX-OPENSUSE reload /etc/resolv.conf on change
|
||||
Patch300: glibc-resolv-reload.diff
|
||||
# PATCH-FIX-OPENSUSE Fix hangs in UDP RPC calls bso#5379 bnc#257745 aj@suse.de
|
||||
Patch301: glibc-2.2-sunrpc.diff
|
||||
# PATCH-FIX-OPENSUSE Warn about usage of mdns in resolv.conv
|
||||
Patch304: glibc-resolv-mdnshint.diff
|
||||
# PATCH-FIX-OPENSUSE disable rewriting ::1 to 127.0.0.1 for /etc/hosts bnc#684534, bnc#706719
|
||||
@ -251,12 +275,6 @@ Patch306: glibc-fix-double-loopback.diff
|
||||
###
|
||||
# Patches from upstream
|
||||
###
|
||||
# PATCH-FIX-UPSTREAM Fix getting tunable values on big-endian (BZ #21109)
|
||||
Patch1000: tunables-bigendian.patch
|
||||
# PATCH-FIX-UPSTREAM Fix i686 memchr overflow calculation (BZ #21182)
|
||||
Patch1001: i686-memchr-sse.patch
|
||||
# PATCH-FIX-UPSTREAM Avoid use-after-free read access in clntudp_call (BZ #21115)
|
||||
Patch1002: sunrpc-use-after-free.patch
|
||||
|
||||
###
|
||||
# Patches awaiting upstream approval
|
||||
@ -281,10 +299,22 @@ Patch2008: reinitialize-dl_load_write_lock.patch
|
||||
Patch3000: manpages.patch
|
||||
|
||||
%description
|
||||
%if %build_main
|
||||
The GNU C Library provides the most important standard libraries used
|
||||
by nearly all programs: the standard C library, the standard math
|
||||
library, and the POSIX thread library. A system is not functional
|
||||
without these libraries.
|
||||
%endif
|
||||
%if %build_utils
|
||||
The glibc-utils package contains mtrace, a memory leak tracer and
|
||||
xtrace, a function call tracer which can be helpful during program
|
||||
debugging.
|
||||
|
||||
If you are unsure if you need this, do not install this package.
|
||||
%endif
|
||||
%if %build_testsuite
|
||||
This package contains the testsuite results from the GNU C Library.
|
||||
%endif
|
||||
|
||||
%package info
|
||||
Summary: Info Files for the GNU C Library
|
||||
@ -408,7 +438,7 @@ which is highly discouraged.
|
||||
%package extra
|
||||
Summary: Extra binaries from GNU C Library
|
||||
License: LGPL-2.1+
|
||||
Group: Development/Languages/C and C++
|
||||
Group: Development/Libraries/C and C++
|
||||
Requires: glibc = %{version}
|
||||
|
||||
%description extra
|
||||
@ -457,14 +487,13 @@ touch -r nscd/nscd_stat.c nscd/s-stamp
|
||||
touch -r nscd/s-stamp nscd/nscd_stat.c
|
||||
rm nscd/s-stamp
|
||||
%patch10 -p1
|
||||
%patch11 -p1
|
||||
%patch12 -p1
|
||||
%patch13 -p1
|
||||
%patch14 -p1
|
||||
%patch15 -p1
|
||||
%patch18 -p1
|
||||
%patch19 -p1
|
||||
%patch21 -p1
|
||||
%patch22 -p1
|
||||
|
||||
%patch100 -p1
|
||||
%patch102 -p1
|
||||
@ -472,15 +501,9 @@ rm nscd/s-stamp
|
||||
%patch104 -p1
|
||||
%patch105 -p1
|
||||
|
||||
%patch300 -p1
|
||||
%patch301 -p1
|
||||
%patch304 -p1
|
||||
%patch306 -p1
|
||||
|
||||
%patch1000 -p1
|
||||
%patch1001 -p1
|
||||
%patch1002 -p1
|
||||
|
||||
%patch2000 -p1
|
||||
%patch2001 -p1
|
||||
%patch2002 -p1
|
||||
@ -636,7 +659,7 @@ configure_and_build_glibc() {
|
||||
$profile $elision \
|
||||
"$@" \
|
||||
--build=%{target} --host=%{target} \
|
||||
%ifarch armv7hl ppc ppc64 ppc64le %{ix86} x86_64 sparc sparc64 s390 s390x
|
||||
%ifarch armv7hl ppc ppc64 ppc64le i686 x86_64 sparc sparc64 s390 s390x
|
||||
--enable-multi-arch \
|
||||
%endif
|
||||
%ifarch mipsel
|
||||
@ -652,7 +675,8 @@ configure_and_build_glibc() {
|
||||
--enable-tunables \
|
||||
--enable-kernel=%{enablekernel} \
|
||||
--with-bugurl=http://bugs.opensuse.org \
|
||||
--enable-bind-now --enable-obsolete-rpc \
|
||||
--enable-bind-now \
|
||||
--enable-obsolete-rpc --enable-obsolete-nsl \
|
||||
--disable-timezone-tools
|
||||
# Should we enable --enable-systemtap?
|
||||
# Should we enable --enable-nss-crypt to build use freebl3 hash functions?
|
||||
@ -751,7 +775,7 @@ popd
|
||||
#######################################################################
|
||||
|
||||
%check
|
||||
%if %{testsuite_build}
|
||||
%if %{build_testsuite}
|
||||
# The testsuite will fail if asneeded is used
|
||||
export SUSE_ASNEEDED=0
|
||||
# Increase timeout
|
||||
@ -793,7 +817,7 @@ make %{?_smp_mflags} -C cc-base check-abi
|
||||
#######################################################################
|
||||
|
||||
%install
|
||||
%if %{normal_build}
|
||||
%if %{build_main}
|
||||
# We don't want to strip the .symtab from our libraries in find-debuginfo.sh,
|
||||
# certainly not from libpthread.so.* because it is used by libthread_db to find
|
||||
# some non-exported symbols in order to detect if threading support
|
||||
@ -994,6 +1018,7 @@ ln -s ld-%{libversion}.so %{buildroot}/lib/ld-linux.so.3
|
||||
mv %{buildroot}%{_bindir}/getconf %{buildroot}%{_libexecdir}/getconf/getconf
|
||||
ln -s %{_libexecdir}/getconf/getconf %{buildroot}%{_bindir}/getconf
|
||||
|
||||
%if !%{build_utils}
|
||||
# Remove unwanted files (packaged in glibc-utils)
|
||||
rm -f %{buildroot}/%{_lib}/libmemusage*
|
||||
rm -f %{buildroot}/%{_lib}/libpcprofile*
|
||||
@ -1011,6 +1036,7 @@ rm -rf %{buildroot}%{_infodir} %{buildroot}%{_prefix}/share/i18n
|
||||
rm -f %{buildroot}%{_bindir}/makedb %{buildroot}/var/lib/misc/Makefile
|
||||
rm -f %{buildroot}%{_sbindir}/nscd
|
||||
%endif # i686
|
||||
%endif # !utils
|
||||
|
||||
# LSB
|
||||
%ifarch %ix86
|
||||
@ -1032,9 +1058,9 @@ ln -sf /%{_lib}/ld.so.1 $RPM_BUILD_ROOT/%{_lib}/ld-lsb-s390.so.3
|
||||
ln -sf /%{_lib}/ld64.so.1 $RPM_BUILD_ROOT/%{_lib}/ld-lsb-s390x.so.3
|
||||
%endif
|
||||
|
||||
%endif # %{normal_build}
|
||||
%else # !main
|
||||
|
||||
%if %{utils_build}
|
||||
%if %{build_utils}
|
||||
|
||||
make %{?_smp_mflags} install_root=%{buildroot} install -C cc-base \
|
||||
subdirs='malloc debug elf'
|
||||
@ -1047,7 +1073,9 @@ rm -f %{buildroot}%{_bindir}/{catchsegv,ldd*,sprof}
|
||||
rm -rf %{buildroot}%{_mandir}/man*
|
||||
rm -rf %{buildroot}/sbin %{buildroot}%{_includedir}
|
||||
|
||||
%endif # %{utils_build}
|
||||
%endif # utils
|
||||
|
||||
%endif # !main
|
||||
|
||||
#######################################################################
|
||||
###
|
||||
@ -1055,13 +1083,9 @@ rm -rf %{buildroot}/sbin %{buildroot}%{_includedir}
|
||||
###
|
||||
#######################################################################
|
||||
|
||||
%if %{normal_build}
|
||||
%post -p %{_sbindir}/glibc_post_upgrade
|
||||
|
||||
%postun -p /sbin/ldconfig
|
||||
|
||||
%endif # %{normal_build}
|
||||
|
||||
%post locale
|
||||
for l in /usr/share/locale/locale.alias %{_libdir}/gconv/gconv-modules; do
|
||||
[ -d "$l.d" ] || continue
|
||||
@ -1086,7 +1110,7 @@ getent passwd nscd >/dev/null || %{_sbindir}/useradd -r -g nscd -c "User for nsc
|
||||
|
||||
%post -n nscd
|
||||
%service_add_post nscd.service
|
||||
mkdir -p /run/nscd
|
||||
%tmpfiles_create /usr/lib/tmpfiles.d/nscd.conf
|
||||
# Previously we had nscd.socket, remove it
|
||||
test -x /usr/bin/systemctl && /usr/bin/systemctl stop nscd.socket 2>/dev/null || :
|
||||
test -x /usr/bin/systemctl && /usr/bin/systemctl disable nscd.socket 2>/dev/null || :
|
||||
@ -1098,14 +1122,8 @@ exit 0
|
||||
%service_del_postun nscd.service
|
||||
exit 0
|
||||
|
||||
%if %{normal_build}
|
||||
%files
|
||||
#######################################################################
|
||||
###
|
||||
### FILES
|
||||
###
|
||||
#######################################################################
|
||||
|
||||
%if %{build_main}
|
||||
# glibc
|
||||
%defattr(-,root,root)
|
||||
%doc LICENSES
|
||||
@ -1381,10 +1399,9 @@ exit 0
|
||||
/var/lib/misc/Makefile
|
||||
%endif # !i686
|
||||
|
||||
%endif # %{normal_build}
|
||||
%endif # main
|
||||
|
||||
%if %{utils_build}
|
||||
%files
|
||||
%if %{build_utils}
|
||||
%defattr(-,root,root)
|
||||
/%{_lib}/libmemusage.so
|
||||
/%{_lib}/libpcprofile.so
|
||||
@ -1397,6 +1414,6 @@ exit 0
|
||||
%{_bindir}/sotruss
|
||||
%{_bindir}/xtrace
|
||||
%{_bindir}/pldd
|
||||
%endif # %{utils_build}
|
||||
%endif # utils
|
||||
|
||||
%changelog
|
||||
|
@ -1,45 +0,0 @@
|
||||
2017-03-29 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
||||
|
||||
[BZ# 21182]
|
||||
* string/test-memchr.c (do_test): Add BZ#21182 checks for address
|
||||
near end of a page.
|
||||
* sysdeps/i386/i686/multiarch/memchr-sse2.S (__memchr): Fix
|
||||
overflow calculation.
|
||||
|
||||
Index: glibc-2.25/string/test-memchr.c
|
||||
===================================================================
|
||||
--- glibc-2.25.orig/string/test-memchr.c
|
||||
+++ glibc-2.25/string/test-memchr.c
|
||||
@@ -208,6 +208,12 @@ test_main (void)
|
||||
do_test (0, i, i + 1, i + 1, 0);
|
||||
}
|
||||
|
||||
+ /* BZ#21182 - wrong overflow calculation for i686 implementation
|
||||
+ with address near end of the page. */
|
||||
+ for (i = 2; i < 16; ++i)
|
||||
+ /* page_size is in fact getpagesize() * 2. */
|
||||
+ do_test (page_size / 2 - i, i, i, 1, 0x9B);
|
||||
+
|
||||
do_random_tests ();
|
||||
return ret;
|
||||
}
|
||||
Index: glibc-2.25/sysdeps/i386/i686/multiarch/memchr-sse2.S
|
||||
===================================================================
|
||||
--- glibc-2.25.orig/sysdeps/i386/i686/multiarch/memchr-sse2.S
|
||||
+++ glibc-2.25/sysdeps/i386/i686/multiarch/memchr-sse2.S
|
||||
@@ -117,7 +117,6 @@ L(crosscache):
|
||||
|
||||
# ifndef USE_AS_RAWMEMCHR
|
||||
jnz L(match_case2_prolog1)
|
||||
- lea -16(%edx), %edx
|
||||
/* Calculate the last acceptable address and check for possible
|
||||
addition overflow by using satured math:
|
||||
edx = ecx + edx
|
||||
@@ -125,6 +124,7 @@ L(crosscache):
|
||||
add %ecx, %edx
|
||||
sbb %eax, %eax
|
||||
or %eax, %edx
|
||||
+ sub $16, %edx
|
||||
jbe L(return_null)
|
||||
lea 16(%edi), %edi
|
||||
# else
|
@ -1,29 +1,8 @@
|
||||
#!/bin/bash
|
||||
# This script is called automatically during autobuild checkin.
|
||||
sed -e 's/^Name:.*glibc/&-testsuite/' glibc.spec > glibc-testsuite.spec
|
||||
cp glibc.changes glibc-testsuite.changes
|
||||
awk '/^Name:/{ $0 = $0 "-utils" }
|
||||
/UTILS-SUMMARY-BEGIN/ {
|
||||
ignore = 1
|
||||
print "\
|
||||
Summary: Development utilities from GNU C library\n\
|
||||
License: LGPL-2.1+\n\
|
||||
Group: Development/Languages/C and C++"
|
||||
}
|
||||
/UTILS-SUMMARY-END/ { ignore = 0; next }
|
||||
/^%description$/ {
|
||||
ignore = 1
|
||||
print "\
|
||||
%description\n\
|
||||
The glibc-utils package contains mtrace, a memory leak tracer and\n\
|
||||
xtrace, a function call tracer which can be helpful during program\n\
|
||||
debugging.\n\
|
||||
\n\
|
||||
If you are unsure if you need this, don'\''t install this package.\n"
|
||||
}
|
||||
/^%package/ { ignore = 0}
|
||||
!ignore { print }' glibc.spec > glibc-utils.spec
|
||||
cp glibc.changes glibc-utils.changes
|
||||
|
||||
osc service localrun format_spec_file
|
||||
|
||||
#!/bin/sh
|
||||
for flavor in utils testsuite; do
|
||||
sed -e "/^# INCLUDE /r glibc-$flavor.spec.in" \
|
||||
-e "/^# INCLUDE /,/^# END INCLUDE /d" \
|
||||
glibc.spec > glibc-$flavor.spec
|
||||
cp glibc.changes glibc-$flavor.changes
|
||||
done
|
||||
osc service lr format_spec_file
|
||||
|
31
s390-elision-enable-envvar.patch
Normal file
31
s390-elision-enable-envvar.patch
Normal file
@ -0,0 +1,31 @@
|
||||
Index: glibc-2.25/sysdeps/unix/sysv/linux/s390/elision-conf.c
|
||||
===================================================================
|
||||
--- glibc-2.25.orig/sysdeps/unix/sysv/linux/s390/elision-conf.c
|
||||
+++ glibc-2.25/sysdeps/unix/sysv/linux/s390/elision-conf.c
|
||||
@@ -21,6 +21,7 @@
|
||||
#include <elision-conf.h>
|
||||
#include <unistd.h>
|
||||
#include <dl-procinfo.h>
|
||||
+#include <string.h>
|
||||
|
||||
/* Reasonable initial tuning values, may be revised in the future.
|
||||
This is a conservative initial value. */
|
||||
@@ -64,7 +65,17 @@ elision_init (int argc __attribute__ ((u
|
||||
When false elision is never attempted. */
|
||||
int elision_available = (GLRO (dl_hwcap) & HWCAP_S390_TE) ? 1 : 0;
|
||||
|
||||
- __pthread_force_elision = __libc_enable_secure ? 0 : elision_available;
|
||||
+ /* Scan the environment and conditionally enable TLE. */
|
||||
+ if (elision_available != 0 && __libc_enable_secure == 0)
|
||||
+ {
|
||||
+ for ( ; *environ != NULL; environ++)
|
||||
+ if (**environ == 'G'
|
||||
+ && strcmp (*environ, "GLIBC_ELISION_ENABLE=yes") == 0)
|
||||
+ {
|
||||
+ __pthread_force_elision = elision_available;
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
|
||||
#ifdef SHARED
|
@ -1,111 +0,0 @@
|
||||
2017-02-27 Florian Weimer <fweimer@redhat.com>
|
||||
|
||||
[BZ #21115]
|
||||
* sunrpc/clnt_udp.c (clntudp_call): Free ancillary data later.
|
||||
* sunrpc/Makefile (tests): Add tst-udp-error.
|
||||
(tst-udp-error): Link against libc.so explicitly.
|
||||
* sunrpc/tst-udp-error: New file.
|
||||
|
||||
Index: glibc-2.25/sunrpc/Makefile
|
||||
===================================================================
|
||||
--- glibc-2.25.orig/sunrpc/Makefile
|
||||
+++ glibc-2.25/sunrpc/Makefile
|
||||
@@ -93,7 +93,7 @@ rpcgen-objs = rpc_main.o rpc_hout.o rpc_
|
||||
extra-objs = $(rpcgen-objs) $(addprefix cross-,$(rpcgen-objs))
|
||||
others += rpcgen
|
||||
|
||||
-tests = tst-xdrmem tst-xdrmem2 test-rpcent
|
||||
+tests = tst-xdrmem tst-xdrmem2 test-rpcent tst-udp-error
|
||||
xtests := tst-getmyaddr
|
||||
|
||||
ifeq ($(have-thread-library),yes)
|
||||
@@ -155,6 +155,7 @@ BUILD_CPPFLAGS += $(sunrpc-CPPFLAGS)
|
||||
$(objpfx)tst-getmyaddr: $(common-objpfx)linkobj/libc.so
|
||||
$(objpfx)tst-xdrmem: $(common-objpfx)linkobj/libc.so
|
||||
$(objpfx)tst-xdrmem2: $(common-objpfx)linkobj/libc.so
|
||||
+$(objpfx)tst-udp-error: $(common-objpfx)linkobj/libc.so
|
||||
|
||||
$(objpfx)rpcgen: $(addprefix $(objpfx),$(rpcgen-objs))
|
||||
|
||||
Index: glibc-2.25/sunrpc/clnt_udp.c
|
||||
===================================================================
|
||||
--- glibc-2.25.orig/sunrpc/clnt_udp.c
|
||||
+++ glibc-2.25/sunrpc/clnt_udp.c
|
||||
@@ -424,9 +424,9 @@ send_again:
|
||||
cmsg = CMSG_NXTHDR (&msg, cmsg))
|
||||
if (cmsg->cmsg_level == SOL_IP && cmsg->cmsg_type == IP_RECVERR)
|
||||
{
|
||||
- free (cbuf);
|
||||
e = (struct sock_extended_err *) CMSG_DATA(cmsg);
|
||||
cu->cu_error.re_errno = e->ee_errno;
|
||||
+ free (cbuf);
|
||||
return (cu->cu_error.re_status = RPC_CANTRECV);
|
||||
}
|
||||
free (cbuf);
|
||||
Index: glibc-2.25/sunrpc/tst-udp-error.c
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ glibc-2.25/sunrpc/tst-udp-error.c
|
||||
@@ -0,0 +1,62 @@
|
||||
+/* Check for use-after-free in clntudp_call (bug 21115).
|
||||
+ Copyright (C) 2017 Free Software Foundation, Inc.
|
||||
+ This file is part of the GNU C Library.
|
||||
+
|
||||
+ The GNU C Library is free software; you can redistribute it and/or
|
||||
+ modify it under the terms of the GNU Lesser General Public
|
||||
+ License as published by the Free Software Foundation; either
|
||||
+ version 2.1 of the License, or (at your option) any later version.
|
||||
+
|
||||
+ The GNU C Library is distributed in the hope that it will be useful,
|
||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+ Lesser General Public License for more details.
|
||||
+
|
||||
+ You should have received a copy of the GNU Lesser General Public
|
||||
+ License along with the GNU C Library; if not, see
|
||||
+ <http://www.gnu.org/licenses/>. */
|
||||
+
|
||||
+#include <netinet/in.h>
|
||||
+#include <rpc/clnt.h>
|
||||
+#include <rpc/svc.h>
|
||||
+#include <support/check.h>
|
||||
+#include <support/namespace.h>
|
||||
+#include <support/xsocket.h>
|
||||
+#include <unistd.h>
|
||||
+
|
||||
+static int
|
||||
+do_test (void)
|
||||
+{
|
||||
+ support_become_root ();
|
||||
+ support_enter_network_namespace ();
|
||||
+
|
||||
+ /* Obtain a likely-unused port number. */
|
||||
+ struct sockaddr_in sin =
|
||||
+ {
|
||||
+ .sin_family = AF_INET,
|
||||
+ .sin_addr.s_addr = htonl (INADDR_LOOPBACK),
|
||||
+ };
|
||||
+ {
|
||||
+ int fd = xsocket (AF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0);
|
||||
+ xbind (fd, (struct sockaddr *) &sin, sizeof (sin));
|
||||
+ socklen_t sinlen = sizeof (sin);
|
||||
+ xgetsockname (fd, (struct sockaddr *) &sin, &sinlen);
|
||||
+ /* Close the socket, so that we will receive an error below. */
|
||||
+ close (fd);
|
||||
+ }
|
||||
+
|
||||
+ int sock = RPC_ANYSOCK;
|
||||
+ CLIENT *clnt = clntudp_create
|
||||
+ (&sin, 1, 2, (struct timeval) { 1, 0 }, &sock);
|
||||
+ TEST_VERIFY_EXIT (clnt != NULL);
|
||||
+ TEST_VERIFY (clnt_call (clnt, 3,
|
||||
+ (xdrproc_t) xdr_void, NULL,
|
||||
+ (xdrproc_t) xdr_void, NULL,
|
||||
+ ((struct timeval) { 3, 0 }))
|
||||
+ == RPC_CANTRECV);
|
||||
+ clnt_destroy (clnt);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+#include <support/test-driver.c>
|
@ -1,73 +0,0 @@
|
||||
2017-02-08 Siddhesh Poyarekar <siddhesh@sourceware.org>
|
||||
|
||||
[BZ #21109]
|
||||
* elf/dl-tunable-types.h (tunable_callback_t): Accept
|
||||
tunable_val_t as argument.
|
||||
* elf/dl-tunables.c (__tunable_set_val): Add comment.
|
||||
* malloc/arena.c (set_mallopt_check): Take tunable_val_t as
|
||||
argument.
|
||||
(DL_TUNABLE_CALLBACK_FNDECL): Likewise.
|
||||
|
||||
Index: glibc-2.25/elf/dl-tunable-types.h
|
||||
===================================================================
|
||||
--- glibc-2.25.orig/elf/dl-tunable-types.h
|
||||
+++ glibc-2.25/elf/dl-tunable-types.h
|
||||
@@ -21,8 +21,6 @@
|
||||
# define _TUNABLE_TYPES_H_
|
||||
#include <stddef.h>
|
||||
|
||||
-typedef void (*tunable_callback_t) (void *);
|
||||
-
|
||||
typedef enum
|
||||
{
|
||||
TUNABLE_TYPE_INT_32,
|
||||
@@ -43,6 +41,8 @@ typedef union
|
||||
const char *strval;
|
||||
} tunable_val_t;
|
||||
|
||||
+typedef void (*tunable_callback_t) (tunable_val_t *);
|
||||
+
|
||||
/* Security level for tunables. This decides what to do with individual
|
||||
tunables for AT_SECURE binaries. */
|
||||
typedef enum
|
||||
Index: glibc-2.25/elf/dl-tunables.c
|
||||
===================================================================
|
||||
--- glibc-2.25.orig/elf/dl-tunables.c
|
||||
+++ glibc-2.25/elf/dl-tunables.c
|
||||
@@ -455,6 +455,8 @@ __tunable_set_val (tunable_id_t id, void
|
||||
if (cur->strval == NULL)
|
||||
return;
|
||||
|
||||
+ /* Caller does not need the value, just call the callback with our tunable
|
||||
+ value. */
|
||||
if (valp == NULL)
|
||||
goto cb;
|
||||
|
||||
Index: glibc-2.25/malloc/arena.c
|
||||
===================================================================
|
||||
--- glibc-2.25.orig/malloc/arena.c
|
||||
+++ glibc-2.25/malloc/arena.c
|
||||
@@ -212,9 +212,9 @@ __malloc_fork_unlock_child (void)
|
||||
#if HAVE_TUNABLES
|
||||
static inline int do_set_mallopt_check (int32_t value);
|
||||
void
|
||||
-DL_TUNABLE_CALLBACK (set_mallopt_check) (void *valp)
|
||||
+DL_TUNABLE_CALLBACK (set_mallopt_check) (tunable_val_t *valp)
|
||||
{
|
||||
- int32_t value = *(int32_t *) valp;
|
||||
+ int32_t value = (int32_t) valp->numval;
|
||||
do_set_mallopt_check (value);
|
||||
if (check_action != 0)
|
||||
__malloc_check_init ();
|
||||
@@ -223,9 +223,9 @@ DL_TUNABLE_CALLBACK (set_mallopt_check)
|
||||
# define DL_TUNABLE_CALLBACK_FNDECL(__name, __type) \
|
||||
static inline int do_ ## __name (__type value); \
|
||||
void \
|
||||
-DL_TUNABLE_CALLBACK (__name) (void *valp) \
|
||||
+DL_TUNABLE_CALLBACK (__name) (tunable_val_t *valp) \
|
||||
{ \
|
||||
- __type value = *(__type *) valp; \
|
||||
+ __type value = (__type) (valp)->numval; \
|
||||
do_ ## __name (value); \
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user