Backport some upstream-wards patches to fix TLS issues on AArch64.
This commit is contained in:
parent
abfaca544c
commit
b39b864460
35
glibc-aarch64-tls-fixes.patch
Normal file
35
glibc-aarch64-tls-fixes.patch
Normal file
@ -0,0 +1,35 @@
|
||||
diff --git a/sysdeps/aarch64/dl-machine.h b/sysdeps/aarch64/dl-machine.h
|
||||
index 997c860..50b37b0 100644
|
||||
--- a/sysdeps/aarch64/dl-machine.h
|
||||
+++ b/sysdeps/aarch64/dl-machine.h
|
||||
@@ -295,7 +295,7 @@ elf_machine_rela (struct link_map *map, const ElfW(Rela) *reloc,
|
||||
# ifndef SHARED
|
||||
CHECK_STATIC_TLS (map, sym_map);
|
||||
# else
|
||||
- if (!TRY_STATIC_TLS (map, sym_map))
|
||||
+ if (1)
|
||||
{
|
||||
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. */
|
@ -1,6 +1,6 @@
|
||||
%define glibcsrcdir glibc-2.19-418-ga5d87b3
|
||||
%define glibcversion 2.19.90
|
||||
%define glibcrelease 16%{?dist}
|
||||
%define glibcrelease 17%{?dist}
|
||||
# Pre-release tarballs are pulled in from git using a command that is
|
||||
# effectively:
|
||||
#
|
||||
@ -224,6 +224,8 @@ Patch2031: %{name}-rh1070416.patch
|
||||
# Upstream 16724
|
||||
Patch2032: %{name}-rh1078355.patch
|
||||
|
||||
Patch2033: glibc-aarch64-tls-fixes.patch
|
||||
|
||||
##############################################################################
|
||||
# End of glibc patches.
|
||||
##############################################################################
|
||||
@ -554,6 +556,7 @@ package or when debugging this package.
|
||||
%patch0047 -p1
|
||||
%patch2032 -p1
|
||||
%patch1000 -p1
|
||||
%patch2033 -p1
|
||||
|
||||
##############################################################################
|
||||
# %%prep - Additional prep required...
|
||||
@ -1643,6 +1646,9 @@ rm -f *.filelist*
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Wed May 21 2014 Kyle McMartin <kyle@fedoraproject.org> - 2.19.90-17
|
||||
- Backport some upstream-wards patches to fix TLS issues on AArch64.
|
||||
|
||||
* Wed May 21 2014 Kyle McMartin <kyle@fedoraproject.org> - 2.19.90-16
|
||||
- AArch64: Fix handling of nocancel syscall failures (#1098327)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user