Accepting request 142317 from Base:System
Really remove glibc-compiled-binaries.diff (forwarded request 142316 from a_jaeger) OBS-URL: https://build.opensuse.org/request/show/142317 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/glibc?expand=0&rev=125
This commit is contained in:
commit
84b0fefdee
@ -1,8 +1,8 @@
|
||||
Index: glibc-2.15.90/Versions.def
|
||||
Index: glibc-2.16.90/Versions.def
|
||||
===================================================================
|
||||
--- glibc-2.15.90.orig/Versions.def
|
||||
+++ glibc-2.15.90/Versions.def
|
||||
@@ -41,6 +41,7 @@ libc {
|
||||
--- glibc-2.16.90.orig/Versions.def
|
||||
+++ glibc-2.16.90/Versions.def
|
||||
@@ -42,6 +42,7 @@ libc {
|
||||
}
|
||||
libcrypt {
|
||||
GLIBC_2.0
|
||||
@ -10,10 +10,10 @@ Index: glibc-2.15.90/Versions.def
|
||||
}
|
||||
libdl {
|
||||
GLIBC_2.0
|
||||
Index: glibc-2.15.90/crypt/Versions
|
||||
Index: glibc-2.16.90/crypt/Versions
|
||||
===================================================================
|
||||
--- glibc-2.15.90.orig/crypt/Versions
|
||||
+++ glibc-2.15.90/crypt/Versions
|
||||
--- glibc-2.16.90.orig/crypt/Versions
|
||||
+++ glibc-2.16.90/crypt/Versions
|
||||
@@ -3,4 +3,7 @@ libcrypt {
|
||||
crypt; crypt_r; encrypt; encrypt_r; fcrypt; setkey; setkey_r;
|
||||
crypt_rn; crypt_ra; crypt_gensalt; crypt_gensalt_rn; crypt_gensalt_ra;
|
||||
|
@ -1,7 +1,7 @@
|
||||
Index: glibc-2.15.90/crypt/Makefile
|
||||
Index: glibc-2.16.90/crypt/Makefile
|
||||
===================================================================
|
||||
--- glibc-2.15.90.orig/crypt/Makefile
|
||||
+++ glibc-2.15.90/crypt/Makefile
|
||||
--- glibc-2.16.90.orig/crypt/Makefile
|
||||
+++ glibc-2.16.90/crypt/Makefile
|
||||
@@ -21,6 +21,7 @@
|
||||
subdir := crypt
|
||||
|
||||
@ -16,13 +16,13 @@ Index: glibc-2.15.90/crypt/Makefile
|
||||
|
||||
+libcrypt-routines += crypt_blowfish x86 crypt_gensalt wrapper
|
||||
+
|
||||
tests := cert md5c-test sha256c-test sha512c-test
|
||||
tests := cert md5c-test sha256c-test sha512c-test badsalttest
|
||||
|
||||
include ../Makeconfig
|
||||
Index: glibc-2.15.90/crypt/Versions
|
||||
Index: glibc-2.16.90/crypt/Versions
|
||||
===================================================================
|
||||
--- glibc-2.15.90.orig/crypt/Versions
|
||||
+++ glibc-2.15.90/crypt/Versions
|
||||
--- glibc-2.16.90.orig/crypt/Versions
|
||||
+++ glibc-2.16.90/crypt/Versions
|
||||
@@ -1,5 +1,6 @@
|
||||
libcrypt {
|
||||
GLIBC_2.0 {
|
||||
@ -30,11 +30,11 @@ Index: glibc-2.15.90/crypt/Versions
|
||||
+ crypt_rn; crypt_ra; crypt_gensalt; crypt_gensalt_rn; crypt_gensalt_ra;
|
||||
}
|
||||
}
|
||||
Index: glibc-2.15.90/crypt/crypt-entry.c
|
||||
Index: glibc-2.16.90/crypt/crypt-entry.c
|
||||
===================================================================
|
||||
--- glibc-2.15.90.orig/crypt/crypt-entry.c
|
||||
+++ glibc-2.15.90/crypt/crypt-entry.c
|
||||
@@ -79,7 +79,7 @@ extern struct crypt_data _ufc_foobar;
|
||||
--- glibc-2.16.90.orig/crypt/crypt-entry.c
|
||||
+++ glibc-2.16.90/crypt/crypt-entry.c
|
||||
@@ -81,7 +81,7 @@ extern struct crypt_data _ufc_foobar;
|
||||
*/
|
||||
|
||||
char *
|
||||
@ -43,7 +43,7 @@ Index: glibc-2.15.90/crypt/crypt-entry.c
|
||||
const char *key;
|
||||
const char *salt;
|
||||
struct crypt_data * __restrict data;
|
||||
@@ -134,6 +134,7 @@ __crypt_r (key, salt, data)
|
||||
@@ -155,6 +155,7 @@ __crypt_r (key, salt, data)
|
||||
_ufc_output_conversion_r (res[0], res[1], salt, data);
|
||||
return data->crypt_3_buf;
|
||||
}
|
||||
@ -51,7 +51,7 @@ Index: glibc-2.15.90/crypt/crypt-entry.c
|
||||
weak_alias (__crypt_r, crypt_r)
|
||||
|
||||
char *
|
||||
@@ -174,3 +175,4 @@ __fcrypt (key, salt)
|
||||
@@ -197,3 +198,4 @@ __fcrypt (key, salt)
|
||||
return crypt (key, salt);
|
||||
}
|
||||
#endif
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:20d50dad9b65e8ed9936825f71a5cd6dc45f5cdefecd76290b4f744a1ed1e5f1
|
||||
size 10145504
|
@ -1,77 +0,0 @@
|
||||
2012-07-02 Jeroen van Bemmel <jvb127@gmail.com>
|
||||
|
||||
[BZ #14307]
|
||||
[BZ #13904]
|
||||
* sysdeps/posix/getaddrinfo.c ( gaih_inet ): Increase the size of
|
||||
the temporary buffer used to invoke __gethostbyname2_r,
|
||||
__gethostbyaddr_r and gethostbyname4_r to make room for struct
|
||||
host_data / struct gaih_addrtuple.
|
||||
* resolv/nss_dns/dns-host.c (global scope): Move definition of
|
||||
implementation constants MAX_NR_ALIASES and MAX_NR_ADDRS to
|
||||
header file nss/nsswitch.h.
|
||||
* nss/nsswitch.h (global scope): Add definition of implementation
|
||||
constants MAX_NR_ALIASES and MAX_NR_ADDRS (moved from
|
||||
resolv/nss_dns/dns-host.c).
|
||||
|
||||
diff --git glibc/nss/nsswitch.h glibc/nss/nsswitch.h
|
||||
index 90e208b..8965819 100644
|
||||
--- glibc/nss/nsswitch.h
|
||||
+++ glibc/nss/nsswitch.h
|
||||
@@ -198,4 +198,8 @@ extern int __nss_hostname_digits_dots (const char *name,
|
||||
int *h_errnop);
|
||||
libc_hidden_proto (__nss_hostname_digits_dots)
|
||||
|
||||
+/* Maximum number of aliases we allow. */
|
||||
+#define MAX_NR_ALIASES 48
|
||||
+#define MAX_NR_ADDRS 48
|
||||
+
|
||||
#endif /* nsswitch.h */
|
||||
diff --git glibc/resolv/nss_dns/dns-host.c glibc/resolv/nss_dns/dns-host.c
|
||||
index a924d40..6b62c05 100644
|
||||
--- glibc/resolv/nss_dns/dns-host.c
|
||||
+++ glibc/resolv/nss_dns/dns-host.c
|
||||
@@ -88,10 +88,6 @@
|
||||
|
||||
#define RESOLVSORT
|
||||
|
||||
-/* Maximum number of aliases we allow. */
|
||||
-#define MAX_NR_ALIASES 48
|
||||
-#define MAX_NR_ADDRS 48
|
||||
-
|
||||
#if PACKETSZ > 65536
|
||||
# define MAXPACKET PACKETSZ
|
||||
#else
|
||||
diff --git glibc/sysdeps/posix/getaddrinfo.c glibc/sysdeps/posix/getaddrinfo.c
|
||||
index 2eca2ae..efb0423 100644
|
||||
--- glibc/sysdeps/posix/getaddrinfo.c
|
||||
+++ glibc/sysdeps/posix/getaddrinfo.c
|
||||
@@ -568,7 +568,8 @@ gaih_inet (const char *name, const struct gaih_service *service,
|
||||
IPv6 scope ids. */
|
||||
if (req->ai_family == AF_INET)
|
||||
{
|
||||
- size_t tmpbuflen = 512;
|
||||
+ /* Allocate additional room for struct host_data in getanswer_r */
|
||||
+ size_t tmpbuflen = 512 + MAX_NR_ALIASES * sizeof(char*) + 16 * sizeof(char);
|
||||
assert (tmpbuf == NULL);
|
||||
tmpbuf = alloca_account (tmpbuflen, alloca_used);
|
||||
int rc;
|
||||
@@ -811,7 +812,7 @@ gaih_inet (const char *name, const struct gaih_service *service,
|
||||
old_res_options = _res.options;
|
||||
_res.options &= ~RES_USE_INET6;
|
||||
|
||||
- size_t tmpbuflen = 1024;
|
||||
+ size_t tmpbuflen = 1024 + sizeof(struct gaih_addrtuple);
|
||||
malloc_tmpbuf = !__libc_use_alloca (alloca_used + tmpbuflen);
|
||||
assert (tmpbuf == NULL);
|
||||
if (!malloc_tmpbuf)
|
||||
@@ -1113,7 +1114,9 @@ gaih_inet (const char *name, const struct gaih_service *service,
|
||||
struct hostent *h = NULL;
|
||||
int herrno;
|
||||
struct hostent th;
|
||||
- size_t tmpbuf2len = 512;
|
||||
+ /* Add room for struct host_data in resolv/nss_dns/dns-host.c */
|
||||
+ size_t tmpbuf2len = 512 + (MAX_NR_ALIASES+MAX_NR_ADDRS+1)*sizeof(char*)
|
||||
+ + 16 * sizeof(char);
|
||||
|
||||
do
|
||||
{
|
3
glibc-2.16.90-f59cba71d848.tar.xz
Normal file
3
glibc-2.16.90-f59cba71d848.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:06e746e24a1b764fe87c9143db6666fad6a0c1135c400f56f63a8e243880d5fd
|
||||
size 11138300
|
@ -1,20 +1,20 @@
|
||||
Index: glibc-2.15/sunrpc/bindrsvprt.c
|
||||
Index: glibc-2.16.90/sunrpc/bindrsvprt.c
|
||||
===================================================================
|
||||
--- glibc-2.15.orig/sunrpc/bindrsvprt.c
|
||||
+++ glibc-2.15/sunrpc/bindrsvprt.c
|
||||
@@ -29,28 +29,108 @@
|
||||
--- glibc-2.16.90.orig/sunrpc/bindrsvprt.c
|
||||
+++ glibc-2.16.90/sunrpc/bindrsvprt.c
|
||||
@@ -29,6 +29,9 @@
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
+#include <stdio.h>
|
||||
+#include <ctype.h>
|
||||
#include <errno.h>
|
||||
+#include <stdlib.h>
|
||||
#include <errno.h>
|
||||
#include <unistd.h>
|
||||
#include <string.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
@@ -42,21 +45,102 @@
|
||||
*/
|
||||
__libc_lock_define_initialized (static, lock);
|
||||
|
||||
+#define STARTPORT 600
|
||||
+#define LOWPORT 512
|
||||
@ -38,6 +38,7 @@ Index: glibc-2.15/sunrpc/bindrsvprt.c
|
||||
+ size_t buflen = 0;
|
||||
+ int size = 0, ptr = 0;
|
||||
+
|
||||
+ __libc_lock_lock (lock);
|
||||
+ blacklist_read = 1;
|
||||
+
|
||||
+ fp = fopen ("/etc/bindresvport.blacklist", "r");
|
||||
@ -93,7 +94,10 @@ Index: glibc-2.15/sunrpc/bindrsvprt.c
|
||||
+ free (buf);
|
||||
+
|
||||
+ list_size = ptr;
|
||||
+
|
||||
+ __libc_lock_unlock (lock);
|
||||
+}
|
||||
+
|
||||
+
|
||||
/*
|
||||
* Bind a socket to a privileged IP port
|
||||
@ -116,7 +120,7 @@ Index: glibc-2.15/sunrpc/bindrsvprt.c
|
||||
|
||||
if (sin == (struct sockaddr_in *) 0)
|
||||
{
|
||||
@@ -69,6 +149,7 @@ bindresvport (int sd, struct sockaddr_in
|
||||
@@ -75,6 +159,7 @@ bindresvport (int sd, struct sockaddr_in
|
||||
port = (__getpid () % NPORTS) + STARTPORT;
|
||||
}
|
||||
|
||||
@ -124,7 +128,7 @@ Index: glibc-2.15/sunrpc/bindrsvprt.c
|
||||
/* Initialize to make gcc happy. */
|
||||
int res = -1;
|
||||
|
||||
@@ -77,12 +158,22 @@ bindresvport (int sd, struct sockaddr_in
|
||||
@@ -86,12 +171,22 @@ bindresvport (int sd, struct sockaddr_in
|
||||
again:
|
||||
for (i = 0; i < nports; ++i)
|
||||
{
|
||||
|
@ -1,8 +1,8 @@
|
||||
Index: glibc-2.15.90/elf/rtld.c
|
||||
Index: glibc-2.16.90/elf/rtld.c
|
||||
===================================================================
|
||||
--- glibc-2.15.90.orig/elf/rtld.c
|
||||
+++ glibc-2.15.90/elf/rtld.c
|
||||
@@ -1813,6 +1813,53 @@ ERROR: ld.so: object '%s' cannot be load
|
||||
--- glibc-2.16.90.orig/elf/rtld.c
|
||||
+++ glibc-2.16.90/elf/rtld.c
|
||||
@@ -1717,6 +1717,53 @@ ERROR: ld.so: object '%s' cannot be load
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,96 +0,0 @@
|
||||
---
|
||||
config.make.in | 1 +
|
||||
configure | 16 +++++++++++++++-
|
||||
configure.in | 1 +
|
||||
posix/Makefile | 2 +-
|
||||
6 files changed, 20 insertions(+), 4 deletions(-)
|
||||
|
||||
Index: glibc-2.15.90/config.make.in
|
||||
===================================================================
|
||||
--- glibc-2.15.90.orig/config.make.in
|
||||
+++ glibc-2.15.90/config.make.in
|
||||
@@ -97,6 +97,7 @@ add-ons = @add_ons@
|
||||
add-on-subdirs = @add_on_subdirs@
|
||||
sysdeps-add-ons = @sysdeps_add_ons@
|
||||
cross-compiling = @cross_compiling@
|
||||
+compiled-binaries-can-run-on-buildhost = @compiled_binaries_can_run_on_buildhost@
|
||||
force-install = @force_install@
|
||||
link-obsolete-rpc = @link_obsolete_rpc@
|
||||
|
||||
Index: glibc-2.15.90/configure.in
|
||||
===================================================================
|
||||
--- glibc-2.15.90.orig/configure.in
|
||||
+++ glibc-2.15.90/configure.in
|
||||
@@ -20,6 +20,7 @@ if test $host != $build; then
|
||||
AC_CHECK_PROGS(BUILD_CC, gcc cc)
|
||||
fi
|
||||
AC_SUBST(cross_compiling)
|
||||
+AC_SUBST(compiled_binaries_can_run_on_buildhost)
|
||||
AC_PROG_CPP
|
||||
# We need the C++ compiler only for testing.
|
||||
AC_PROG_CXX
|
||||
Index: glibc-2.15.90/configure
|
||||
===================================================================
|
||||
--- glibc-2.15.90.orig/configure
|
||||
+++ glibc-2.15.90/configure
|
||||
@@ -553,6 +553,7 @@ ac_clean_files=
|
||||
ac_config_libobj_dir=.
|
||||
LIBOBJS=
|
||||
cross_compiling=no
|
||||
+compiled_binaries_can_run_on_buildhost=yes
|
||||
subdirs=
|
||||
MFLAGS=
|
||||
MAKEFLAGS=
|
||||
@@ -667,6 +668,7 @@ CXXFLAGS
|
||||
CXX
|
||||
CPP
|
||||
cross_compiling
|
||||
+compiled_binaries_can_run_on_buildhost
|
||||
BUILD_CC
|
||||
OBJEXT
|
||||
ac_ct_CC
|
||||
@@ -1208,6 +1210,13 @@ do
|
||||
as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
|
||||
done
|
||||
|
||||
+# Check whether --enable-runbinaries was given.
|
||||
+if test "${enable_runbinaries+set}" = set; then
|
||||
+ enableval=$enable_runbinaries; compiled_binaries_can_run_on_buildhost=$enableval
|
||||
+else
|
||||
+ compiled_binaries_can_run_on_buildhost=yes
|
||||
+fi
|
||||
+
|
||||
# There might be people who depend on the old broken behavior: `$host'
|
||||
# used to hold the argument of --host etc.
|
||||
# FIXME: To remove some day.
|
||||
@@ -1223,6 +1232,7 @@ if test "x$host_alias" != x; then
|
||||
If a cross compiler is detected then cross compile mode will be used" >&2
|
||||
elif test "x$build_alias" != "x$host_alias"; then
|
||||
cross_compiling=yes
|
||||
+ compiled_binaries_can_run_on_buildhost=no
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -1407,6 +1417,9 @@ Optional Features:
|
||||
--enable-obsolete-rpc build and install the obsolete RPC code for
|
||||
link-time usage
|
||||
--enable-systemtap enable systemtap static probe points [default=no]
|
||||
+ --enable-runbinaries the compiled binaries should run on the buildhost because
|
||||
+ it happens to have a compatible cpu
|
||||
+
|
||||
|
||||
Optional Packages:
|
||||
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
|
||||
Index: glibc-2.15.90/posix/Makefile
|
||||
===================================================================
|
||||
--- glibc-2.15.90.orig/posix/Makefile
|
||||
+++ glibc-2.15.90/posix/Makefile
|
||||
@@ -305,7 +305,7 @@ $(inst_libexecdir)/getconf: $(inst_bindi
|
||||
done < $(objpfx)getconf.speclist
|
||||
|
||||
$(objpfx)getconf.speclist: $(objpfx)getconf
|
||||
-ifeq (no,$(cross-compiling))
|
||||
+ifeq (yes,$(compiled-binaries-can-run-on-buildhost))
|
||||
LC_ALL=C GETCONF_DIR=/dev/null \
|
||||
$(run-program-prefix) $< _POSIX_V7_WIDTH_RESTRICTED_ENVS > $@.new
|
||||
LC_ALL=C GETCONF_DIR=/dev/null \
|
@ -3,18 +3,18 @@ The addition of the Blowfish cipher functions also requires updating
|
||||
the ABI check list for all targets.
|
||||
|
||||
---
|
||||
glibc-ports-2.16/sysdeps/unix/sysv/linux/alpha/nptl/libcrypt.abilist | 12 ++++++++++
|
||||
glibc-ports-2.16/sysdeps/unix/sysv/linux/arm/nptl/libcrypt.abilist | 12 ++++++++++
|
||||
glibc-ports-2.16/sysdeps/unix/sysv/linux/ia64/nptl/libcrypt.abilist | 12 ++++++++++
|
||||
glibc-ports-2.16/sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libcrypt.abilist | 12 ++++++++++
|
||||
glibc-ports-2.16/sysdeps/unix/sysv/linux/m68k/m680x0/nptl/libcrypt.abilist | 12 ++++++++++
|
||||
glibc-ports-2.16/sysdeps/unix/sysv/linux/mips/mips32/nptl/libcrypt.abilist | 12 ++++++++++
|
||||
glibc-ports-2.16/sysdeps/unix/sysv/linux/mips/mips64/n32/nptl/libcrypt.abilist | 12 ++++++++++
|
||||
glibc-ports-2.16/sysdeps/unix/sysv/linux/mips/mips64/n64/nptl/libcrypt.abilist | 12 ++++++++++
|
||||
glibc-ports-2.16/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libcrypt.abilist | 12 ++++++++++
|
||||
glibc-ports-2.16/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libcrypt.abilist | 12 ++++++++++
|
||||
glibc-ports-2.16/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libcrypt.abilist | 12 ++++++++++
|
||||
glibc-ports-2.16/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libcrypt.abilist | 12 ++++++++++
|
||||
ports/sysdeps/unix/sysv/linux/alpha/nptl/libcrypt.abilist | 12 ++++++++++
|
||||
ports/sysdeps/unix/sysv/linux/arm/nptl/libcrypt.abilist | 12 ++++++++++
|
||||
ports/sysdeps/unix/sysv/linux/ia64/nptl/libcrypt.abilist | 12 ++++++++++
|
||||
ports/sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libcrypt.abilist | 12 ++++++++++
|
||||
ports/sysdeps/unix/sysv/linux/m68k/m680x0/nptl/libcrypt.abilist | 12 ++++++++++
|
||||
ports/sysdeps/unix/sysv/linux/mips/mips32/nptl/libcrypt.abilist | 12 ++++++++++
|
||||
ports/sysdeps/unix/sysv/linux/mips/mips64/n32/nptl/libcrypt.abilist | 12 ++++++++++
|
||||
ports/sysdeps/unix/sysv/linux/mips/mips64/n64/nptl/libcrypt.abilist | 12 ++++++++++
|
||||
ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libcrypt.abilist | 12 ++++++++++
|
||||
ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libcrypt.abilist | 12 ++++++++++
|
||||
ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libcrypt.abilist | 12 ++++++++++
|
||||
ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libcrypt.abilist | 12 ++++++++++
|
||||
sysdeps/unix/sysv/linux/i386/nptl/libcrypt.abilist | 12 ++++++++++
|
||||
sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/nptl/libcrypt.abilist | 12 ++++++++++
|
||||
sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libcrypt.abilist | 12 ++++++++++
|
||||
@ -27,10 +27,10 @@ the ABI check list for all targets.
|
||||
sysdeps/unix/sysv/linux/x86_64/x32/nptl/libcrypt.abilist | 12 ++++++++++
|
||||
22 files changed, 264 insertions(+)
|
||||
|
||||
Index: glibc-2.16/glibc-ports-2.16/sysdeps/unix/sysv/linux/alpha/nptl/libcrypt.abilist
|
||||
Index: glibc-2.16/ports/sysdeps/unix/sysv/linux/alpha/nptl/libcrypt.abilist
|
||||
===================================================================
|
||||
--- glibc-2.16.orig/glibc-ports-2.16/sysdeps/unix/sysv/linux/alpha/nptl/libcrypt.abilist
|
||||
+++ glibc-2.16/glibc-ports-2.16/sysdeps/unix/sysv/linux/alpha/nptl/libcrypt.abilist
|
||||
--- glibc-2.16.orig/ports/sysdeps/unix/sysv/linux/alpha/nptl/libcrypt.abilist
|
||||
+++ glibc-2.16/ports/sysdeps/unix/sysv/linux/alpha/nptl/libcrypt.abilist
|
||||
@@ -1,9 +1,21 @@
|
||||
GLIBC_2.0
|
||||
GLIBC_2.0 A
|
||||
@ -53,10 +53,10 @@ Index: glibc-2.16/glibc-ports-2.16/sysdeps/unix/sysv/linux/alpha/nptl/libcrypt.a
|
||||
+ crypt_gensalt_rn F
|
||||
+ crypt_ra F
|
||||
+ crypt_rn F
|
||||
Index: glibc-2.16/glibc-ports-2.16/sysdeps/unix/sysv/linux/arm/nptl/libcrypt.abilist
|
||||
Index: glibc-2.16/ports/sysdeps/unix/sysv/linux/arm/nptl/libcrypt.abilist
|
||||
===================================================================
|
||||
--- glibc-2.16.orig/glibc-ports-2.16/sysdeps/unix/sysv/linux/arm/nptl/libcrypt.abilist
|
||||
+++ glibc-2.16/glibc-ports-2.16/sysdeps/unix/sysv/linux/arm/nptl/libcrypt.abilist
|
||||
--- glibc-2.16.orig/ports/sysdeps/unix/sysv/linux/arm/nptl/libcrypt.abilist
|
||||
+++ glibc-2.16/ports/sysdeps/unix/sysv/linux/arm/nptl/libcrypt.abilist
|
||||
@@ -1,9 +1,21 @@
|
||||
GLIBC_2.4
|
||||
GLIBC_2.4 A
|
||||
@ -79,10 +79,10 @@ Index: glibc-2.16/glibc-ports-2.16/sysdeps/unix/sysv/linux/arm/nptl/libcrypt.abi
|
||||
+ crypt_gensalt_rn F
|
||||
+ crypt_ra F
|
||||
+ crypt_rn F
|
||||
Index: glibc-2.16/glibc-ports-2.16/sysdeps/unix/sysv/linux/ia64/nptl/libcrypt.abilist
|
||||
Index: glibc-2.16/ports/sysdeps/unix/sysv/linux/ia64/nptl/libcrypt.abilist
|
||||
===================================================================
|
||||
--- glibc-2.16.orig/glibc-ports-2.16/sysdeps/unix/sysv/linux/ia64/nptl/libcrypt.abilist
|
||||
+++ glibc-2.16/glibc-ports-2.16/sysdeps/unix/sysv/linux/ia64/nptl/libcrypt.abilist
|
||||
--- glibc-2.16.orig/ports/sysdeps/unix/sysv/linux/ia64/nptl/libcrypt.abilist
|
||||
+++ glibc-2.16/ports/sysdeps/unix/sysv/linux/ia64/nptl/libcrypt.abilist
|
||||
@@ -1,9 +1,21 @@
|
||||
GLIBC_2.0
|
||||
GLIBC_2.0 A
|
||||
@ -105,10 +105,10 @@ Index: glibc-2.16/glibc-ports-2.16/sysdeps/unix/sysv/linux/ia64/nptl/libcrypt.ab
|
||||
+ crypt_gensalt_rn F
|
||||
+ crypt_ra F
|
||||
+ crypt_rn F
|
||||
Index: glibc-2.16/glibc-ports-2.16/sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libcrypt.abilist
|
||||
Index: glibc-2.16/ports/sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libcrypt.abilist
|
||||
===================================================================
|
||||
--- glibc-2.16.orig/glibc-ports-2.16/sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libcrypt.abilist
|
||||
+++ glibc-2.16/glibc-ports-2.16/sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libcrypt.abilist
|
||||
--- glibc-2.16.orig/ports/sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libcrypt.abilist
|
||||
+++ glibc-2.16/ports/sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libcrypt.abilist
|
||||
@@ -1,9 +1,21 @@
|
||||
GLIBC_2.4
|
||||
GLIBC_2.4 A
|
||||
@ -131,10 +131,10 @@ Index: glibc-2.16/glibc-ports-2.16/sysdeps/unix/sysv/linux/m68k/coldfire/nptl/li
|
||||
+ crypt_gensalt_rn F
|
||||
+ crypt_ra F
|
||||
+ crypt_rn F
|
||||
Index: glibc-2.16/glibc-ports-2.16/sysdeps/unix/sysv/linux/m68k/m680x0/nptl/libcrypt.abilist
|
||||
Index: glibc-2.16/ports/sysdeps/unix/sysv/linux/m68k/m680x0/nptl/libcrypt.abilist
|
||||
===================================================================
|
||||
--- glibc-2.16.orig/glibc-ports-2.16/sysdeps/unix/sysv/linux/m68k/m680x0/nptl/libcrypt.abilist
|
||||
+++ glibc-2.16/glibc-ports-2.16/sysdeps/unix/sysv/linux/m68k/m680x0/nptl/libcrypt.abilist
|
||||
--- glibc-2.16.orig/ports/sysdeps/unix/sysv/linux/m68k/m680x0/nptl/libcrypt.abilist
|
||||
+++ glibc-2.16/ports/sysdeps/unix/sysv/linux/m68k/m680x0/nptl/libcrypt.abilist
|
||||
@@ -1,9 +1,21 @@
|
||||
GLIBC_2.0
|
||||
GLIBC_2.0 A
|
||||
@ -157,10 +157,10 @@ Index: glibc-2.16/glibc-ports-2.16/sysdeps/unix/sysv/linux/m68k/m680x0/nptl/libc
|
||||
+ crypt_gensalt_rn F
|
||||
+ crypt_ra F
|
||||
+ crypt_rn F
|
||||
Index: glibc-2.16/glibc-ports-2.16/sysdeps/unix/sysv/linux/mips/mips32/nptl/libcrypt.abilist
|
||||
Index: glibc-2.16/ports/sysdeps/unix/sysv/linux/mips/mips32/nptl/libcrypt.abilist
|
||||
===================================================================
|
||||
--- glibc-2.16.orig/glibc-ports-2.16/sysdeps/unix/sysv/linux/mips/mips32/nptl/libcrypt.abilist
|
||||
+++ glibc-2.16/glibc-ports-2.16/sysdeps/unix/sysv/linux/mips/mips32/nptl/libcrypt.abilist
|
||||
--- glibc-2.16.orig/ports/sysdeps/unix/sysv/linux/mips/mips32/nptl/libcrypt.abilist
|
||||
+++ glibc-2.16/ports/sysdeps/unix/sysv/linux/mips/mips32/nptl/libcrypt.abilist
|
||||
@@ -1,7 +1,12 @@
|
||||
GLIBC_2.0
|
||||
GLIBC_2.0 A
|
||||
@ -185,10 +185,10 @@ Index: glibc-2.16/glibc-ports-2.16/sysdeps/unix/sysv/linux/mips/mips32/nptl/libc
|
||||
+ crypt_gensalt_rn F
|
||||
+ crypt_ra F
|
||||
+ crypt_rn F
|
||||
Index: glibc-2.16/glibc-ports-2.16/sysdeps/unix/sysv/linux/mips/mips64/n32/nptl/libcrypt.abilist
|
||||
Index: glibc-2.16/ports/sysdeps/unix/sysv/linux/mips/mips64/n32/nptl/libcrypt.abilist
|
||||
===================================================================
|
||||
--- glibc-2.16.orig/glibc-ports-2.16/sysdeps/unix/sysv/linux/mips/mips64/n32/nptl/libcrypt.abilist
|
||||
+++ glibc-2.16/glibc-ports-2.16/sysdeps/unix/sysv/linux/mips/mips64/n32/nptl/libcrypt.abilist
|
||||
--- glibc-2.16.orig/ports/sysdeps/unix/sysv/linux/mips/mips64/n32/nptl/libcrypt.abilist
|
||||
+++ glibc-2.16/ports/sysdeps/unix/sysv/linux/mips/mips64/n32/nptl/libcrypt.abilist
|
||||
@@ -1,9 +1,21 @@
|
||||
GLIBC_2.0
|
||||
GLIBC_2.0 A
|
||||
@ -211,10 +211,10 @@ Index: glibc-2.16/glibc-ports-2.16/sysdeps/unix/sysv/linux/mips/mips64/n32/nptl/
|
||||
+ crypt_gensalt_rn F
|
||||
+ crypt_ra F
|
||||
+ crypt_rn F
|
||||
Index: glibc-2.16/glibc-ports-2.16/sysdeps/unix/sysv/linux/mips/mips64/n64/nptl/libcrypt.abilist
|
||||
Index: glibc-2.16/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/nptl/libcrypt.abilist
|
||||
===================================================================
|
||||
--- glibc-2.16.orig/glibc-ports-2.16/sysdeps/unix/sysv/linux/mips/mips64/n64/nptl/libcrypt.abilist
|
||||
+++ glibc-2.16/glibc-ports-2.16/sysdeps/unix/sysv/linux/mips/mips64/n64/nptl/libcrypt.abilist
|
||||
--- glibc-2.16.orig/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/nptl/libcrypt.abilist
|
||||
+++ glibc-2.16/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/nptl/libcrypt.abilist
|
||||
@@ -1,9 +1,21 @@
|
||||
GLIBC_2.0
|
||||
GLIBC_2.0 A
|
||||
@ -237,10 +237,10 @@ Index: glibc-2.16/glibc-ports-2.16/sysdeps/unix/sysv/linux/mips/mips64/n64/nptl/
|
||||
+ crypt_gensalt_rn F
|
||||
+ crypt_ra F
|
||||
+ crypt_rn F
|
||||
Index: glibc-2.16/glibc-ports-2.16/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libcrypt.abilist
|
||||
Index: glibc-2.16/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libcrypt.abilist
|
||||
===================================================================
|
||||
--- glibc-2.16.orig/glibc-ports-2.16/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libcrypt.abilist
|
||||
+++ glibc-2.16/glibc-ports-2.16/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libcrypt.abilist
|
||||
--- glibc-2.16.orig/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libcrypt.abilist
|
||||
+++ glibc-2.16/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libcrypt.abilist
|
||||
@@ -1,9 +1,21 @@
|
||||
GLIBC_2.0
|
||||
GLIBC_2.0 A
|
||||
@ -263,10 +263,10 @@ Index: glibc-2.16/glibc-ports-2.16/sysdeps/unix/sysv/linux/powerpc/powerpc32/nof
|
||||
+ crypt_gensalt_rn F
|
||||
+ crypt_ra F
|
||||
+ crypt_rn F
|
||||
Index: glibc-2.16/glibc-ports-2.16/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libcrypt.abilist
|
||||
Index: glibc-2.16/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libcrypt.abilist
|
||||
===================================================================
|
||||
--- glibc-2.16.orig/glibc-ports-2.16/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libcrypt.abilist
|
||||
+++ glibc-2.16/glibc-ports-2.16/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libcrypt.abilist
|
||||
--- glibc-2.16.orig/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libcrypt.abilist
|
||||
+++ glibc-2.16/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libcrypt.abilist
|
||||
@@ -1,9 +1,21 @@
|
||||
GLIBC_2.12
|
||||
GLIBC_2.12 A
|
||||
@ -289,10 +289,10 @@ Index: glibc-2.16/glibc-ports-2.16/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/
|
||||
+ crypt_gensalt_rn F
|
||||
+ crypt_ra F
|
||||
+ crypt_rn F
|
||||
Index: glibc-2.16/glibc-ports-2.16/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libcrypt.abilist
|
||||
Index: glibc-2.16/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libcrypt.abilist
|
||||
===================================================================
|
||||
--- glibc-2.16.orig/glibc-ports-2.16/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libcrypt.abilist
|
||||
+++ glibc-2.16/glibc-ports-2.16/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libcrypt.abilist
|
||||
--- glibc-2.16.orig/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libcrypt.abilist
|
||||
+++ glibc-2.16/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libcrypt.abilist
|
||||
@@ -1,9 +1,21 @@
|
||||
GLIBC_2.12
|
||||
GLIBC_2.12 A
|
||||
@ -315,10 +315,10 @@ Index: glibc-2.16/glibc-ports-2.16/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/
|
||||
+ crypt_gensalt_rn F
|
||||
+ crypt_ra F
|
||||
+ crypt_rn F
|
||||
Index: glibc-2.16/glibc-ports-2.16/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libcrypt.abilist
|
||||
Index: glibc-2.16/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libcrypt.abilist
|
||||
===================================================================
|
||||
--- glibc-2.16.orig/glibc-ports-2.16/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libcrypt.abilist
|
||||
+++ glibc-2.16/glibc-ports-2.16/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libcrypt.abilist
|
||||
--- glibc-2.16.orig/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libcrypt.abilist
|
||||
+++ glibc-2.16/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libcrypt.abilist
|
||||
@@ -1,9 +1,21 @@
|
||||
GLIBC_2.12
|
||||
GLIBC_2.12 A
|
||||
|
@ -1,78 +0,0 @@
|
||||
Index: glibc-2.15/posix/gai.conf
|
||||
===================================================================
|
||||
--- glibc-2.15.orig/posix/gai.conf
|
||||
+++ glibc-2.15/posix/gai.conf
|
||||
@@ -67,11 +67,66 @@
|
||||
#scopev4 ::ffff:192.168.0.0/112 5
|
||||
#scopev4 ::ffff:0.0.0.0/96 14
|
||||
#
|
||||
-# For sites which use site-local IPv4 addresses behind NAT there is
|
||||
-# the problem that even if IPv4 addresses are preferred they do not
|
||||
-# have the same scope and are therefore not sorted first. To change
|
||||
-# this use only these rules:
|
||||
+# Back in 2003, the sorting algorithm used by getaddrinfo() was defined in RFC
|
||||
+# 3484. However, this document did not take into account (or foresee) the
|
||||
+# ubiquity of IPv4 NAT on today's internet. This in turn causes some real
|
||||
+# operational problems that's hindering the deployment of IPv6 for content
|
||||
+# providers.
|
||||
+#
|
||||
+# The problem scenario is the following:
|
||||
+#
|
||||
+# An end user is located in a network numbered with private (RFC 1918) IPv4
|
||||
+# addresses and transitional 6to4 (RFC 3056) IPv6 addresses. The network is
|
||||
+# connected to the internet by a CPE/SOHO device implementing NAT for IPv4 and
|
||||
+# anycasted 6to4 (RFC 3068) for IPv6.
|
||||
+#
|
||||
+# When the user attempts to connect to a server whose hostname has both IPv4
|
||||
+# and IPv6 addresses published in DNS, an IPv6 connection using the
|
||||
+# transitional 6to4 service will be preferred. This happens because the scope
|
||||
+# comparison fails for IPv4, the RFC 1918 addresses are assumed to have
|
||||
+# site-local scope, which is smaller than the global scope of the server's IPv4
|
||||
+# address. For IPv6, both the server's and the client's (6to4) address have
|
||||
+# global scope.
|
||||
+#
|
||||
+# Unfortunately, the operational reality is that a transitional technique such
|
||||
+# as 6to4 is much less reliable than IPv4. The relay routers might be located
|
||||
+# far away from the optimal IPv4 path, and thus cause a significant latency
|
||||
+# increase, or they might not even work optimally (they're usually operated by
|
||||
+# voulenteering third parties on a best-effort basis), and finally some ISPs
|
||||
+# simply filter away all proto-41 traffic. Transitional techniques are useful
|
||||
+# to give end users with IPv4-only service a real shot at accessing IPv6-only
|
||||
+# content, but it should never be preferred over IPv4 service when accessing
|
||||
+# dual-stacked content.
|
||||
+#
|
||||
+# RFC 3484 even acknowledges this, by saying to "avoid the use of transitional
|
||||
+# addresses when native addresses are available".
|
||||
+#
|
||||
+# An IETF draft document which describes the problem in a much more detailed
|
||||
+# manner than I have is available here:
|
||||
+#
|
||||
+# http://tools.ietf.org/html/draft-denis-v6ops-nat-addrsel-00
|
||||
+#
|
||||
+# There's also an IETF draft that aims to revise RFC 3484 in order to fix this
|
||||
+# problem (amongst others):
|
||||
+#
|
||||
+# http://tools.ietf.org/html/draft-arifumi-6man-rfc3484-revise-02
|
||||
+#
|
||||
+# Quoting from this document:
|
||||
+#
|
||||
+# > 2.7. To change private IPv4 address scope
|
||||
+# >
|
||||
+# > As detailed in Remi's draft [I-D.denis-v6ops-nat-addrsel], when a
|
||||
+# > host is in NATed site, and has a private IPv4 address and
|
||||
+# > transitional addresses like 6to4 and Teredo, the host chooses
|
||||
+# > transitional IPv6 address to access most of the dual-stack servers.
|
||||
+# >
|
||||
+# > This is because private IPv4 address is defined to be site-local
|
||||
+# > scope, and as in RFC 3484, the scope matching rules (Rule 2) set
|
||||
+# > lower priority for private IPv4 address.
|
||||
+# >
|
||||
+# > By changing the address scope of private IPv4 address to global, this
|
||||
+# > problem can be solved.
|
||||
#
|
||||
-#scopev4 ::ffff:169.254.0.0/112 2
|
||||
-#scopev4 ::ffff:127.0.0.0/104 2
|
||||
-#scopev4 ::ffff:0.0.0.0/96 14
|
||||
+scopev4 ::ffff:10.0.0.0/104 14
|
||||
+scopev4 ::ffff:172.16.0.0/108 14
|
||||
+scopev4 ::ffff:192.168.0.0/112 14
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4afc22409c53c5d55a86fc8e5fc1f029dd7d42d3d19d61b64c98e4110f52c829
|
||||
size 946700
|
@ -17,22 +17,22 @@ git diff -R 'fcabc0f8b185f9e0a9289720be5ede6c39b3bf21^!'
|
||||
2011-05-12 Ulrich Drepper <drepper@gmail.com>
|
||||
|
||||
[BZ #12511]
|
||||
Index: glibc-2.15.90/libio/Makefile
|
||||
Index: glibc-2.16.90/libio/Makefile
|
||||
===================================================================
|
||||
--- glibc-2.15.90.orig/libio/Makefile
|
||||
+++ glibc-2.15.90/libio/Makefile
|
||||
@@ -57,7 +57,7 @@ tests = tst_swprintf tst_wprintf tst_sws
|
||||
--- glibc-2.16.90.orig/libio/Makefile
|
||||
+++ glibc-2.16.90/libio/Makefile
|
||||
@@ -59,7 +59,7 @@ tests = tst_swprintf tst_wprintf tst_sws
|
||||
tst-memstream1 tst-memstream2 \
|
||||
tst-wmemstream1 tst-wmemstream2 \
|
||||
bug-memstream1 bug-wmemstream1 \
|
||||
- tst-setvbuf1 tst-popen1 tst-fgetwc bug-wsetpos bug-fclose1
|
||||
+ tst-setvbuf1 tst-popen1 tst-fgetwc bug-wsetpos
|
||||
test-srcs = test-freopen
|
||||
|
||||
all: # Make this the default target; it will be defined in Rules.
|
||||
Index: glibc-2.15.90/libio/bug-fclose1.c
|
||||
- tst-setvbuf1 tst-popen1 tst-fgetwc bug-wsetpos bug-fclose1 tst-fseek
|
||||
+ tst-setvbuf1 tst-popen1 tst-fgetwc bug-wsetpos tst-fseek
|
||||
ifeq (yes,$(build-shared))
|
||||
# Add test-fopenloc only if shared library is enabled since it depends on
|
||||
# shared localedata objects.
|
||||
Index: glibc-2.16.90/libio/bug-fclose1.c
|
||||
===================================================================
|
||||
--- glibc-2.15.90.orig/libio/bug-fclose1.c
|
||||
--- glibc-2.16.90.orig/libio/bug-fclose1.c
|
||||
+++ /dev/null
|
||||
@@ -1,132 +0,0 @@
|
||||
-// BZ #12724
|
||||
@ -167,10 +167,10 @@ Index: glibc-2.15.90/libio/bug-fclose1.c
|
||||
-
|
||||
- return 0;
|
||||
-}
|
||||
Index: glibc-2.15.90/libio/fileops.c
|
||||
Index: glibc-2.16.90/libio/fileops.c
|
||||
===================================================================
|
||||
--- glibc-2.15.90.orig/libio/fileops.c
|
||||
+++ glibc-2.15.90/libio/fileops.c
|
||||
--- glibc-2.16.90.orig/libio/fileops.c
|
||||
+++ glibc-2.16.90/libio/fileops.c
|
||||
@@ -155,21 +155,13 @@ int
|
||||
_IO_new_file_close_it (fp)
|
||||
_IO_FILE *fp;
|
||||
|
@ -1,13 +1,13 @@
|
||||
Index: glibc-2.15.90/csu/version.c
|
||||
Index: glibc-2.16.90/csu/version.c
|
||||
===================================================================
|
||||
--- glibc-2.15.90.orig/csu/version.c
|
||||
+++ glibc-2.15.90/csu/version.c
|
||||
--- glibc-2.16.90.orig/csu/version.c
|
||||
+++ glibc-2.16.90/csu/version.c
|
||||
@@ -24,11 +24,12 @@ static const char __libc_release[] = REL
|
||||
static const char __libc_version[] = VERSION;
|
||||
|
||||
static const char banner[] =
|
||||
-"GNU C Library "RELEASE" release version "VERSION", by Roland McGrath et al.\n\
|
||||
+"GNU C Library "RELEASE" release version "VERSION" ("CVSDATE"), by Roland McGrath et al.\n\
|
||||
-"GNU C Library "PKGVERSION RELEASE" release version "VERSION", by Roland McGrath et al.\n\
|
||||
+"GNU C Library "PKGVERSION RELEASE" release version "VERSION" (git "GITID"), by Roland McGrath et al.\n\
|
||||
Copyright (C) 2012 Free Software Foundation, Inc.\n\
|
||||
This is free software; see the source for copying conditions.\n\
|
||||
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n\
|
||||
|
@ -1,3 +1,42 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 20 08:06:49 UTC 2012 - aj@suse.de
|
||||
|
||||
- Update to f59cba71d848:
|
||||
* Various bug fixes
|
||||
* Add new locales szl_PL, ayc_PE, nhn_MX, doi_IN, mni_IN, sat_IN.
|
||||
* Remove patch glibc-compiled-binaries.diff since getconf can not be
|
||||
cross-compiled
|
||||
* Refresh patch glibc-2.3.90-bindresvport.blacklist.diff
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Nov 11 09:54:43 UTC 2012 - aj@suse.de
|
||||
|
||||
- Update to current glibc 2.17 development snapshot (git 7e2bd01fcf3c):
|
||||
* Upstream changes:
|
||||
+ ports is now part of main tarball
|
||||
+ Add port to ARM AArch64
|
||||
+ New function secure_getenv
|
||||
+ Systemtap static probes
|
||||
+ The `clock_*' suite of functions (declared in <time.h>) is now
|
||||
available directly in the main C library.
|
||||
+ The `crypt' function now fails if passed salt bytes that violate the
|
||||
specification for those values. On Linux, the `crypt' function will
|
||||
consult /proc/sys/crypto/fips_enabled to determine if "FIPS mode" is
|
||||
enabled, and fail on encrypted strings using the MD5 or DES algorithm
|
||||
when the mode is enabled.
|
||||
+ Optimzations and bug fixes
|
||||
* remove upstream patches malloc-check-size.patch,
|
||||
glibc-2.16-getaddrinfo-buffer.patch, sparc-bind-now.patch,
|
||||
pthread-cond-wait-revert.patch
|
||||
* Remove now obsolete patch glibc-gai-private4.diff
|
||||
* Refresh patches glibc-2.14-crypt.diff, glibc-2.14-crypt-versioning.diff,
|
||||
glibc-fix-check-abi.patch, nss-db-path.patch, glibc-2.3.90-noversion.diff,
|
||||
glibc-revert-fseek-on-fclose.diff
|
||||
* Disable patches glibc-compiled-binaries.diff, getaddrinfo-ipv6-sanity.diff
|
||||
and glibc-gai-private4.diff.
|
||||
* Use git id instead of ChangeLog date in version output (patch glibc-version.diff)
|
||||
* Enable multi-arch on all architectures that support it.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Nov 7 14:59:06 UTC 2012 - schwab@suse.de
|
||||
|
||||
|
43
glibc.spec
43
glibc.spec
@ -119,17 +119,13 @@ Obsoletes: glibc-32bit
|
||||
Provides: ld-linux.so.3
|
||||
Provides: ld-linux.so.3(GLIBC_2.4)
|
||||
%endif
|
||||
Version: 2.16
|
||||
Version: 2.16.90
|
||||
Release: 0
|
||||
%define glibc_major_version 2.16
|
||||
%define git_id c3b96f90c9c1
|
||||
%define glibc_ports_ver 2.16
|
||||
%define ports_git_id a20c2b3c87ae
|
||||
%define glibc_major_version 2.16.90
|
||||
%define git_id f59cba71d848
|
||||
Url: http://www.gnu.org/software/libc/libc.html
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
Source: glibc-%{version}-%{git_id}.tar.xz
|
||||
%define glibc_ports_dir glibc-ports-%{glibc_ports_ver}
|
||||
Source2: glibc-ports-%{glibc_ports_ver}-%{ports_git_id}.tar.xz
|
||||
Source3: noversion.tar.bz2
|
||||
Source4: manpages.tar.bz2
|
||||
Source5: nsswitch.conf
|
||||
@ -201,8 +197,6 @@ Patch13: glibc-2.3.2.no_archive.diff
|
||||
Patch14: glibc-2.3.90-bindresvport.blacklist.diff
|
||||
# PATCH-FIX-OPENSUSE prefer -lang rpm packages
|
||||
Patch15: glibc-2.3.90-langpackdir.diff
|
||||
# PATCH-FIX-OPENSUSE add option --enable-runbinaries to disable running of compiled binaries
|
||||
Patch17: glibc-compiled-binaries.diff
|
||||
# PATCH-FEATURE-SLE increase cpusetsize to 4096, needs to be kept for compatibility kukuk@suse.de (XXX: Review)
|
||||
Patch18: glibc-cpusetsize.diff
|
||||
# PATCH-FIX-OPENSUSE Allow ARM binaries with old linker path to run - aj@suse.de
|
||||
@ -223,8 +217,6 @@ Patch103: glibc-2.4-china.diff
|
||||
### Broken patches in glibc that we revert for now:
|
||||
# PATCH-FIX-OPENSUSE revert seeking on fclose for now bnc#711829 matz@suse.de
|
||||
Patch201: glibc-revert-fseek-on-fclose.diff
|
||||
# PATCH-FIX-OPENSUSE revert pthread-cond-wait change since it causes hangs - aj@suse.de
|
||||
Patch202: pthread-cond-wait-revert.patch
|
||||
|
||||
### Network related patches
|
||||
# PATCH-FIX-OPENSUSE reload /etc/resolv.conf on change
|
||||
@ -233,8 +225,6 @@ Patch300: glibc-resolv-reload.diff
|
||||
Patch301: glibc-2.2-sunrpc.diff
|
||||
# PATCH-FIX-OPENSUSE only use ipv6 if real ipv6 address exists bnc#361697, bnc#684534
|
||||
Patch302: getaddrinfo-ipv6-sanity.diff
|
||||
# PATCH-FIX-OPENSUSE Consider private IPv4 addresses as global-scope in gai.conf [bnc#597616]
|
||||
Patch303: glibc-gai-private4.diff
|
||||
# PATCH-FIX-OPENSUSE Warn about usage of mdns in resolv.conv
|
||||
Patch304: glibc-resolv-mdnshint.diff
|
||||
# PATCH-FIX-OPENSUSE nscd does not account for 'multi on' in /etc/host.conf when ai-resolving host bso#11928
|
||||
@ -251,13 +241,6 @@ Patch402: nscd-avoid-gcc-warning.diff
|
||||
###
|
||||
# Patches from upstream
|
||||
###
|
||||
# PATCH-FIX-UPSTREAM Fix malloc_usable_size swo#1349, bnc#745247 - aj@suse.de
|
||||
Patch1001: malloc-check-size.patch
|
||||
|
||||
# PATCH-FIX-UPSTREAM Fix dns buffer - aj@suse.de
|
||||
Patch1021: glibc-2.16-getaddrinfo-buffer.patch
|
||||
# PATCH-FIX-UPSTREAM Fix sparc dynamic linker triggered by bind-now swo#14376 - aj@suse.de
|
||||
Patch1022: sparc-bind-now.patch
|
||||
|
||||
###
|
||||
# Patches awaiting upstream approval
|
||||
@ -443,7 +426,7 @@ versions of your software.
|
||||
%endif
|
||||
|
||||
%prep
|
||||
%setup -n glibc-%{version} -q -a 2 -a 3 -a 4
|
||||
%setup -n glibc-%{version} -q -a 3 -a 4
|
||||
# Owl crypt_blowfish
|
||||
tar -xzf %SOURCE50
|
||||
pushd crypt_blowfish-%{crypt_bf_version}
|
||||
@ -471,7 +454,6 @@ rm nscd/s-stamp
|
||||
%patch13 -p1
|
||||
%patch14 -p1
|
||||
%patch15 -p1
|
||||
%patch17 -p1
|
||||
%patch18 -p1
|
||||
%patch21 -p1
|
||||
|
||||
@ -481,12 +463,10 @@ rm nscd/s-stamp
|
||||
%patch103 -p1
|
||||
|
||||
%patch201 -p1
|
||||
%patch202 -p1
|
||||
|
||||
%patch300 -p1
|
||||
%patch301 -p1
|
||||
%patch302 -p1
|
||||
%patch303 -p1
|
||||
#%patch302 -p1
|
||||
%patch304 -p1
|
||||
%patch305 -p1
|
||||
%patch306 -p1
|
||||
@ -497,9 +477,6 @@ rm nscd/s-stamp
|
||||
%ifarch armv7l armv7hl
|
||||
%patch20 -p1
|
||||
%endif
|
||||
%patch1001 -p1
|
||||
%patch1021 -p1
|
||||
%patch1022 -p1
|
||||
|
||||
%patch2001 -p1
|
||||
# XXX Disable, it breaks the testsuite, test elf/tst-audit2
|
||||
@ -557,7 +534,7 @@ nice
|
||||
export SUSE_ASNEEDED=0
|
||||
# Adjust glibc version.h
|
||||
echo "#define CONFHOST \"%{target}\"" >> version.h
|
||||
echo "#define CVSDATE \"`date -r ChangeLog +%Y%m%d`\"" >> version.h
|
||||
echo "#define GITID \"%{git_id}\"" >> version.h
|
||||
#
|
||||
# Default CFLAGS and Compiler
|
||||
#
|
||||
@ -613,7 +590,7 @@ add_ons=",libidn"
|
||||
add_ons=$add_ons,noversion
|
||||
%endif
|
||||
%ifarch %arm mipsel ia64
|
||||
add_ons=$add_ons,%glibc_ports_dir
|
||||
add_ons=$add_ons,ports
|
||||
%endif
|
||||
%ifarch %arm mipsel
|
||||
# fails to build otherwise - need to recheck and fix
|
||||
@ -652,7 +629,7 @@ configure_and_build_glibc() {
|
||||
--enable-stackguard-randomization \
|
||||
%endif
|
||||
--build=%{target} --host=%{target} \
|
||||
%ifarch ppc ppc64 %{ix86} x86_64
|
||||
%ifarch %{ix86} x86_64 sparc sparc64 s390 s390x
|
||||
--enable-multi-arch \
|
||||
%endif
|
||||
%ifarch mipsel
|
||||
@ -700,11 +677,11 @@ configure_and_build_glibc() {
|
||||
%endif
|
||||
; do
|
||||
configure_and_build_glibc $pcpu "$BuildFlags -mcpu=$pcpu" "$add_ons" \
|
||||
--with-cpu=$pcpu --disable-runbinaries
|
||||
--with-cpu=$pcpu
|
||||
done
|
||||
# Eventually, special Cell variant:
|
||||
%if %{powerpc_optimize_cpu_cell}
|
||||
configure_and_build_glibc ppc-cell-be "$BuildFlags -mcpu=cell" "$add_ons" --disable-runbinaries
|
||||
configure_and_build_glibc ppc-cell-be "$BuildFlags -mcpu=cell" "$add_ons"
|
||||
%endif
|
||||
%endif # optimize_power
|
||||
|
||||
|
@ -1,176 +0,0 @@
|
||||
commit 6ef9cc37f0ea151a54e5c8a19950a6d5b6ff8a96
|
||||
Author: Siddhesh Poyarekar <siddhesh@redhat.com>
|
||||
Date: Wed Sep 5 21:49:00 2012 +0530
|
||||
|
||||
Return requested size for malloc_usable_size when MALLOC_CHECK_ > 0
|
||||
|
||||
[BZ #1349]
|
||||
|
||||
malloc_usable_size returns the usable size in an allocated chunk,
|
||||
which may be >= the requested size. In the case of MALLOC_CHECK_ being
|
||||
exported to > 0 however, only the requested size is usable, since a
|
||||
magic value is written at the end of the request size to trap writes
|
||||
beyond request bounds. Hence, when MALLOC_CHECK_ is exported to > 0,
|
||||
malloc_usable_size() should return the request size.
|
||||
|
||||
2012-09-05 Siddhesh Poyarekar <siddhesh@redhat.com>
|
||||
|
||||
[BZ #1349]
|
||||
* malloc/Makefile (tests): Add tst-malloc-usable test case.
|
||||
(tst-malloc-usable-ENV): Set environment for test case.
|
||||
* malloc/hooks.c (malloc_check_get_size): New function to get
|
||||
requested size.
|
||||
* malloc/malloc.c (musable): Use malloc_check_get_size.
|
||||
* malloc/tst-malloc-usable.c: New test case.
|
||||
|
||||
diff --git a/malloc/Makefile b/malloc/Makefile
|
||||
index 5d6d716..55c675b 100644
|
||||
--- a/malloc/Makefile
|
||||
+++ b/malloc/Makefile
|
||||
@@ -1,5 +1,4 @@
|
||||
-# Copyright (C) 1991-2003, 2005, 2006, 2007, 2009, 2011, 2012
|
||||
-# Free Software Foundation, Inc.
|
||||
+# Copyright (C) 1991-2012 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
|
||||
@@ -26,7 +25,7 @@ all:
|
||||
dist-headers := malloc.h
|
||||
headers := $(dist-headers) obstack.h mcheck.h
|
||||
tests := mallocbug tst-malloc tst-valloc tst-calloc tst-obstack \
|
||||
- tst-mallocstate tst-mcheck tst-mallocfork tst-trim1
|
||||
+ tst-mallocstate tst-mcheck tst-mallocfork tst-trim1 tst-malloc-usable
|
||||
test-srcs = tst-mtrace
|
||||
|
||||
routines = malloc morecore mcheck mtrace obstack
|
||||
@@ -116,6 +115,7 @@ endif
|
||||
endif
|
||||
|
||||
tst-mcheck-ENV = MALLOC_CHECK_=3
|
||||
+tst-malloc-usable-ENV = MALLOC_CHECK_=3
|
||||
|
||||
CPPFLAGS-malloc.c += -DPER_THREAD
|
||||
# Uncomment this for test releases. For public releases it is too expensive.
|
||||
diff --git a/malloc/hooks.c b/malloc/hooks.c
|
||||
index 8a34c78..b38dffb 100644
|
||||
--- a/malloc/hooks.c
|
||||
+++ b/malloc/hooks.c
|
||||
@@ -1,5 +1,5 @@
|
||||
/* Malloc implementation for multiple threads without lock contention.
|
||||
- Copyright (C) 2001-2009, 2011, 2012 Free Software Foundation, Inc.
|
||||
+ Copyright (C) 2001-2012 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Wolfram Gloger <wg@malloc.de>, 2001.
|
||||
|
||||
@@ -89,6 +89,35 @@ __malloc_check_init()
|
||||
|
||||
#define MAGICBYTE(p) ( ( ((size_t)p >> 3) ^ ((size_t)p >> 11)) & 0xFF )
|
||||
|
||||
+/* Visualize the chunk as being partitioned into blocks of 256 bytes from the
|
||||
+ highest address of the chunk, downwards. The beginning of each block tells
|
||||
+ us the size of the previous block, up to the actual size of the requested
|
||||
+ memory. Our magic byte is right at the end of the requested size, so we
|
||||
+ must reach it with this iteration, otherwise we have witnessed a memory
|
||||
+ corruption. */
|
||||
+static size_t
|
||||
+malloc_check_get_size(mchunkptr p)
|
||||
+{
|
||||
+ size_t size;
|
||||
+ unsigned char c;
|
||||
+ unsigned char magic = MAGICBYTE(p);
|
||||
+
|
||||
+ assert(using_malloc_checking == 1);
|
||||
+
|
||||
+ for (size = chunksize(p) - 1 + (chunk_is_mmapped(p) ? 0 : SIZE_SZ);
|
||||
+ (c = ((unsigned char*)p)[size]) != magic;
|
||||
+ size -= c) {
|
||||
+ if(c<=0 || size<(c+2*SIZE_SZ)) {
|
||||
+ malloc_printerr(check_action, "malloc_check_get_size: memory corruption",
|
||||
+ chunk2mem(p));
|
||||
+ return 0;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ /* chunk2mem size. */
|
||||
+ return size - 2*SIZE_SZ;
|
||||
+}
|
||||
+
|
||||
/* Instrument a chunk with overrun detector byte(s) and convert it
|
||||
into a user pointer with requested size sz. */
|
||||
|
||||
diff --git a/malloc/malloc.c b/malloc/malloc.c
|
||||
index 0f1796c..bd562df 100644
|
||||
--- a/malloc/malloc.c
|
||||
+++ b/malloc/malloc.c
|
||||
@@ -1,5 +1,5 @@
|
||||
/* Malloc implementation for multiple threads without lock contention.
|
||||
- Copyright (C) 1996-2009, 2010, 2011, 2012 Free Software Foundation, Inc.
|
||||
+ Copyright (C) 1996-2012 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Wolfram Gloger <wg@malloc.de>
|
||||
and Doug Lea <dl@cs.oswego.edu>, 2001.
|
||||
@@ -4563,6 +4563,9 @@ musable(void* mem)
|
||||
mchunkptr p;
|
||||
if (mem != 0) {
|
||||
p = mem2chunk(mem);
|
||||
+
|
||||
+ if (__builtin_expect(using_malloc_checking == 1, 0))
|
||||
+ return malloc_check_get_size(p);
|
||||
if (chunk_is_mmapped(p))
|
||||
return chunksize(p) - 2*SIZE_SZ;
|
||||
else if (inuse(p))
|
||||
diff --git a/malloc/tst-malloc-usable.c b/malloc/tst-malloc-usable.c
|
||||
new file mode 100644
|
||||
index 0000000..18decd8
|
||||
--- /dev/null
|
||||
+++ b/malloc/tst-malloc-usable.c
|
||||
@@ -0,0 +1,49 @@
|
||||
+/* Ensure that malloc_usable_size returns the request size with
|
||||
+ MALLOC_CHECK_ exported to a positive value.
|
||||
+
|
||||
+ Copyright (C) 2012 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 <malloc.h>
|
||||
+#include <string.h>
|
||||
+#include <stdio.h>
|
||||
+
|
||||
+static int
|
||||
+do_test (void)
|
||||
+{
|
||||
+ size_t usable_size;
|
||||
+ void *p = malloc (7);
|
||||
+ if (!p)
|
||||
+ {
|
||||
+ printf ("memory allocation failed\n");
|
||||
+ return 1;
|
||||
+ }
|
||||
+
|
||||
+ usable_size = malloc_usable_size (p);
|
||||
+ if (usable_size != 7)
|
||||
+ {
|
||||
+ printf ("malloc_usable_size: expected 7 but got %zu\n", usable_size);
|
||||
+ return 1;
|
||||
+ }
|
||||
+
|
||||
+ memset (p, 0, usable_size);
|
||||
+ free (p);
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+#define TEST_FUNCTION do_test ()
|
||||
+#include "../test-skeleton.c"
|
@ -1,9 +1,9 @@
|
||||
Use /var/db for nss_db
|
||||
|
||||
Index: glibc-2.15.90/nss/db-Makefile
|
||||
Index: glibc-2.16.90/nss/db-Makefile
|
||||
===================================================================
|
||||
--- glibc-2.15.90.orig/nss/db-Makefile
|
||||
+++ glibc-2.15.90/nss/db-Makefile
|
||||
--- glibc-2.16.90.orig/nss/db-Makefile
|
||||
+++ glibc-2.16.90/nss/db-Makefile
|
||||
@@ -22,7 +22,7 @@ DATABASES = $(wildcard /etc/passwd /etc/
|
||||
/etc/rpc /etc/services /etc/shadow /etc/gshadow \
|
||||
/etc/netgroup)
|
||||
@ -13,10 +13,10 @@ Index: glibc-2.15.90/nss/db-Makefile
|
||||
|
||||
AWK = awk
|
||||
MAKEDB = makedb --quiet
|
||||
Index: glibc-2.15.90/sysdeps/unix/sysv/linux/paths.h
|
||||
Index: glibc-2.16.90/sysdeps/unix/sysv/linux/paths.h
|
||||
===================================================================
|
||||
--- glibc-2.15.90.orig/sysdeps/unix/sysv/linux/paths.h
|
||||
+++ glibc-2.15.90/sysdeps/unix/sysv/linux/paths.h
|
||||
--- glibc-2.16.90.orig/sysdeps/unix/sysv/linux/paths.h
|
||||
+++ glibc-2.16.90/sysdeps/unix/sysv/linux/paths.h
|
||||
@@ -68,7 +68,7 @@
|
||||
/* Provide trailing slash, since mostly used for building pathnames. */
|
||||
#define _PATH_DEV "/dev/"
|
||||
@ -26,11 +26,11 @@ Index: glibc-2.15.90/sysdeps/unix/sysv/linux/paths.h
|
||||
#define _PATH_VARRUN "/var/run/"
|
||||
#define _PATH_VARTMP "/var/tmp/"
|
||||
|
||||
Index: glibc-2.15.90/Makeconfig
|
||||
Index: glibc-2.16.90/Makeconfig
|
||||
===================================================================
|
||||
--- glibc-2.15.90.orig/Makeconfig
|
||||
+++ glibc-2.15.90/Makeconfig
|
||||
@@ -287,7 +287,7 @@ inst_sysconfdir = $(install_root)$(sysco
|
||||
--- glibc-2.16.90.orig/Makeconfig
|
||||
+++ glibc-2.16.90/Makeconfig
|
||||
@@ -250,7 +250,7 @@ inst_sysconfdir = $(install_root)$(sysco
|
||||
|
||||
# Directory for the database files and Makefile for nss_db.
|
||||
ifndef vardbdir
|
||||
|
@ -1,244 +0,0 @@
|
||||
http://sourceware.org/ml/libc-alpha/2012-01/msg00002.html
|
||||
|
||||
The following patch:
|
||||
Has been reported as causing numerous problems in Fedora & Debian. I
|
||||
don't think anyone has done any serious analysis of the issue, but the
|
||||
patch has been pulled from both distributions because of the
|
||||
instability it's introduced.
|
||||
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=769421
|
||||
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=651899
|
||||
|
||||
|
||||
commit c5a0802a682dba23f92d47f0f99775aebfbe2539
|
||||
Author: Andreas Schwab <schwab@redhat.com>
|
||||
Date: Mon Nov 28 13:38:19 2011 +0100
|
||||
|
||||
Handle EAGAIN from FUTEX_WAIT_REQUEUE_PI
|
||||
|
||||
2011-11-28 Andreas Schwab <schwab@redhat.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Handle
|
||||
EAGAIN from FUTEX_WAIT_REQUEUE_PI.
|
||||
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise.
|
||||
|
||||
|
||||
Index: glibc-2.15.90/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
|
||||
===================================================================
|
||||
--- glibc-2.15.90.orig/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
|
||||
+++ glibc-2.15.90/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
|
||||
@@ -136,7 +136,6 @@ __pthread_cond_wait:
|
||||
cmpl $PI_BIT, %eax
|
||||
jne 18f
|
||||
|
||||
-90:
|
||||
movl $(FUTEX_WAIT_REQUEUE_PI|FUTEX_PRIVATE_FLAG), %ecx
|
||||
movl %ebp, %edx
|
||||
xorl %esi, %esi
|
||||
@@ -150,9 +149,6 @@ __pthread_cond_wait:
|
||||
sete 16(%esp)
|
||||
je 19f
|
||||
|
||||
- cmpl $-EAGAIN, %eax
|
||||
- je 91f
|
||||
-
|
||||
/* Normal and PI futexes dont mix. Use normal futex functions only
|
||||
if the kernel does not support the PI futex functions. */
|
||||
cmpl $-ENOSYS, %eax
|
||||
@@ -397,78 +393,6 @@ __pthread_cond_wait:
|
||||
#endif
|
||||
call __lll_unlock_wake
|
||||
jmp 11b
|
||||
-
|
||||
-91:
|
||||
-.LcleanupSTART2:
|
||||
- /* FUTEX_WAIT_REQUEUE_PI returned EAGAIN. We need to
|
||||
- call it again. */
|
||||
-
|
||||
- /* Get internal lock. */
|
||||
- movl $1, %edx
|
||||
- xorl %eax, %eax
|
||||
- LOCK
|
||||
-#if cond_lock == 0
|
||||
- cmpxchgl %edx, (%ebx)
|
||||
-#else
|
||||
- cmpxchgl %edx, cond_lock(%ebx)
|
||||
-#endif
|
||||
- jz 92f
|
||||
-
|
||||
-#if cond_lock == 0
|
||||
- movl %ebx, %edx
|
||||
-#else
|
||||
- leal cond_lock(%ebx), %edx
|
||||
-#endif
|
||||
-#if (LLL_SHARED-LLL_PRIVATE) > 255
|
||||
- xorl %ecx, %ecx
|
||||
-#endif
|
||||
- cmpl $-1, dep_mutex(%ebx)
|
||||
- setne %cl
|
||||
- subl $1, %ecx
|
||||
- andl $(LLL_SHARED-LLL_PRIVATE), %ecx
|
||||
-#if LLL_PRIVATE != 0
|
||||
- addl $LLL_PRIVATE, %ecx
|
||||
-#endif
|
||||
- call __lll_lock_wait
|
||||
-
|
||||
-92:
|
||||
- /* Increment the cond_futex value again, so it can be used as a new
|
||||
- expected value. */
|
||||
- addl $1, cond_futex(%ebx)
|
||||
- movl cond_futex(%ebx), %ebp
|
||||
-
|
||||
- /* Unlock. */
|
||||
- LOCK
|
||||
-#if cond_lock == 0
|
||||
- subl $1, (%ebx)
|
||||
-#else
|
||||
- subl $1, cond_lock(%ebx)
|
||||
-#endif
|
||||
- je 93f
|
||||
-#if cond_lock == 0
|
||||
- movl %ebx, %eax
|
||||
-#else
|
||||
- leal cond_lock(%ebx), %eax
|
||||
-#endif
|
||||
-#if (LLL_SHARED-LLL_PRIVATE) > 255
|
||||
- xorl %ecx, %ecx
|
||||
-#endif
|
||||
- cmpl $-1, dep_mutex(%ebx)
|
||||
- setne %cl
|
||||
- subl $1, %ecx
|
||||
- andl $(LLL_SHARED-LLL_PRIVATE), %ecx
|
||||
-#if LLL_PRIVATE != 0
|
||||
- addl $LLL_PRIVATE, %ecx
|
||||
-#endif
|
||||
- call __lll_unlock_wake
|
||||
-
|
||||
-93:
|
||||
- /* Set the rest of SYS_futex args for FUTEX_WAIT_REQUEUE_PI. */
|
||||
- xorl %ecx, %ecx
|
||||
- movl dep_mutex(%ebx), %edi
|
||||
- jmp 90b
|
||||
-.LcleanupEND2:
|
||||
-
|
||||
.size __pthread_cond_wait, .-__pthread_cond_wait
|
||||
versioned_symbol (libpthread, __pthread_cond_wait, pthread_cond_wait,
|
||||
GLIBC_2_3_2)
|
||||
@@ -641,10 +565,6 @@ __condvar_w_cleanup:
|
||||
.long .LcleanupEND-.Lsub_cond_futex
|
||||
.long __condvar_w_cleanup-.LSTARTCODE
|
||||
.uleb128 0
|
||||
- .long .LcleanupSTART2-.LSTARTCODE
|
||||
- .long .LcleanupEND2-.LcleanupSTART2
|
||||
- .long __condvar_w_cleanup-.LSTARTCODE
|
||||
- .uleb128 0
|
||||
.long .LcallUR-.LSTARTCODE
|
||||
.long .LENDCODE-.LcallUR
|
||||
.long 0
|
||||
Index: glibc-2.15.90/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
|
||||
===================================================================
|
||||
--- glibc-2.15.90.orig/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
|
||||
+++ glibc-2.15.90/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
|
||||
@@ -136,14 +136,11 @@ __pthread_cond_wait:
|
||||
cmpl $PI_BIT, %eax
|
||||
jne 61f
|
||||
|
||||
-90:
|
||||
movl $(FUTEX_WAIT_REQUEUE_PI|FUTEX_PRIVATE_FLAG), %esi
|
||||
movl $SYS_futex, %eax
|
||||
syscall
|
||||
|
||||
movl $1, %r8d
|
||||
- cmpq $-EAGAIN, %rax
|
||||
- je 91f
|
||||
#ifdef __ASSUME_REQUEUE_PI
|
||||
jmp 62f
|
||||
#else
|
||||
@@ -331,69 +328,6 @@ __pthread_cond_wait:
|
||||
13: movq %r10, %rax
|
||||
jmp 14b
|
||||
|
||||
-91:
|
||||
-.LcleanupSTART2:
|
||||
- /* FUTEX_WAIT_REQUEUE_PI returned EAGAIN. We need to
|
||||
- call it again. */
|
||||
- movq 8(%rsp), %rdi
|
||||
-
|
||||
- /* Get internal lock. */
|
||||
- movl $1, %esi
|
||||
- xorl %eax, %eax
|
||||
- LOCK
|
||||
-#if cond_lock == 0
|
||||
- cmpxchgl %esi, (%rdi)
|
||||
-#else
|
||||
- cmpxchgl %esi, cond_lock(%rdi)
|
||||
-#endif
|
||||
- jz 92f
|
||||
-
|
||||
-#if cond_lock != 0
|
||||
- addq $cond_lock, %rdi
|
||||
-#endif
|
||||
- LP_OP(cmp) $-1, dep_mutex-cond_lock(%rdi)
|
||||
- movl $LLL_PRIVATE, %eax
|
||||
- movl $LLL_SHARED, %esi
|
||||
- cmovne %eax, %esi
|
||||
- callq __lll_lock_wait
|
||||
-#if cond_lock != 0
|
||||
- subq $cond_lock, %rdi
|
||||
-#endif
|
||||
-92:
|
||||
- /* Increment the cond_futex value again, so it can be used as a new
|
||||
- expected value. */
|
||||
- incl cond_futex(%rdi)
|
||||
- movl cond_futex(%rdi), %edx
|
||||
-
|
||||
- /* Release internal lock. */
|
||||
- LOCK
|
||||
-#if cond_lock == 0
|
||||
- decl (%rdi)
|
||||
-#else
|
||||
- decl cond_lock(%rdi)
|
||||
-#endif
|
||||
- jz 93f
|
||||
-
|
||||
-#if cond_lock != 0
|
||||
- addq $cond_lock, %rdi
|
||||
-#endif
|
||||
- LP_OP(cmp) $-1, dep_mutex-cond_lock(%rdi)
|
||||
- movl $LLL_PRIVATE, %eax
|
||||
- movl $LLL_SHARED, %esi
|
||||
- cmovne %eax, %esi
|
||||
- /* The call preserves %rdx. */
|
||||
- callq __lll_unlock_wake
|
||||
-#if cond_lock != 0
|
||||
- subq $cond_lock, %rdi
|
||||
-#endif
|
||||
-93:
|
||||
- /* Set the rest of SYS_futex args for FUTEX_WAIT_REQUEUE_PI. */
|
||||
- xorq %r10, %r10
|
||||
- mov dep_mutex(%rdi), %R8_LP
|
||||
- leaq cond_futex(%rdi), %rdi
|
||||
- jmp 90b
|
||||
-.LcleanupEND2:
|
||||
-
|
||||
.size __pthread_cond_wait, .-__pthread_cond_wait
|
||||
versioned_symbol (libpthread, __pthread_cond_wait, pthread_cond_wait,
|
||||
GLIBC_2_3_2)
|
||||
@@ -546,15 +480,11 @@ __condvar_cleanup1:
|
||||
.uleb128 .LcleanupSTART-.LSTARTCODE
|
||||
.uleb128 .LcleanupEND-.LcleanupSTART
|
||||
.uleb128 __condvar_cleanup1-.LSTARTCODE
|
||||
- .uleb128 0
|
||||
- .uleb128 .LcleanupSTART2-.LSTARTCODE
|
||||
- .uleb128 .LcleanupEND2-.LcleanupSTART2
|
||||
- .uleb128 __condvar_cleanup1-.LSTARTCODE
|
||||
- .uleb128 0
|
||||
+ .uleb128 0
|
||||
.uleb128 .LcallUR-.LSTARTCODE
|
||||
.uleb128 .LENDCODE-.LcallUR
|
||||
.uleb128 0
|
||||
- .uleb128 0
|
||||
+ .uleb128 0
|
||||
.Lcstend:
|
||||
|
||||
|
@ -1,31 +0,0 @@
|
||||
commit aa9bbfe6a79fce593ab3d298bb0e880d77eb7f71
|
||||
Author: David S. Miller <davem@davemloft.net>
|
||||
Date: Thu Sep 27 21:33:54 2012 -0700
|
||||
|
||||
Fix sparc64 crashes with LD_BIND_NOW and --enable-bind-now.
|
||||
|
||||
[BZ #14376]
|
||||
* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Do not
|
||||
pass reloc->r_addend in as the 'high' argument to
|
||||
sparc64_fixup_plt when handling R_SPARC_JMP_IREL relocations.
|
||||
|
||||
diff --git a/sysdeps/sparc/sparc64/dl-machine.h b/sysdeps/sparc/sparc64/dl-machine.h
|
||||
index 35c24d1..2f8bbe1 100644
|
||||
--- a/sysdeps/sparc/sparc64/dl-machine.h
|
||||
+++ b/sysdeps/sparc/sparc64/dl-machine.h
|
||||
@@ -458,7 +458,14 @@ elf_machine_rela (struct link_map *map, const Elf64_Rela *reloc,
|
||||
break;
|
||||
case R_SPARC_JMP_IREL:
|
||||
value = ((Elf64_Addr (*) (int)) value) (GLRO(dl_hwcap));
|
||||
- /* Fall thru */
|
||||
+ /* 'high' is always zero, for large PLT entries the linker
|
||||
+ emits an R_SPARC_IRELATIVE. */
|
||||
+#ifdef RESOLVE_CONFLICT_FIND_MAP
|
||||
+ sparc64_fixup_plt (NULL, reloc, reloc_addr, value, 0, 0);
|
||||
+#else
|
||||
+ sparc64_fixup_plt (map, reloc, reloc_addr, value, 0, 0);
|
||||
+#endif
|
||||
+ break;
|
||||
case R_SPARC_JMP_SLOT:
|
||||
#ifdef RESOLVE_CONFLICT_FIND_MAP
|
||||
/* R_SPARC_JMP_SLOT conflicts against .plt[32768+]
|
Loading…
Reference in New Issue
Block a user