Sync with upstream master

This commit is contained in:
Siddhesh Poyarekar 2014-05-26 13:25:00 +05:30
parent b39b864460
commit 8710f4aaa6
5 changed files with 7 additions and 59 deletions

View File

@ -1,30 +0,0 @@
commit a60339aaff82beadea6f580e587d64052cb5e3b8
Author: Will Newton <will.newton@linaro.org>
Date: Mon May 19 14:38:30 2014 +0100
AArch64: Fix handling of nocancel syscall failures
The current code for nocancel syscalls does not do a comparison of
the system call return value. This leads to code being generated
where the b.cs follows the svc instruction directly without setting
the flags on which the branch depends.
ChangeLog:
2014-05-20 Will Newton <will.newton@linaro.org>
* sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h (PSEUDO):
Test the return value of the system call in the nocancel case.
diff --git a/sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h b/sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h
index f6903b5..0e9bef3 100644
--- a/sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h
+++ b/sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h
@@ -32,6 +32,7 @@
__##syscall_name##_nocancel: \
cfi_startproc; \
DO_CALL (syscall_name, args); \
+ cmn x0, 4095; \
PSEUDO_RET; \
cfi_endproc; \
.size __##syscall_name##_nocancel,.-__##syscall_name##_nocancel; \

View File

@ -11,25 +11,3 @@ index 997c860..50b37b0 100644
{
td->arg = _dl_make_tlsdesc_dynamic
(sym_map, sym->st_value + reloc->r_addend);
diff --git a/sysdeps/aarch64/nptl/tls.h b/sysdeps/aarch64/nptl/tls.h
index ae2e6c4..8b260a1 100644
--- a/sysdeps/aarch64/nptl/tls.h
+++ b/sysdeps/aarch64/nptl/tls.h
@@ -63,7 +63,7 @@ typedef struct
# define TLS_INIT_TCB_SIZE sizeof (tcbhead_t)
/* Alignment requirements for the initial TCB. */
-# define TLS_INIT_TCB_ALIGN __alignof__ (tcbhead_t)
+# define TLS_INIT_TCB_ALIGN __alignof__ (struct pthread)
/* This is the size of the TCB. */
# define TLS_TCB_SIZE sizeof (tcbhead_t)
@@ -72,7 +72,7 @@ typedef struct
# define TLS_PRE_TCB_SIZE sizeof (struct pthread)
/* Alignment requirements for the TCB. */
-# define TLS_TCB_ALIGN __alignof__ (tcbhead_t)
+# define TLS_TCB_ALIGN __alignof__ (struct pthread)
/* Install the dtv pointer. The pointer passed is to the element with
index -1 which contain the length. */

View File

@ -4,7 +4,7 @@ diff -Nrup a/nptl/Makefile b/nptl/Makefile
@@ -529,15 +529,19 @@ $(addprefix $(objpfx), \
$(tests) $(xtests) $(test-srcs))): $(objpfx)libpthread.so \
$(objpfx)libpthread_nonshared.a
$(objpfx)tst-unload: $(common-objpfx)dlfcn/libdl.so
$(objpfx)tst-unload: $(libdl)
-# $(objpfx)../libc.so is used instead of $(common-objpfx)libc.so,
+# $(objpfx)linklibc.so is used instead of $(common-objpfx)libc.so,
# since otherwise libpthread.so comes before libc.so when linking.

View File

@ -1,6 +1,6 @@
%define glibcsrcdir glibc-2.19-418-ga5d87b3
%define glibcsrcdir glibc-2.19-476-g15eaf6f
%define glibcversion 2.19.90
%define glibcrelease 17%{?dist}
%define glibcrelease 18%{?dist}
# Pre-release tarballs are pulled in from git using a command that is
# effectively:
#
@ -191,8 +191,6 @@ Patch0047: %{name}-nscd-sysconfig.patch
#
##############################################################################
Patch1000: %{name}-aarch64-fix-handling-of-nocancel-syscall-failures.patch
##############################################################################
#
# Patches submitted, but not yet approved upstream.
@ -555,7 +553,6 @@ package or when debugging this package.
%patch2031 -p1
%patch0047 -p1
%patch2032 -p1
%patch1000 -p1
%patch2033 -p1
##############################################################################
@ -1646,6 +1643,9 @@ rm -f *.filelist*
%endif
%changelog
* Mon May 26 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-18
- Sync with upstream master.
* Wed May 21 2014 Kyle McMartin <kyle@fedoraproject.org> - 2.19.90-17
- Backport some upstream-wards patches to fix TLS issues on AArch64.

View File

@ -1 +1 @@
597f972539723b3d709781c408400558 glibc-2.19-418-ga5d87b3.tar.gz
372885b6ee4148937663e03141318a56 glibc-2.19-476-g15eaf6f.tar.gz