You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
168 lines
6.2 KiB
168 lines
6.2 KiB
14 years ago
|
# --- SDE-COPYRIGHT-NOTE-BEGIN ---
|
||
|
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
|
||
|
#
|
||
|
# Filename: package/.../glibc/glibc-2.11-branch-update.patch
|
||
|
# Copyright (C) 2010 The OpenSDE Project
|
||
|
#
|
||
|
# More information can be found in the files COPYING and README.
|
||
|
#
|
||
|
# This patch file is dual-licensed. It is available under the license the
|
||
|
# patched project is licensed under, as long as it is an OpenSource license
|
||
|
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
|
||
|
# of the GNU General Public License as published by the Free Software
|
||
|
# Foundation; either version 2 of the License, or (at your option) any later
|
||
|
# version.
|
||
|
# --- SDE-COPYRIGHT-NOTE-END ---
|
||
|
|
||
|
diff --git a/ChangeLog b/ChangeLog
|
||
|
index bb4e4d5..b03035f 100644
|
||
|
--- a/ChangeLog
|
||
|
+++ b/ChangeLog
|
||
|
@@ -1,3 +1,29 @@
|
||
|
+2010-05-26 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
+
|
||
|
+ [BZ #11640]
|
||
|
+ * sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features):
|
||
|
+ Properly check family and model.
|
||
|
+
|
||
|
+2010-05-26 Takashi Yoshii <takashi.yoshii.zj@renesas.com>
|
||
|
+
|
||
|
+ * sysdeps/unix/sysv/linux/sh/sh4/register-dump.h: Fix iov[] size.
|
||
|
+
|
||
|
+2010-05-21 Ulrich Drepper <drepper@redhat.com>
|
||
|
+
|
||
|
+ * elf/dl-runtime.c (_dl_profile_fixup): Don't crash on unresolved weak
|
||
|
+ symbol reference.
|
||
|
+
|
||
|
+2010-05-19 Andreas Schwab <schwab@redhat.com>
|
||
|
+
|
||
|
+ * elf/dl-runtime.c (_dl_fixup): Don't crash on unresolved weak
|
||
|
+ symbol reference.
|
||
|
+
|
||
|
+2010-05-21 Andreas Schwab <schwab@redhat.com>
|
||
|
+
|
||
|
+ * sunrpc/clnt_tcp.c (clnttcp_control): Add missing break.
|
||
|
+ * sunrpc/clnt_udp.c (clntudp_control): Likewise.
|
||
|
+ * sunrpc/clnt_unix.c (clntunix_control): Likewise.
|
||
|
+
|
||
|
2010-05-12 Andrew Stubbs <ams@codesourcery.com>
|
||
|
|
||
|
* sysdeps/sh/sh4/fpu/feholdexcpt.c (feholdexcept): Really disable all
|
||
|
diff --git a/elf/dl-runtime.c b/elf/dl-runtime.c
|
||
|
index a52120d..6847eda 100644
|
||
|
--- a/elf/dl-runtime.c
|
||
|
+++ b/elf/dl-runtime.c
|
||
|
@@ -1,5 +1,5 @@
|
||
|
/* On-demand PLT fixup for shared objects.
|
||
|
- Copyright (C) 1995-2006, 2007, 2008, 2009 Free Software Foundation, Inc.
|
||
|
+ Copyright (C) 1995-2009, 2010 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
|
||
|
@@ -144,7 +144,8 @@ _dl_fixup (
|
||
|
/* And now perhaps the relocation addend. */
|
||
|
value = elf_machine_plt_value (l, reloc, value);
|
||
|
|
||
|
- if (__builtin_expect (ELFW(ST_TYPE) (sym->st_info) == STT_GNU_IFUNC, 0))
|
||
|
+ if (sym != NULL
|
||
|
+ && __builtin_expect (ELFW(ST_TYPE) (sym->st_info) == STT_GNU_IFUNC, 0))
|
||
|
value = ((DL_FIXUP_VALUE_TYPE (*) (void)) DL_FIXUP_VALUE_ADDR (value)) ();
|
||
|
|
||
|
/* Finally, fix up the plt itself. */
|
||
|
@@ -231,8 +232,9 @@ _dl_profile_fixup (
|
||
|
? LOOKUP_VALUE_ADDRESS (result)
|
||
|
+ defsym->st_value : 0);
|
||
|
|
||
|
- if (__builtin_expect (ELFW(ST_TYPE) (defsym->st_info)
|
||
|
- == STT_GNU_IFUNC, 0))
|
||
|
+ if (defsym != NULL
|
||
|
+ && __builtin_expect (ELFW(ST_TYPE) (defsym->st_info)
|
||
|
+ == STT_GNU_IFUNC, 0))
|
||
|
value = ((DL_FIXUP_VALUE_TYPE (*) (void))
|
||
|
DL_FIXUP_VALUE_ADDR (value)) ();
|
||
|
}
|
||
|
@@ -369,7 +371,7 @@ _dl_profile_fixup (
|
||
|
struct audit_ifaces *afct = GLRO(dl_audit);
|
||
|
for (unsigned int cnt = 0; cnt < GLRO(dl_naudit); ++cnt)
|
||
|
{
|
||
|
- if (afct->ARCH_LA_PLTENTER != NULL
|
||
|
+ if (afct->ARCH_LA_PLTENTER != NULL
|
||
|
&& (reloc_result->enterexit
|
||
|
& (LA_SYMB_NOPLTENTER << (2 * (cnt + 1)))) == 0)
|
||
|
{
|
||
|
diff --git a/sunrpc/clnt_tcp.c b/sunrpc/clnt_tcp.c
|
||
|
index 1552be8..d26a126 100644
|
||
|
--- a/sunrpc/clnt_tcp.c
|
||
|
+++ b/sunrpc/clnt_tcp.c
|
||
|
@@ -399,6 +399,7 @@ clnttcp_control (CLIENT *cl, int request, char *info)
|
||
|
/* This will set the xid of the NEXT call */
|
||
|
*(u_long *)ct->ct_mcall = htonl (*(u_long *)info - 1);
|
||
|
/* decrement by 1 as clnttcp_call() increments once */
|
||
|
+ break;
|
||
|
case CLGET_VERS:
|
||
|
/*
|
||
|
* This RELIES on the information that, in the call body,
|
||
|
diff --git a/sunrpc/clnt_udp.c b/sunrpc/clnt_udp.c
|
||
|
index 62ee3a1..360e26a 100644
|
||
|
--- a/sunrpc/clnt_udp.c
|
||
|
+++ b/sunrpc/clnt_udp.c
|
||
|
@@ -582,6 +582,7 @@ clntudp_control (CLIENT *cl, int request, char *info)
|
||
|
/* This will set the xid of the NEXT call */
|
||
|
*(u_long *)cu->cu_outbuf = htonl(*(u_long *)info - 1);
|
||
|
/* decrement by 1 as clntudp_call() increments once */
|
||
|
+ break;
|
||
|
case CLGET_VERS:
|
||
|
/*
|
||
|
* This RELIES on the information that, in the call body,
|
||
|
diff --git a/sunrpc/clnt_unix.c b/sunrpc/clnt_unix.c
|
||
|
index db3ea31..bca1273 100644
|
||
|
--- a/sunrpc/clnt_unix.c
|
||
|
+++ b/sunrpc/clnt_unix.c
|
||
|
@@ -376,6 +376,7 @@ clntunix_control (CLIENT *cl, int request, char *info)
|
||
|
/* This will set the xid of the NEXT call */
|
||
|
*(u_long *) ct->ct_mcall = htonl (*(u_long *)info - 1);
|
||
|
/* decrement by 1 as clntunix_call() increments once */
|
||
|
+ break;
|
||
|
case CLGET_VERS:
|
||
|
/*
|
||
|
* This RELIES on the information that, in the call body,
|
||
|
diff --git a/sysdeps/unix/sysv/linux/sh/sh4/register-dump.h b/sysdeps/unix/sysv/linux/sh/sh4/register-dump.h
|
||
|
index e3c9c0e..92df085 100644
|
||
|
--- a/sysdeps/unix/sysv/linux/sh/sh4/register-dump.h
|
||
|
+++ b/sysdeps/unix/sysv/linux/sh/sh4/register-dump.h
|
||
|
@@ -1,5 +1,5 @@
|
||
|
/* Dump registers.
|
||
|
- Copyright (C) 1999, 2000, 2009 Free Software Foundation, Inc.
|
||
|
+ Copyright (C) 1999, 2000, 2009, 2010 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
|
||
|
@@ -58,7 +58,7 @@ register_dump (int fd, struct sigcontext *ctx)
|
||
|
{
|
||
|
char regs[22][8];
|
||
|
char fpregs[34][8];
|
||
|
- struct iovec iov[112];
|
||
|
+ struct iovec iov[22 * 2 + 34 * 2 + 2];
|
||
|
size_t nr = 0;
|
||
|
|
||
|
#define ADD_STRING(str) \
|
||
|
diff --git a/sysdeps/x86_64/multiarch/init-arch.c b/sysdeps/x86_64/multiarch/init-arch.c
|
||
|
index 0fe2f86..198fcaa 100644
|
||
|
--- a/sysdeps/x86_64/multiarch/init-arch.c
|
||
|
+++ b/sysdeps/x86_64/multiarch/init-arch.c
|
||
|
@@ -62,12 +62,12 @@ __init_cpu_features (void)
|
||
|
unsigned int eax = __cpu_features.cpuid[COMMON_CPUID_INDEX_1].eax;
|
||
|
unsigned int extended_family = (eax >> 20) & 0xff;
|
||
|
unsigned int extended_model = (eax >> 12) & 0xf0;
|
||
|
- if (__cpu_features.family == 0x0f)
|
||
|
+ if (family == 0x0f)
|
||
|
{
|
||
|
family += extended_family;
|
||
|
model += extended_model;
|
||
|
}
|
||
|
- else if (__cpu_features.family == 0x06)
|
||
|
+ else if (family == 0x06)
|
||
|
model += extended_model;
|
||
|
}
|
||
|
/* This spells out "AuthenticAMD". */
|