diff options
author | Alexey Neyman <stilor@att.net> | 2018-01-30 15:08:18 -0800 |
---|---|---|
committer | Alexey Neyman <stilor@att.net> | 2018-01-30 15:08:18 -0800 |
commit | 36bb675a71cc66a2abd69bc82d613f2153d3791f (patch) | |
tree | 9851733e0973e1de900d7f932e5b88fe637441f3 /packages/gcc/7.3.0/0017-crystax.patch | |
parent | 1c329c33bf4e1c6767454f98285e91ee19f1f724 (diff) | |
download | crosstool-ng-36bb675a71cc66a2abd69bc82d613f2153d3791f.tar.gz crosstool-ng-36bb675a71cc66a2abd69bc82d613f2153d3791f.tar.bz2 crosstool-ng-36bb675a71cc66a2abd69bc82d613f2153d3791f.zip |
More fixes after the upgrades:
- GLIBC requires a fix to work with binutils 2.30 on aarch64. This fix
relies on binutils 2.24 or newer, which is okay for glibc 2.26 since
it needs 2.25 or newer anyway. But older glibc versions are now pinned
to binutils 2.29 or older on aarch64.
- xtensa needs patches in libgcc with gcc 7.3.
- comment in newlib's patch to indicate it is a reversal of a commit.
Signed-off-by: Alexey Neyman <stilor@att.net>
Diffstat (limited to 'packages/gcc/7.3.0/0017-crystax.patch')
-rw-r--r-- | packages/gcc/7.3.0/0017-crystax.patch | 45 |
1 files changed, 26 insertions, 19 deletions
diff --git a/packages/gcc/7.3.0/0017-crystax.patch b/packages/gcc/7.3.0/0017-crystax.patch index 8f2eb438..51fad853 100644 --- a/packages/gcc/7.3.0/0017-crystax.patch +++ b/packages/gcc/7.3.0/0017-crystax.patch @@ -1,26 +1,33 @@ -commit dbeae1190cabad83999f2540523f045acc1bb4ec -Author: Dmitry Moskalchuk <dm@crystax.net> -Date: Fri Aug 21 17:41:59 2015 +0300 +commit 8a66d422721ae5999737d7825701ff22097d287b +Author: Andrew Hsieh <andrewhsieh@google.com> +Date: Mon Apr 14 21:05:51 2014 -0700 - [android] Always use gthr-posix.h instead of gthr-default.h + [android] Fix ARM generates insufficient alignment for NEON vst/vld + See d909af3e2469aad87d5c3e79b93c778fd26c03a9 + + Change-Id: Ie1de9f946f397196bb6f1623f5add86933739484 Signed-off-by: Dmitry Moskalchuk <dm@crystax.net> --- - libgcc/gthr.h | 4 ++++ - 1 file changed, 4 insertions(+) + gcc/config/arm/arm.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) ---- a/libgcc/gthr.h -+++ b/libgcc/gthr.h -@@ -145,7 +145,11 @@ - #define GTHREAD_USE_WEAK 1 - #endif - #endif -+#if __ANDROID__ -+#include "gthr-posix.h" -+#else - #include "gthr-default.h" -+#endif +--- a/gcc/config/arm/arm.c ++++ b/gcc/config/arm/arm.c +@@ -22292,9 +22292,13 @@ + memsize = MEM_SIZE (x); - #ifndef HIDE_EXPORTS - #pragma GCC visibility pop + /* Only certain alignment specifiers are supported by the hardware. */ +- if (memsize == 32 && (align % 32) == 0) ++ /* Note that ARM EABI only guarentees 8-byte stack alignment. While GCC ++ honors stricter alignment of composite type in user code, it doesn't ++ observe the alignment of memory passed as an extra argument for function ++ returning large composite type. See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57271 */ ++ if (memsize == 32 && (align % 32) == 0 && !TARGET_AAPCS_BASED) + align_bits = 256; +- else if ((memsize == 16 || memsize == 32) && (align % 16) == 0) ++ else if ((memsize == 16 || memsize == 32) && (align % 16) == 0 && !TARGET_AAPCS_BASED) + align_bits = 128; + else if (memsize >= 8 && (align % 8) == 0) + align_bits = 64; |