This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch release/2.22/master updated. glibc-2.22-36-ga73a625
- From: vapier at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 24 Jan 2016 21:03:19 -0000
- Subject: GNU C Library master sources branch release/2.22/master updated. glibc-2.22-36-ga73a625
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, release/2.22/master has been updated
via a73a62562a198072ab417e28d4c0315a78c49cfe (commit)
via 7ad78f869815a73dc26c93b72d156812d93eb026 (commit)
via c6d1664014de6e9f36aba21e8c84419885b396d8 (commit)
from 7a5d3129638db8a832e2c3090d263bbc1b1b919b (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a73a62562a198072ab417e28d4c0315a78c49cfe
commit a73a62562a198072ab417e28d4c0315a78c49cfe
Author: Ludovic Courtès <ludo@gnu.org>
Date: Tue Oct 27 13:33:26 2015 +0100
Gracefully handle incompatible locale data
* locale/loadlocale.c (_nl_intern_locale_data): Change assertion
on CNT to a conditional jump to 'puntdata'.
(cherry picked from commit 0062ace2292effc4135c15ea99b1931fea5e0203)
diff --git a/ChangeLog b/ChangeLog
index 0bde9e2..9740c89 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2015-10-27 Ludovic Courtès <ludo@gnu.org>
+
+ * locale/loadlocale.c (_nl_intern_locale_data): Change assertion
+ on CNT to a conditional jump to 'puntdata'.
+
2015-08-18 Alan Modra <amodra@gmail.com>
[BZ #18421]
diff --git a/locale/loadlocale.c b/locale/loadlocale.c
index fdba6e9..dcbb833 100644
--- a/locale/loadlocale.c
+++ b/locale/loadlocale.c
@@ -121,9 +121,10 @@ _nl_intern_locale_data (int category, const void *data, size_t datasize)
switch (category)
{
#define CATTEST(cat) \
- case LC_##cat: \
- assert (cnt < (sizeof (_nl_value_type_LC_##cat) \
- / sizeof (_nl_value_type_LC_##cat[0]))); \
+ case LC_##cat: \
+ if (cnt >= (sizeof (_nl_value_type_LC_##cat) \
+ / sizeof (_nl_value_type_LC_##cat[0]))) \
+ goto puntdata; \
break
CATTEST (NUMERIC);
CATTEST (TIME);
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=7ad78f869815a73dc26c93b72d156812d93eb026
commit 7ad78f869815a73dc26c93b72d156812d93eb026
Author: Alan Modra <amodra@gmail.com>
Date: Fri Aug 14 22:15:49 2015 -0400
hppa: start.S: rework references to fix PIE TEXTRELs [BZ #18421]
The startup code was not using PIC friendly references leading to TEXTRELs
in every PIE ELF.
(cherry picked from commit cf4253777412e9c8d5bfbc1c8b975f472e1e7d43)
diff --git a/ChangeLog b/ChangeLog
index 4f30c7e..0bde9e2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2015-08-18 Alan Modra <amodra@gmail.com>
+
+ [BZ #18421]
+ * sysdeps/hppa/start.S [SHARED]: Use .section .data.rel.ro and define
+ .Lp__global.
+ (_start): Load %dp via .Lp__global.
+ [!SHARED]: Use .section .rodata.
+
2015-08-09 John David Anglin <danglin@gcc.gnu.org>
[BZ #18480]
diff --git a/NEWS b/NEWS
index bc2287d..99e68d2 100644
--- a/NEWS
+++ b/NEWS
@@ -9,8 +9,8 @@ Version 2.22.1
* The following bugs are resolved with this release:
- 17905, 18480, 18589, 18743, 18778, 18781, 18787, 18796, 18870, 18887,
- 18921, 18928, 18969, 18985, 19018, 19058, 19174, 19178.
+ 17905, 18421, 18480, 18589, 18743, 18778, 18781, 18787, 18796, 18870,
+ 18887, 18921, 18928, 18969, 18985, 19018, 19058, 19174, 19178.
* The LD_POINTER_GUARD environment variable can no longer be used to
disable the pointer guard feature. It is always enabled.
diff --git a/sysdeps/hppa/start.S b/sysdeps/hppa/start.S
index 64d8c3e..cc4f243 100644
--- a/sysdeps/hppa/start.S
+++ b/sysdeps/hppa/start.S
@@ -42,7 +42,11 @@
/* Have the linker create plabel words so we get PLABEL32
relocs and not 21/14. The use of 21/14 relocs is only
supported in the latest dynamic linker. */
- .section .rodata
+#ifdef SHARED
+ .section .data.rel.ro,"aw",@progbits
+#else
+ .section .rodata,"a",@progbits
+#endif
.align 4
.Lpmain:
.word P%main
@@ -52,6 +56,10 @@
.word P%__libc_csu_fini
.Lp__libc_csu_init:
.word P%__libc_csu_init
+#ifdef SHARED
+.Lp__global:
+ .word $global$
+#endif
.text
.align 4
@@ -122,10 +130,14 @@ _start:
/* void *stack_end (7th argument) */
stw %sp, -60(%sp)
+#ifdef SHARED
+ addil LT'.Lp__global, %r19
+ ldw RT'.Lp__global(%r1), %dp
+#else
/* load global */
ldil L%$global$, %dp
ldo R%$global$(%dp), %dp
-
+#endif
bl __libc_start_main,%r2
nop
/* die horribly if it returned (it shouldn't) */
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=c6d1664014de6e9f36aba21e8c84419885b396d8
commit c6d1664014de6e9f36aba21e8c84419885b396d8
Author: John David Anglin <dave.anglin@bell.net>
Date: Fri Aug 7 11:54:19 2015 -0400
hppa: Fix miscompilation of sched_setaffinity() [BZ #18480]
The attached change fixes the miscompilation of sched_setaffinity() on
hppa. This is an old problem that was fixed on other architectures using
a similar approach to the attached change. See:
https://sourceware.org/ml/libc-hacker/2004-04/msg00016.html
Build tested on trunk. Patch has been applied to debian glibc for some time.
(cherry picked from commit 04ece7d2dec91fe870c5f1a38032875915f44633)
diff --git a/ChangeLog b/ChangeLog
index 3e1d770..4f30c7e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2015-08-09 John David Anglin <danglin@gcc.gnu.org>
+
+ [BZ #18480]
+ * sysdeps/unix/sysv/linux/hppa/sysdep.h (LOAD_ARGS_0, LOAD_ARGS_1,
+ LOAD_ARGS_2, LOAD_ARGS_3, LOAD_ARGS_4, LOAD_ARGS_5, LOAD_ARGS_6):
+ Define.
+ (LOAD_REGS_0, LOAD_REGS_1, LOAD_REGS_2, LOAD_REGS_3, LOAD_REGS_4,
+ LOAD_REGS_5, LOAD_REGS_6): Update.
+ (INTERNAL_SYSCALL): Update using new LOAD defines.
+ (INTERNAL_SYSCALL_NCS): Likewise.
+ * sysdeps/unix/sysv/linux/hppa/syscall.c (syscall): Likewise.
+
2015-09-26 Paul Pluzhnikov <ppluzhnikov@google.com>
[BZ #18985]
diff --git a/NEWS b/NEWS
index 5a1ebdc..bc2287d 100644
--- a/NEWS
+++ b/NEWS
@@ -9,8 +9,8 @@ Version 2.22.1
* The following bugs are resolved with this release:
- 17905, 18589, 18743, 18778, 18781, 18787, 18796, 18870, 18887, 18921,
- 18928, 18969, 18985, 19018, 19058, 19174, 19178.
+ 17905, 18480, 18589, 18743, 18778, 18781, 18787, 18796, 18870, 18887,
+ 18921, 18928, 18969, 18985, 19018, 19058, 19174, 19178.
* The LD_POINTER_GUARD environment variable can no longer be used to
disable the pointer guard feature. It is always enabled.
diff --git a/sysdeps/unix/sysv/linux/hppa/syscall.c b/sysdeps/unix/sysv/linux/hppa/syscall.c
index aff67a8..958fa47 100644
--- a/sysdeps/unix/sysv/linux/hppa/syscall.c
+++ b/sysdeps/unix/sysv/linux/hppa/syscall.c
@@ -43,9 +43,10 @@ syscall (long int __sysno, ...)
va_end (args);
{
+ LOAD_ARGS_6 (arg0, arg1, arg2, arg3, arg4, arg5)
register unsigned long int __res asm("r28");
PIC_REG_DEF
- LOAD_ARGS_6 (arg0, arg1, arg2, arg3, arg4, arg5)
+ LOAD_REGS_6
asm volatile (SAVE_ASM_PIC
" ble 0x100(%%sr2, %%r0) \n"
" copy %1, %%r20 \n"
diff --git a/sysdeps/unix/sysv/linux/hppa/sysdep.h b/sysdeps/unix/sysv/linux/hppa/sysdep.h
index d20a04b..cb1f163 100644
--- a/sysdeps/unix/sysv/linux/hppa/sysdep.h
+++ b/sysdeps/unix/sysv/linux/hppa/sysdep.h
@@ -400,9 +400,10 @@ L(pre_end): ASM_LINE_SEP \
({ \
long __sys_res; \
{ \
+ LOAD_ARGS_##nr(args) \
register unsigned long __res asm("r28"); \
PIC_REG_DEF \
- LOAD_ARGS_##nr(args) \
+ LOAD_REGS_##nr \
/* FIXME: HACK save/load r19 around syscall */ \
asm volatile( \
SAVE_ASM_PIC \
@@ -425,9 +426,10 @@ L(pre_end): ASM_LINE_SEP \
({ \
long __sys_res; \
{ \
+ LOAD_ARGS_##nr(args) \
register unsigned long __res asm("r28"); \
PIC_REG_DEF \
- LOAD_ARGS_##nr(args) \
+ LOAD_REGS_##nr \
/* FIXME: HACK save/load r19 around syscall */ \
asm volatile( \
SAVE_ASM_PIC \
@@ -443,27 +445,44 @@ L(pre_end): ASM_LINE_SEP \
__sys_res; \
})
-
-
#define LOAD_ARGS_0()
-#define LOAD_ARGS_1(r26) \
- register unsigned long __r26 __asm__("r26") = (unsigned long)(r26); \
+#define LOAD_REGS_0
+#define LOAD_ARGS_1(a1) \
+ register unsigned long __x26 = (unsigned long)(a1); \
LOAD_ARGS_0()
-#define LOAD_ARGS_2(r26,r25) \
- register unsigned long __r25 __asm__("r25") = (unsigned long)(r25); \
- LOAD_ARGS_1(r26)
-#define LOAD_ARGS_3(r26,r25,r24) \
- register unsigned long __r24 __asm__("r24") = (unsigned long)(r24); \
- LOAD_ARGS_2(r26,r25)
-#define LOAD_ARGS_4(r26,r25,r24,r23) \
- register unsigned long __r23 __asm__("r23") = (unsigned long)(r23); \
- LOAD_ARGS_3(r26,r25,r24)
-#define LOAD_ARGS_5(r26,r25,r24,r23,r22) \
- register unsigned long __r22 __asm__("r22") = (unsigned long)(r22); \
- LOAD_ARGS_4(r26,r25,r24,r23)
-#define LOAD_ARGS_6(r26,r25,r24,r23,r22,r21) \
- register unsigned long __r21 __asm__("r21") = (unsigned long)(r21); \
- LOAD_ARGS_5(r26,r25,r24,r23,r22)
+#define LOAD_REGS_1 \
+ register unsigned long __r26 __asm__("r26") = __x26; \
+ LOAD_REGS_0
+#define LOAD_ARGS_2(a1,a2) \
+ register unsigned long __x25 = (unsigned long)(a2); \
+ LOAD_ARGS_1(a1)
+#define LOAD_REGS_2 \
+ register unsigned long __r25 __asm__("r25") = __x25; \
+ LOAD_REGS_1
+#define LOAD_ARGS_3(a1,a2,a3) \
+ register unsigned long __x24 = (unsigned long)(a3); \
+ LOAD_ARGS_2(a1,a2)
+#define LOAD_REGS_3 \
+ register unsigned long __r24 __asm__("r24") = __x24; \
+ LOAD_REGS_2
+#define LOAD_ARGS_4(a1,a2,a3,a4) \
+ register unsigned long __x23 = (unsigned long)(a4); \
+ LOAD_ARGS_3(a1,a2,a3)
+#define LOAD_REGS_4 \
+ register unsigned long __r23 __asm__("r23") = __x23; \
+ LOAD_REGS_3
+#define LOAD_ARGS_5(a1,a2,a3,a4,a5) \
+ register unsigned long __x22 = (unsigned long)(a5); \
+ LOAD_ARGS_4(a1,a2,a3,a4)
+#define LOAD_REGS_5 \
+ register unsigned long __r22 __asm__("r22") = __x22; \
+ LOAD_REGS_4
+#define LOAD_ARGS_6(a1,a2,a3,a4,a5,a6) \
+ register unsigned long __x21 = (unsigned long)(a6); \
+ LOAD_ARGS_5(a1,a2,a3,a4,a5)
+#define LOAD_REGS_6 \
+ register unsigned long __r21 __asm__("r21") = __x21; \
+ LOAD_REGS_5
/* Even with zero args we use r20 for the syscall number */
#define ASM_ARGS_0
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 25 +++++++++++++
NEWS | 4 +-
locale/loadlocale.c | 7 ++--
sysdeps/hppa/start.S | 16 +++++++-
sysdeps/unix/sysv/linux/hppa/syscall.c | 3 +-
sysdeps/unix/sysv/linux/hppa/sysdep.h | 61 +++++++++++++++++++++-----------
6 files changed, 87 insertions(+), 29 deletions(-)
hooks/post-receive
--
GNU C Library master sources