From 9d5da1886aa9c7288ceec38206f63d7ee3cf6805 Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Sun, 3 Dec 2017 09:20:23 -0800 Subject: Bunch of upgrades: android-ndk, expat, gcc-linaro, ... ... mingw-w64, musl, strace, uClibc-ng, linux. Also, regenerate chksum's after @bhundven's upgrade of binutils. Signed-off-by: Alexey Neyman diff --git a/packages/android-ndk/r16/chksum b/packages/android-ndk/r16/chksum new file mode 100644 index 0000000..aefd8ec --- /dev/null +++ b/packages/android-ndk/r16/chksum @@ -0,0 +1,4 @@ +md5 android-ndk-r16-linux-x86_64.zip 0088a21980751b99036834a4f44cf21c +sha1 android-ndk-r16-linux-x86_64.zip b7dcb08fa9fa403e3c0bc3f741a445d7f0399e93 +sha256 android-ndk-r16-linux-x86_64.zip a8550b81771c67cc6ab7b479a6918d29aa78de3482901762b4f9e0132cd9672e +sha512 android-ndk-r16-linux-x86_64.zip 5b9ec70eac78f6cef8572dff9a133c9b18c83155dc6d980237a6925df4ae65b7b2adb3d8ea55b3ce9f3f75868f20eefdb8c87da110683c2dd1a1a27c44dc5b91 diff --git a/packages/android-ndk/r16/version.desc b/packages/android-ndk/r16/version.desc new file mode 100644 index 0000000..e69de29 diff --git a/packages/binutils/2.29.1/chksum b/packages/binutils/2.29.1/chksum index 3f41916..cd04141 100644 --- a/packages/binutils/2.29.1/chksum +++ b/packages/binutils/2.29.1/chksum @@ -1,3 +1,7 @@ +md5 binutils-2.29.1.tar.xz acc9cd826edb9954ac7cecb81c727793 +sha1 binutils-2.29.1.tar.xz 172244a349d07ec205c39c0321cbc354c125e78e +sha256 binutils-2.29.1.tar.xz e7010a46969f9d3e53b650a518663f98a5dde3c3ae21b7d71e5e6803bc36b577 +sha512 binutils-2.29.1.tar.xz d748d22306477d60d921078804d21943248c23fca0707aac9b016a352c01c75ca69e82624ae37fb0bbd03af3b17088a94f60dfe1a86a7ff82e18ece3c24f0fd0 md5 binutils-2.29.1.tar.bz2 9af59a2ca3488823e453bb356fe0f113 sha1 binutils-2.29.1.tar.bz2 5156099a6c50bd330c3d4c8fc56a9bf725ccaf08 sha256 binutils-2.29.1.tar.bz2 1509dff41369fb70aed23682351b663b56db894034773e6dbf7d5d6071fc55cc @@ -6,11 +10,3 @@ md5 binutils-2.29.1.tar.gz 522b762fd362532d14726bf476f55366 sha1 binutils-2.29.1.tar.gz a90324faf296c5119ddb8de787faee8d1a586271 sha256 binutils-2.29.1.tar.gz 0d9d2bbf71e17903f26a676e7fba7c200e581c84b8f2f43e72d875d0e638771c sha512 binutils-2.29.1.tar.gz 2628738be2e15e2243d8bc9e7be17b1ecf7f949dd936aae1c21a654e8b7707580eb77020270da764f70c608695fef9aebd3d27f6cdadbd07829c3e63c3402681 -md5 binutils-2.29.1.tar.lz cfc0ca69b9883fecfd65cdc5c4b85fb2 -sha1 binutils-2.29.1.tar.lz a89ca310462f0620f0de52846c454ca0325e49dc -sha256 binutils-2.29.1.tar.lz de971471ccb18aadeb41bceb977975531084a271d616364b17053a2350f90ea1 -sha512 binutils-2.29.1.tar.lz a0e15298e94c09708d0479208f79bda94db572ebff51267d735bdaa46c38dd248a8903446a08940fb655d6d56b2c5a7cfbe8c2b1cba76d8f822db8de431f09c3 -md5 binutils-2.29.1.tar.xz acc9cd826edb9954ac7cecb81c727793 -sha1 binutils-2.29.1.tar.xz 172244a349d07ec205c39c0321cbc354c125e78e -sha256 binutils-2.29.1.tar.xz e7010a46969f9d3e53b650a518663f98a5dde3c3ae21b7d71e5e6803bc36b577 -sha512 binutils-2.29.1.tar.xz d748d22306477d60d921078804d21943248c23fca0707aac9b016a352c01c75ca69e82624ae37fb0bbd03af3b17088a94f60dfe1a86a7ff82e18ece3c24f0fd0 diff --git a/packages/expat/2.2.4/chksum b/packages/expat/2.2.4/chksum deleted file mode 100644 index 43a4f59..0000000 --- a/packages/expat/2.2.4/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 expat-2.2.4.tar.bz2 6e3980aba29a224a9f478d88ac7ec207 -sha1 expat-2.2.4.tar.bz2 3394d6390c041a8f5dec1d5fe7c4af0a23ae4504 -sha256 expat-2.2.4.tar.bz2 03ad85db965f8ab2d27328abcf0bc5571af6ec0a414874b2066ee3fdd372019e -sha512 expat-2.2.4.tar.bz2 788249e2c6edf8521c4a99830fd5e51a55c062b834516f6775759cd71accf6375f12d3bd38f8b069777d081a4380b9549049921386ca0cb4b9b9daa4861d6592 diff --git a/packages/expat/2.2.4/version.desc b/packages/expat/2.2.4/version.desc deleted file mode 100644 index e69de29..0000000 diff --git a/packages/expat/2.2.5/chksum b/packages/expat/2.2.5/chksum new file mode 100644 index 0000000..aefa26a --- /dev/null +++ b/packages/expat/2.2.5/chksum @@ -0,0 +1,4 @@ +md5 expat-2.2.5.tar.bz2 789e297f547980fc9ecc036f9a070d49 +sha1 expat-2.2.5.tar.bz2 490659abd7d6c6d4cb4e60c945a15fbf081564f6 +sha256 expat-2.2.5.tar.bz2 d9dc32efba7e74f788fcc4f212a43216fc37cf5f23f4c2339664d473353aedf6 +sha512 expat-2.2.5.tar.bz2 8226970a7e5d2b8d7818081758ca59bb6ce2d655feaa9d3a92481629000b73fde4782f50343d58ec4e1cebe75649e1980f636775a731d8aa4b55ceb843d9f637 diff --git a/packages/expat/2.2.5/version.desc b/packages/expat/2.2.5/version.desc new file mode 100644 index 0000000..e69de29 diff --git a/packages/gcc-linaro/5.4-2017.05/0000-Use-ucontext_t-not-struct-ucontext-in-linux-unwind.h.patch b/packages/gcc-linaro/5.4-2017.05/0000-Use-ucontext_t-not-struct-ucontext-in-linux-unwind.h.patch deleted file mode 100644 index 7162534..0000000 --- a/packages/gcc-linaro/5.4-2017.05/0000-Use-ucontext_t-not-struct-ucontext-in-linux-unwind.h.patch +++ /dev/null @@ -1,165 +0,0 @@ -From 3c784ee4ffc784037d6d0f022326b95b848fbfc3 Mon Sep 17 00:00:00 2001 -From: jsm28 -Date: Tue, 4 Jul 2017 10:25:10 +0000 -Subject: [PATCH] Use ucontext_t not struct ucontext in linux-unwind.h files. - -Current glibc no longer gives the ucontext_t type the tag struct -ucontext, to conform with POSIX namespace rules. This requires -various linux-unwind.h files in libgcc, that were previously using -struct ucontext, to be fixed to use ucontext_t instead. This is -similar to the removal of the struct siginfo tag from siginfo_t some -years ago. - -This patch changes those files to use ucontext_t instead. As the -standard name that should be unconditionally safe, so this is not -restricted to architectures supported by glibc, or conditioned on the -glibc version. - -Tested compilation together with current glibc with glibc's -build-many-glibcs.py. - - * config/aarch64/linux-unwind.h (aarch64_fallback_frame_state), - config/alpha/linux-unwind.h (alpha_fallback_frame_state), - config/bfin/linux-unwind.h (bfin_fallback_frame_state), - config/i386/linux-unwind.h (x86_64_fallback_frame_state, - x86_fallback_frame_state), config/m68k/linux-unwind.h (struct - uw_ucontext), config/nios2/linux-unwind.h (struct nios2_ucontext), - config/pa/linux-unwind.h (pa32_fallback_frame_state), - config/sh/linux-unwind.h (sh_fallback_frame_state), - config/tilepro/linux-unwind.h (tile_fallback_frame_state), - config/xtensa/linux-unwind.h (xtensa_fallback_frame_state): Use - ucontext_t instead of struct ucontext. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-5-branch@249958 138bc75d-0d04-0410-961f-82ee72b054a4 ---- - libgcc/config/aarch64/linux-unwind.h | 2 +- - libgcc/config/alpha/linux-unwind.h | 2 +- - libgcc/config/bfin/linux-unwind.h | 2 +- - libgcc/config/i386/linux-unwind.h | 4 ++-- - libgcc/config/m68k/linux-unwind.h | 2 +- - libgcc/config/nios2/linux-unwind.h | 2 +- - libgcc/config/pa/linux-unwind.h | 2 +- - libgcc/config/sh/linux-unwind.h | 2 +- - libgcc/config/tilepro/linux-unwind.h | 2 +- - libgcc/config/xtensa/linux-unwind.h | 2 +- - 10 files changed, 11 insertions(+), 11 deletions(-) - ---- a/libgcc/config/aarch64/linux-unwind.h -+++ b/libgcc/config/aarch64/linux-unwind.h -@@ -52,7 +52,7 @@ - struct rt_sigframe - { - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - }; - - struct rt_sigframe *rt_; ---- a/libgcc/config/alpha/linux-unwind.h -+++ b/libgcc/config/alpha/linux-unwind.h -@@ -51,7 +51,7 @@ - { - struct rt_sigframe { - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - } *rt_ = context->cfa; - sc = &rt_->uc.uc_mcontext; - } ---- a/libgcc/config/bfin/linux-unwind.h -+++ b/libgcc/config/bfin/linux-unwind.h -@@ -52,7 +52,7 @@ - void *puc; - char retcode[8]; - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - } *rt_ = context->cfa; - - /* The void * cast is necessary to avoid an aliasing warning. ---- a/libgcc/config/i386/linux-unwind.h -+++ b/libgcc/config/i386/linux-unwind.h -@@ -58,7 +58,7 @@ - if (*(unsigned char *)(pc+0) == 0x48 - && *(unsigned long long *)(pc+1) == RT_SIGRETURN_SYSCALL) - { -- struct ucontext *uc_ = context->cfa; -+ ucontext_t *uc_ = context->cfa; - /* The void * cast is necessary to avoid an aliasing warning. - The aliasing warning is correct, but should not be a problem - because it does not alias anything. */ -@@ -138,7 +138,7 @@ - siginfo_t *pinfo; - void *puc; - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - } *rt_ = context->cfa; - /* The void * cast is necessary to avoid an aliasing warning. - The aliasing warning is correct, but should not be a problem ---- a/libgcc/config/m68k/linux-unwind.h -+++ b/libgcc/config/m68k/linux-unwind.h -@@ -33,7 +33,7 @@ - /* is unfortunately broken right now. */ - struct uw_ucontext { - unsigned long uc_flags; -- struct ucontext *uc_link; -+ ucontext_t *uc_link; - stack_t uc_stack; - mcontext_t uc_mcontext; - unsigned long uc_filler[80]; ---- a/libgcc/config/nios2/linux-unwind.h -+++ b/libgcc/config/nios2/linux-unwind.h -@@ -38,7 +38,7 @@ - - struct nios2_ucontext { - unsigned long uc_flags; -- struct ucontext *uc_link; -+ ucontext_t *uc_link; - stack_t uc_stack; - struct nios2_mcontext uc_mcontext; - sigset_t uc_sigmask; /* mask last for extensibility */ ---- a/libgcc/config/pa/linux-unwind.h -+++ b/libgcc/config/pa/linux-unwind.h -@@ -80,7 +80,7 @@ - struct sigcontext *sc; - struct rt_sigframe { - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - } *frame; - - /* rt_sigreturn trampoline: ---- a/libgcc/config/sh/linux-unwind.h -+++ b/libgcc/config/sh/linux-unwind.h -@@ -180,7 +180,7 @@ - { - struct rt_sigframe { - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - } *rt_ = context->cfa; - /* The void * cast is necessary to avoid an aliasing warning. - The aliasing warning is correct, but should not be a problem ---- a/libgcc/config/tilepro/linux-unwind.h -+++ b/libgcc/config/tilepro/linux-unwind.h -@@ -61,7 +61,7 @@ - struct rt_sigframe { - unsigned char save_area[C_ABI_SAVE_AREA_SIZE]; - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - } *rt_; - - /* Return if this is not a signal handler. */ ---- a/libgcc/config/xtensa/linux-unwind.h -+++ b/libgcc/config/xtensa/linux-unwind.h -@@ -64,7 +64,7 @@ - - struct rt_sigframe { - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - } *rt_; - - /* movi a2, __NR_rt_sigreturn; syscall */ diff --git a/packages/gcc-linaro/5.4-2017.05/0001-libtool-leave-framework-alone.patch b/packages/gcc-linaro/5.4-2017.05/0001-libtool-leave-framework-alone.patch deleted file mode 100644 index 1a86e41..0000000 --- a/packages/gcc-linaro/5.4-2017.05/0001-libtool-leave-framework-alone.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- - libtool-ldflags | 5 +++++ - 1 file changed, 5 insertions(+) - ---- a/libtool-ldflags -+++ b/libtool-ldflags -@@ -36,6 +36,11 @@ - for arg - do - case $arg in -+ -framework) -+ # libtool handles this option. It should not be prefixed with -+ # -Xcompiler, as that would split it from the argument that -+ # follows. -+ ;; - -f*|--*|-static-lib*|-shared-lib*|-B*) - # Libtool does not ascribe any special meaning options - # that begin with -f or with a double-dash. So, it will diff --git a/packages/gcc-linaro/5.4-2017.05/0002-uclibc-conf.patch b/packages/gcc-linaro/5.4-2017.05/0002-uclibc-conf.patch deleted file mode 100644 index aef750a..0000000 --- a/packages/gcc-linaro/5.4-2017.05/0002-uclibc-conf.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- - contrib/regression/objs-gcc.sh | 4 ++++ - 1 file changed, 4 insertions(+) - ---- a/contrib/regression/objs-gcc.sh -+++ b/contrib/regression/objs-gcc.sh -@@ -106,6 +106,10 @@ - then - make all-gdb all-dejagnu all-ld || exit 1 - make install-gdb install-dejagnu install-ld || exit 1 -+elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ] -+ then -+ make all-gdb all-dejagnu all-ld || exit 1 -+ make install-gdb install-dejagnu install-ld || exit 1 - elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then - make bootstrap || exit 1 - make install || exit 1 diff --git a/packages/gcc-linaro/5.4-2017.05/0003-msp430-string-literals.patch b/packages/gcc-linaro/5.4-2017.05/0003-msp430-string-literals.patch deleted file mode 100644 index 24f421f..0000000 --- a/packages/gcc-linaro/5.4-2017.05/0003-msp430-string-literals.patch +++ /dev/null @@ -1,81 +0,0 @@ -commit 9d247a3d78b97c004e7ca5e7d6cc9964dba870c7 -Author: jason -Date: Wed May 13 01:11:13 2015 +0000 - - gcc/ - * config/mmix/mmix.c, config/msp430/msp430.c: Add space between - string literal and macro name. - gcc/ada/ - * sigtramp-vxworks.c: Add space between string literal and macro - name. - - git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223106 138bc75d-0d04-0410-961f-82ee72b054a4 - ---- - gcc/ada/sigtramp-vxworks.c | 6 +++--- - gcc/config/mmix/mmix.c | 6 +++--- - gcc/config/msp430/msp430.c | 2 +- - 3 files changed, 7 insertions(+), 7 deletions(-) - ---- a/gcc/ada/sigtramp-vxworks.c -+++ b/gcc/ada/sigtramp-vxworks.c -@@ -342,16 +342,16 @@ - TCR("# Allocate frame and save the non-volatile") \ - TCR("# registers we're going to modify") \ - TCR("mov ip, sp") \ --TCR("stmfd sp!, {r"S(CFA_REG)", fp, ip, lr, pc}") \ -+TCR("stmfd sp!, {r" S(CFA_REG)", fp, ip, lr, pc}") \ - TCR("# Setup CFA_REG = context, which we'll retrieve as our CFA value") \ --TCR("ldr r"S(CFA_REG)", [ip]") \ -+TCR("ldr r" S(CFA_REG)", [ip]") \ - TCR("") \ - TCR("# Call the real handler. The signo, siginfo and sigcontext") \ - TCR("# arguments are the same as those we received in r0, r1 and r2") \ - TCR("sub fp, ip, #4") \ - TCR("blx r3") \ - TCR("# Restore our callee-saved items, release our frame and return") \ --TCR("ldmfd sp, {r"S(CFA_REG)", fp, sp, pc}") -+TCR("ldmfd sp, {r" S(CFA_REG)", fp, sp, pc}") - - #else - Not_implemented; ---- a/gcc/config/mmix/mmix.c -+++ b/gcc/config/mmix/mmix.c -@@ -2521,7 +2521,7 @@ - if (! mmix_shiftable_wyde_value (value)) - { - char s[sizeof ("0xffffffffffffffff")]; -- sprintf (s, "%#"PRIx64, value); -+ sprintf (s, "%#" PRIx64, value); - internal_error ("MMIX Internal: %s is not a shiftable int", s); - } - -@@ -2563,7 +2563,7 @@ - fprintf (stream, "#" HOST_WIDE_INT_PRINT_HEX_PURE, - (HOST_WIDE_INT) value); - else /* Need to avoid the hex output; there's no ...WIDEST...HEX_PURE. */ -- fprintf (stream, "%"PRIu64, value); -+ fprintf (stream, "%" PRIu64, value); - - if (do_begin_end) - fprintf (stream, "\n"); -@@ -2580,7 +2580,7 @@ - if (! mmix_shiftable_wyde_value (value)) - { - char s[16+2+1]; -- sprintf (s, "%#"PRIx64, value); -+ sprintf (s, "%#" PRIx64, value); - internal_error ("MMIX Internal: %s is not a shiftable int", s); - } - ---- a/gcc/config/msp430/msp430.c -+++ b/gcc/config/msp430/msp430.c -@@ -1902,7 +1902,7 @@ - } - const_shift_helpers[] = - { --#define CSH(N,C,X,G) { "__mspabi_"N, C, X, gen_##G } -+#define CSH(N,C,X,G) { "__mspabi_" N, C, X, gen_##G } - - CSH ("slli", 1, 1, slli_1), - CSH ("slll", 1, 1, slll_1), diff --git a/packages/gcc-linaro/5.4-2017.05/0004-xtensa-implement-trap-pattern.patch b/packages/gcc-linaro/5.4-2017.05/0004-xtensa-implement-trap-pattern.patch deleted file mode 100644 index b25bbda..0000000 --- a/packages/gcc-linaro/5.4-2017.05/0004-xtensa-implement-trap-pattern.patch +++ /dev/null @@ -1,57 +0,0 @@ -From d462e776df56a72f68545054f6d722bf447f0519 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Mon, 8 Jun 2015 22:29:11 +0300 -Subject: [PATCH] xtensa: implement trap pattern - -gcc/ - * config/xtensa/xtensa.h (TARGET_DEBUG): New definition. - * config/xtensa/xtensa.md (define_attr "type"): New type "trap". - (define_insn "trap"): New definition. - -Signed-off-by: Max Filippov ---- - gcc/config/xtensa/xtensa.h | 1 + - gcc/config/xtensa/xtensa.md | 15 ++++++++++++++- - 2 files changed, 15 insertions(+), 1 deletion(-) - ---- a/gcc/config/xtensa/xtensa.h -+++ b/gcc/config/xtensa/xtensa.h -@@ -67,6 +67,7 @@ - #define TARGET_THREADPTR XCHAL_HAVE_THREADPTR - #define TARGET_LOOPS XCHAL_HAVE_LOOPS - #define TARGET_WINDOWED_ABI (XSHAL_ABI == XTHAL_ABI_WINDOWED) -+#define TARGET_DEBUG XCHAL_HAVE_DEBUG - - #define TARGET_DEFAULT \ - ((XCHAL_HAVE_L32R ? 0 : MASK_CONST16) | \ ---- a/gcc/config/xtensa/xtensa.md -+++ b/gcc/config/xtensa/xtensa.md -@@ -86,7 +86,7 @@ - ;; Attributes. - - (define_attr "type" -- "unknown,jump,call,load,store,move,arith,multi,nop,farith,fmadd,fconv,fload,fstore,mul16,mul32,div32,mac16,rsr,wsr,entry" -+ "unknown,jump,call,load,store,move,arith,multi,nop,farith,fmadd,fconv,fload,fstore,mul16,mul32,div32,mac16,rsr,wsr,entry,trap" - (const_string "unknown")) - - (define_attr "mode" -@@ -1764,6 +1764,19 @@ - [(set_attr "length" "0") - (set_attr "type" "nop")]) - -+(define_insn "trap" -+ [(trap_if (const_int 1) (const_int 0))] -+ "" -+{ -+ if (TARGET_DEBUG) -+ return "break\t1, 15"; -+ else -+ return (TARGET_DENSITY ? "ill.n" : "ill"); -+} -+ [(set_attr "type" "trap") -+ (set_attr "mode" "none") -+ (set_attr "length" "3")]) -+ - ;; Setting up a frame pointer is tricky for Xtensa because GCC doesn't - ;; know if a frame pointer is required until the reload pass, and - ;; because there may be an incoming argument value in the hard frame diff --git a/packages/gcc-linaro/5.4-2017.05/0005-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch b/packages/gcc-linaro/5.4-2017.05/0005-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch deleted file mode 100644 index cf52950..0000000 --- a/packages/gcc-linaro/5.4-2017.05/0005-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 9bf6066d588632dab9f78932df15b5b4140f31f3 Mon Sep 17 00:00:00 2001 -From: "Arnout Vandecappelle (Essensium/Mind)" -Date: Fri, 6 Nov 2015 14:27:23 +0100 -Subject: [PATCH] gcc/config.gcc: fix typo for powerpc e6500 cpu_is_64bit - -Otherwise it is not recognized as a 64-bit powerpc and gcc will not generate -64-bit binaries by default. - -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) ---- - gcc/config.gcc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/gcc/config.gcc -+++ b/gcc/config.gcc -@@ -435,7 +435,7 @@ - cpu_type=rs6000 - extra_headers="ppc-asm.h altivec.h spe.h ppu_intrinsics.h paired.h spu2vmx.h vec_types.h si2vmx.h htmintrin.h htmxlintrin.h" - case x$with_cpu in -- xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[345678]|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500|Xe6500) -+ xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[345678]|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500|xe6500) - cpu_is_64bit=yes - ;; - esac diff --git a/packages/gcc-linaro/5.4-2017.05/0006-missing-execinfo_h.patch b/packages/gcc-linaro/5.4-2017.05/0006-missing-execinfo_h.patch deleted file mode 100644 index c90222a..0000000 --- a/packages/gcc-linaro/5.4-2017.05/0006-missing-execinfo_h.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- - boehm-gc/include/gc.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/boehm-gc/include/gc.h -+++ b/boehm-gc/include/gc.h -@@ -503,7 +503,7 @@ - #if defined(__linux__) || defined(__GLIBC__) - # include - # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \ -- && !defined(__ia64__) -+ && !defined(__ia64__) && !defined(__UCLIBC__) - # ifndef GC_HAVE_BUILTIN_BACKTRACE - # define GC_HAVE_BUILTIN_BACKTRACE - # endif diff --git a/packages/gcc-linaro/5.4-2017.05/0007-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch b/packages/gcc-linaro/5.4-2017.05/0007-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch deleted file mode 100644 index 74f6f3f..0000000 --- a/packages/gcc-linaro/5.4-2017.05/0007-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch +++ /dev/null @@ -1,163 +0,0 @@ ---- - config/gcc-plugin.m4 | 18 +++++++++++++----- - gcc/configure | 22 +++++++++++++++------- - libcc1/configure | 22 +++++++++++++++------- - 3 files changed, 43 insertions(+), 19 deletions(-) - ---- a/config/gcc-plugin.m4 -+++ b/config/gcc-plugin.m4 -@@ -20,6 +20,9 @@ - - pluginlibs= - -+ PICFLAG="-fPIC" -+ UNDEFINEDPREAMBLE="extern int X;" -+ UNDEFINEDCODE="return X == 0;" - case "${host}" in - *-*-darwin*) - if test x$build = x$host; then -@@ -30,6 +33,11 @@ - export_sym_check= - fi - ;; -+ *-*-mingw*|*-*-cygwin*|*-*-msys*) -+ PICFLAG="" -+ UNDEFINEDPREAMBLE="" -+ UNDEFINEDCODE="" -+ ;; - *) - if test x$build = x$host; then - export_sym_check="objdump${exeext} -T" -@@ -81,17 +89,17 @@ - case "${host}" in - *-*-darwin*) - CFLAGS=`echo $CFLAGS | sed s/-mdynamic-no-pic//g` -- CFLAGS="$CFLAGS -fPIC" -+ CFLAGS="$CFLAGS ${PICFLAG}" - LDFLAGS="$LDFLAGS -shared -undefined dynamic_lookup" - ;; - *) -- CFLAGS="$CFLAGS -fPIC" -- LDFLAGS="$LDFLAGS -fPIC -shared" -+ CFLAGS="$CFLAGS ${PICFLAG}" -+ LDFLAGS="$LDFLAGS ${PICFLAG} -shared" - ;; - esac -- AC_MSG_CHECKING([for -fPIC -shared]) -+ AC_MSG_CHECKING([for ${PICFLAG} -shared]) - AC_TRY_LINK( -- [extern int X;],[return X == 0;], -+ [${UNDEFINEDPREAMBLE}],[${UNDEFINEDCODE}], - [AC_MSG_RESULT([yes]); have_pic_shared=yes], - [AC_MSG_RESULT([no]); have_pic_shared=no]) - if test x"$have_pic_shared" != x"yes" -o x"$ac_cv_search_dlopen" = x"no"; then ---- a/gcc/configure -+++ b/gcc/configure -@@ -28465,6 +28465,9 @@ - - pluginlibs= - -+ PICFLAG="-fPIC" -+ UNDEFINEDPREAMBLE="extern int X;" -+ UNDEFINEDCODE="return X == 0;" - case "${host}" in - *-*-darwin*) - if test x$build = x$host; then -@@ -28475,6 +28478,11 @@ - export_sym_check= - fi - ;; -+ *-*-mingw*|*-*-cygwin*|*-*-msys*) -+ PICFLAG="" -+ UNDEFINEDPREAMBLE="" -+ UNDEFINEDCODE="" -+ ;; - *) - if test x$build = x$host; then - export_sym_check="objdump${exeext} -T" -@@ -28587,23 +28595,23 @@ - case "${host}" in - *-*-darwin*) - CFLAGS=`echo $CFLAGS | sed s/-mdynamic-no-pic//g` -- CFLAGS="$CFLAGS -fPIC" -+ CFLAGS="$CFLAGS ${PICFLAG}" - LDFLAGS="$LDFLAGS -shared -undefined dynamic_lookup" - ;; - *) -- CFLAGS="$CFLAGS -fPIC" -- LDFLAGS="$LDFLAGS -fPIC -shared" -+ CFLAGS="$CFLAGS ${PICFLAG}" -+ LDFLAGS="$LDFLAGS ${PICFLAG} -shared" - ;; - esac -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -fPIC -shared" >&5 --$as_echo_n "checking for -fPIC -shared... " >&6; } -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${PICFLAG} -shared" >&5 -+$as_echo_n "checking for ${PICFLAG} -shared... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ --extern int X; -+${UNDEFINEDPREAMBLE} - int - main () - { --return X == 0; -+${UNDEFINEDCODE} - ; - return 0; - } ---- a/libcc1/configure -+++ b/libcc1/configure -@@ -14500,6 +14500,9 @@ - - pluginlibs= - -+ PICFLAG="-fPIC" -+ UNDEFINEDPREAMBLE="extern int X;" -+ UNDEFINEDCODE="return X == 0;" - case "${host}" in - *-*-darwin*) - if test x$build = x$host; then -@@ -14510,6 +14513,11 @@ - export_sym_check= - fi - ;; -+ *-*-mingw*|*-*-cygwin*|*-*-msys*) -+ PICFLAG="" -+ UNDEFINEDPREAMBLE="" -+ UNDEFINEDCODE="" -+ ;; - *) - if test x$build = x$host; then - export_sym_check="objdump${exeext} -T" -@@ -14622,23 +14630,23 @@ - case "${host}" in - *-*-darwin*) - CFLAGS=`echo $CFLAGS | sed s/-mdynamic-no-pic//g` -- CFLAGS="$CFLAGS -fPIC" -+ CFLAGS="$CFLAGS ${PICFLAG}" - LDFLAGS="$LDFLAGS -shared -undefined dynamic_lookup" - ;; - *) -- CFLAGS="$CFLAGS -fPIC" -- LDFLAGS="$LDFLAGS -fPIC -shared" -+ CFLAGS="$CFLAGS ${PICFLAG}" -+ LDFLAGS="$LDFLAGS ${PICFLAG} -shared" - ;; - esac -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -fPIC -shared" >&5 --$as_echo_n "checking for -fPIC -shared... " >&6; } -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${PICFLAG} -shared" >&5 -+$as_echo_n "checking for ${PICFLAG} -shared... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ --extern int X; -+${UNDEFINEDPREAMBLE} - int - main () - { --return X == 0; -+${UNDEFINEDCODE} - ; - return 0; - } diff --git a/packages/gcc-linaro/5.4-2017.05/0008-gcc-plugin-POSIX-include-sys-select-h.patch b/packages/gcc-linaro/5.4-2017.05/0008-gcc-plugin-POSIX-include-sys-select-h.patch deleted file mode 100644 index 5f9a07a..0000000 --- a/packages/gcc-linaro/5.4-2017.05/0008-gcc-plugin-POSIX-include-sys-select-h.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- - libcc1/connection.cc | 1 + - 1 file changed, 1 insertion(+) - ---- a/libcc1/connection.cc -+++ b/libcc1/connection.cc -@@ -21,6 +21,7 @@ - #include - #include - #include -+#include - #include - #include - #include "marshall.hh" diff --git a/packages/gcc-linaro/5.4-2017.05/0009-arm-softfloat-libgcc.patch b/packages/gcc-linaro/5.4-2017.05/0009-arm-softfloat-libgcc.patch deleted file mode 100644 index 350857d..0000000 --- a/packages/gcc-linaro/5.4-2017.05/0009-arm-softfloat-libgcc.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- - gcc/config/arm/linux-elf.h | 2 +- - libgcc/config/arm/t-linux | 7 ++++++- - 2 files changed, 7 insertions(+), 2 deletions(-) - ---- a/gcc/config/arm/linux-elf.h -+++ b/gcc/config/arm/linux-elf.h -@@ -60,7 +60,7 @@ - %{shared:-lc} \ - %{!shared:%{profile:-lc_p}%{!profile:-lc}}" - --#define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc" -+#define LIBGCC_SPEC "-lgcc" - - #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" - ---- a/libgcc/config/arm/t-linux -+++ b/libgcc/config/arm/t-linux -@@ -1,6 +1,11 @@ - LIB1ASMSRC = arm/lib1funcs.S - LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \ -- _ctzsi2 _arm_addsubdf3 _arm_addsubsf3 -+ _ctzsi2 _arm_addsubdf3 _arm_addsubsf3 \ -+ _arm_addsubdf3 _arm_addsubsf3 \ -+ _arm_negdf2 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 \ -+ _arm_fixdfsi _arm_fixunsdfsi _arm_truncdfsf2 \ -+ _arm_negsf2 _arm_muldivsf3 _arm_cmpsf2 _arm_unordsf2 \ -+ _arm_fixsfsi _arm_fixunssfsi - - # Just for these, we omit the frame pointer since it makes such a big - # difference. diff --git a/packages/gcc-linaro/5.4-2017.05/0010-arm_unbreak_armv4t.patch b/packages/gcc-linaro/5.4-2017.05/0010-arm_unbreak_armv4t.patch deleted file mode 100644 index 7c37445..0000000 --- a/packages/gcc-linaro/5.4-2017.05/0010-arm_unbreak_armv4t.patch +++ /dev/null @@ -1,17 +0,0 @@ -http://sourceware.org/ml/crossgcc/2008-05/msg00009.html - ---- - gcc/config/arm/linux-eabi.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/gcc/config/arm/linux-eabi.h -+++ b/gcc/config/arm/linux-eabi.h -@@ -45,7 +45,7 @@ - The ARM10TDMI core is the default for armv5t, so set - SUBTARGET_CPU_DEFAULT to achieve this. */ - #undef SUBTARGET_CPU_DEFAULT --#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi -+#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi - - /* TARGET_BIG_ENDIAN_DEFAULT is set in - config.gcc for big endian configurations. */ diff --git a/packages/gcc-linaro/5.4-2017.05/0011-microblaze-enable-dwarf-eh-support.patch b/packages/gcc-linaro/5.4-2017.05/0011-microblaze-enable-dwarf-eh-support.patch deleted file mode 100644 index 67a322a..0000000 --- a/packages/gcc-linaro/5.4-2017.05/0011-microblaze-enable-dwarf-eh-support.patch +++ /dev/null @@ -1,156 +0,0 @@ -Fetched from Xilinx gcc git at https://github.com/Xilinx/gcc - -From 23c35173490ac2d6348a668dfc9c1a6eb62171f2 Mon Sep 17 00:00:00 2001 -From: "Edgar E. Iglesias" -Date: Mon, 18 Jun 2012 20:18:13 +0200 -Subject: [PATCH] [Patch, microblaze]: Enable DWARF exception handling support. - -Changelog - -2013-03-18 Edgar E. Iglesias - David Holsgrove - - * common/config/microblaze/microblaze-common.c: Remove - TARGET_EXCEPT_UNWIND_INFO definition. - * config/microblaze/microblaze-protos.h: Add - microblaze_eh_return prototype. - * gcc/config/microblaze/microblaze.c: (microblaze_must_save_register, - microblaze_expand_epilogue, microblaze_return_addr): Handle - calls_eh_return - (microblaze_eh_return): New function. - * gcc/config/microblaze/microblaze.h: Define RETURN_ADDR_OFFSET, - EH_RETURN_DATA_REGNO, MB_EH_STACKADJ_REGNUM, EH_RETURN_STACKADJ_RTX, - ASM_PREFERRED_EH_DATA_FORMAT - * gcc/config/microblaze/microblaze.md: Define eh_return pattern. - -Signed-off-by: David Holsgrove -Signed-off-by: Edgar E. Iglesias ---- - gcc/common/config/microblaze/microblaze-common.c | 3 -- - gcc/config/microblaze/microblaze-protos.h | 1 - gcc/config/microblaze/microblaze.c | 29 +++++++++++++++++++---- - gcc/config/microblaze/microblaze.h | 15 +++++++++++ - gcc/config/microblaze/microblaze.md | 11 ++++++++ - 5 files changed, 52 insertions(+), 7 deletions(-) - ---- a/gcc/common/config/microblaze/microblaze-common.c -+++ b/gcc/common/config/microblaze/microblaze-common.c -@@ -37,7 +37,4 @@ - #undef TARGET_OPTION_OPTIMIZATION_TABLE - #define TARGET_OPTION_OPTIMIZATION_TABLE microblaze_option_optimization_table - --#undef TARGET_EXCEPT_UNWIND_INFO --#define TARGET_EXCEPT_UNWIND_INFO sjlj_except_unwind_info -- - struct gcc_targetm_common targetm_common = TARGETM_COMMON_INITIALIZER; ---- a/gcc/config/microblaze/microblaze-protos.h -+++ b/gcc/config/microblaze/microblaze-protos.h -@@ -56,6 +56,7 @@ - extern int symbol_mentioned_p (rtx); - extern int label_mentioned_p (rtx); - extern bool microblaze_cannot_force_const_mem (machine_mode, rtx); -+extern void microblaze_eh_return (rtx op0); - #endif /* RTX_CODE */ - - /* Declare functions in microblaze-c.c. */ ---- a/gcc/config/microblaze/microblaze.c -+++ b/gcc/config/microblaze/microblaze.c -@@ -1959,6 +1959,11 @@ - if (frame_pointer_needed && (regno == HARD_FRAME_POINTER_REGNUM)) - return 1; - -+ if (crtl->calls_eh_return -+ && regno == MB_ABI_SUB_RETURN_ADDR_REGNUM) { -+ return 1; -+ } -+ - if (!crtl->is_leaf) - { - if (regno == MB_ABI_SUB_RETURN_ADDR_REGNUM) -@@ -1986,6 +1991,13 @@ - return 1; - } - -+ if (crtl->calls_eh_return -+ && (regno == EH_RETURN_DATA_REGNO (0) -+ || regno == EH_RETURN_DATA_REGNO (1))) -+ { -+ return 1; -+ } -+ - return 0; - } - -@@ -3067,6 +3079,12 @@ - emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, fsiz_rtx)); - } - -+ if (crtl->calls_eh_return) -+ emit_insn (gen_addsi3 (stack_pointer_rtx, -+ stack_pointer_rtx, -+ gen_rtx_raw_REG (SImode, -+ MB_EH_STACKADJ_REGNUM))); -+ - emit_jump_insn (gen_return_internal (gen_rtx_REG (Pmode, GP_REG_FIRST + - MB_ABI_SUB_RETURN_ADDR_REGNUM))); - } -@@ -3364,10 +3382,13 @@ - if (count != 0) - return NULL_RTX; - -- return gen_rtx_PLUS (Pmode, -- get_hard_reg_initial_val (Pmode, -- MB_ABI_SUB_RETURN_ADDR_REGNUM), -- GEN_INT (8)); -+ return get_hard_reg_initial_val (Pmode, -+ MB_ABI_SUB_RETURN_ADDR_REGNUM); -+} -+ -+void microblaze_eh_return (rtx op0) -+{ -+ emit_insn (gen_movsi(gen_rtx_MEM(Pmode, stack_pointer_rtx), op0)); - } - - /* Queue an .ident string in the queue of top-level asm statements. ---- a/gcc/config/microblaze/microblaze.h -+++ b/gcc/config/microblaze/microblaze.h -@@ -184,6 +184,21 @@ - #define INCOMING_RETURN_ADDR_RTX \ - gen_rtx_REG (VOIDmode, GP_REG_FIRST + MB_ABI_SUB_RETURN_ADDR_REGNUM) - -+/* Specifies the offset from INCOMING_RETURN_ADDR_RTX and the actual return PC. */ -+#define RETURN_ADDR_OFFSET (8) -+ -+/* Describe how we implement __builtin_eh_return. */ -+#define EH_RETURN_DATA_REGNO(N) (((N) < 2) ? MB_ABI_FIRST_ARG_REGNUM + (N) : INVALID_REGNUM) -+ -+#define MB_EH_STACKADJ_REGNUM MB_ABI_INT_RETURN_VAL2_REGNUM -+#define EH_RETURN_STACKADJ_RTX gen_rtx_REG (Pmode, MB_EH_STACKADJ_REGNUM) -+ -+/* Select a format to encode pointers in exception handling data. CODE -+ is 0 for data, 1 for code labels, 2 for function pointers. GLOBAL is -+ true if the symbol may be affected by dynamic relocations. */ -+#define ASM_PREFERRED_EH_DATA_FORMAT(CODE,GLOBAL) \ -+ ((flag_pic || GLOBAL) ? DW_EH_PE_aligned : DW_EH_PE_absptr) -+ - /* Use DWARF 2 debugging information by default. */ - #define DWARF2_DEBUGGING_INFO - #define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG ---- a/gcc/config/microblaze/microblaze.md -+++ b/gcc/config/microblaze/microblaze.md -@@ -2272,4 +2272,15 @@ - (set_attr "mode" "SI") - (set_attr "length" "4")]) - -+; This is used in compiling the unwind routines. -+(define_expand "eh_return" -+ [(use (match_operand 0 "general_operand" ""))] -+ "" -+ " -+{ -+ microblaze_eh_return(operands[0]); -+ DONE; -+}") -+ - (include "sync.md") -+ diff --git a/packages/gcc-linaro/5.4-2017.05/0012-libstdcxx-uclibc-c99.patch b/packages/gcc-linaro/5.4-2017.05/0012-libstdcxx-uclibc-c99.patch deleted file mode 100644 index 0b211b9..0000000 --- a/packages/gcc-linaro/5.4-2017.05/0012-libstdcxx-uclibc-c99.patch +++ /dev/null @@ -1,257 +0,0 @@ -Allow C99-depending features of libstdc++ with uClibc - -The libstdc++ code is fairly restrictive on how it checks for C99 -compatibility: it requires *complete* C99 support to enable certain -features. For example, uClibc provides a good number of C99 features, -but not C99 complex number support. For this reason, libstdc++ -completely disables many the standard C++ methods that can in fact -work because uClibc provides the necessary functions. - -This patch is similar and highly inspired from -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58393, but implemented in -a way that doesn't involve changing the configure.ac script, as -autoreconfiguring gcc is complicated. It simply relies on the fact -that uClibc defines the __UCLIBC__ definition. - -Signed-off-by: Thomas Petazzoni - ---- - libstdc++-v3/config/locale/generic/c_locale.h | 2 +- - libstdc++-v3/config/locale/gnu/c_locale.h | 2 +- - libstdc++-v3/include/bits/basic_string.h | 2 +- - libstdc++-v3/include/bits/locale_facets.tcc | 2 +- - libstdc++-v3/include/bits/locale_facets_nonio.tcc | 2 +- - libstdc++-v3/include/c_compatibility/math.h | 2 +- - libstdc++-v3/include/c_compatibility/wchar.h | 2 +- - libstdc++-v3/include/c_global/cstdio | 2 +- - libstdc++-v3/include/c_global/cstdlib | 2 +- - libstdc++-v3/include/c_global/cwchar | 4 ++-- - libstdc++-v3/include/c_std/cstdio | 2 +- - libstdc++-v3/include/c_std/cstdlib | 2 +- - libstdc++-v3/include/c_std/cwchar | 2 +- - libstdc++-v3/include/ext/vstring.h | 2 +- - libstdc++-v3/include/tr1/cstdio | 2 +- - libstdc++-v3/include/tr1/cstdlib | 2 +- - libstdc++-v3/include/tr1/cwchar | 2 +- - libstdc++-v3/include/tr1/stdlib.h | 2 +- - libstdc++-v3/src/c++11/debug.cc | 2 +- - 19 files changed, 20 insertions(+), 20 deletions(-) - ---- a/libstdc++-v3/config/locale/generic/c_locale.h -+++ b/libstdc++-v3/config/locale/generic/c_locale.h -@@ -70,7 +70,7 @@ - __builtin_va_list __args; - __builtin_va_start(__args, __fmt); - --#ifdef _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args); - #else - const int __ret = __builtin_vsprintf(__out, __fmt, __args); ---- a/libstdc++-v3/config/locale/gnu/c_locale.h -+++ b/libstdc++-v3/config/locale/gnu/c_locale.h -@@ -88,7 +88,7 @@ - __builtin_va_list __args; - __builtin_va_start(__args, __fmt); - --#ifdef _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args); - #else - const int __ret = __builtin_vsprintf(__out, __fmt, __args); ---- a/libstdc++-v3/include/bits/basic_string.h -+++ b/libstdc++-v3/include/bits/basic_string.h -@@ -5344,7 +5344,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if __cplusplus >= 201103L && defined(_GLIBCXX_USE_C99) -+#if __cplusplus >= 201103L && (defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)) - - #include - ---- a/libstdc++-v3/include/bits/locale_facets.tcc -+++ b/libstdc++-v3/include/bits/locale_facets.tcc -@@ -992,7 +992,7 @@ - char __fbuf[16]; - __num_base::_S_format_float(__io, __fbuf, __mod); - --#ifdef _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - // Precision is always used except for hexfloat format. - const bool __use_prec = - (__io.flags() & ios_base::floatfield) != ios_base::floatfield; ---- a/libstdc++-v3/include/bits/locale_facets_nonio.tcc -+++ b/libstdc++-v3/include/bits/locale_facets_nonio.tcc -@@ -578,7 +578,7 @@ - { - const locale __loc = __io.getloc(); - const ctype<_CharT>& __ctype = use_facet >(__loc); --#ifdef _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - // First try a buffer perhaps big enough. - int __cs_size = 64; - char* __cs = static_cast(__builtin_alloca(__cs_size)); ---- a/libstdc++-v3/include/c_compatibility/math.h -+++ b/libstdc++-v3/include/c_compatibility/math.h -@@ -56,7 +56,7 @@ - using std::floor; - using std::fmod; - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - using std::fpclassify; - using std::isfinite; - using std::isinf; ---- a/libstdc++-v3/include/c_compatibility/wchar.h -+++ b/libstdc++-v3/include/c_compatibility/wchar.h -@@ -103,7 +103,7 @@ - using std::wmemset; - using std::wcsftime; - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - using std::wcstold; - using std::wcstoll; - using std::wcstoull; ---- a/libstdc++-v3/include/c_global/cstdlib -+++ b/libstdc++-v3/include/c_global/cstdlib -@@ -195,7 +195,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef _Exit - #undef llabs ---- a/libstdc++-v3/include/c_global/cwchar -+++ b/libstdc++-v3/include/c_global/cwchar -@@ -232,7 +232,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef wcstold - #undef wcstoll -@@ -289,7 +289,7 @@ - using std::vwscanf; - #endif - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - using std::wcstold; - using std::wcstoll; - using std::wcstoull; ---- a/libstdc++-v3/include/c_std/cstdio -+++ b/libstdc++-v3/include/c_std/cstdio -@@ -144,7 +144,7 @@ - using ::vsprintf; - } // namespace std - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef snprintf - #undef vfscanf ---- a/libstdc++-v3/include/c_std/cstdlib -+++ b/libstdc++-v3/include/c_std/cstdlib -@@ -192,7 +192,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef _Exit - #undef llabs ---- a/libstdc++-v3/include/c_std/cwchar -+++ b/libstdc++-v3/include/c_std/cwchar -@@ -228,7 +228,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef wcstold - #undef wcstoll ---- a/libstdc++-v3/include/ext/vstring.h -+++ b/libstdc++-v3/include/ext/vstring.h -@@ -2680,7 +2680,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if ((__cplusplus >= 201103L) && defined(_GLIBCXX_USE_C99)) -+#if ((__cplusplus >= 201103L) && (defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__))) - - #include - ---- a/libstdc++-v3/include/tr1/cstdio -+++ b/libstdc++-v3/include/tr1/cstdio -@@ -33,7 +33,7 @@ - - #include - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - namespace std _GLIBCXX_VISIBILITY(default) - { ---- a/libstdc++-v3/include/tr1/cstdlib -+++ b/libstdc++-v3/include/tr1/cstdlib -@@ -35,7 +35,7 @@ - - #if _GLIBCXX_HOSTED - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - namespace std _GLIBCXX_VISIBILITY(default) - { ---- a/libstdc++-v3/include/tr1/cwchar -+++ b/libstdc++-v3/include/tr1/cwchar -@@ -52,7 +52,7 @@ - using std::vwscanf; - #endif - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - using std::wcstold; - using std::wcstoll; - using std::wcstoull; ---- a/libstdc++-v3/include/tr1/stdlib.h -+++ b/libstdc++-v3/include/tr1/stdlib.h -@@ -33,7 +33,7 @@ - - #if _GLIBCXX_HOSTED - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - using std::tr1::atoll; - using std::tr1::strtoll; ---- a/libstdc++-v3/src/c++11/debug.cc -+++ b/libstdc++-v3/src/c++11/debug.cc -@@ -788,7 +788,7 @@ - int __n __attribute__ ((__unused__)), - const char* __fmt, _Tp __s) const throw () - { --#ifdef _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - std::snprintf(__buf, __n, __fmt, __s); - #else - std::sprintf(__buf, __fmt, __s); ---- a/libstdc++-v3/include/c_global/cstdio -+++ b/libstdc++-v3/include/c_global/cstdio -@@ -146,7 +146,7 @@ - using ::vsprintf; - } // namespace - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef snprintf - #undef vfscanf diff --git a/packages/gcc-linaro/5.4-2017.05/0013-cilk-wchar.patch b/packages/gcc-linaro/5.4-2017.05/0013-cilk-wchar.patch deleted file mode 100644 index 300837f..0000000 --- a/packages/gcc-linaro/5.4-2017.05/0013-cilk-wchar.patch +++ /dev/null @@ -1,54 +0,0 @@ -[PATCH] cilk: fix build without wchar - -When building against uClibc with wchar support disabled, WCHAR_MIN and -WCHAR_MAX are not defined leading to compilation errors. - -Fix it by only including the wchar code if available. - -Signed-off-by: Peter Korsgaard ---- - libcilkrts/include/cilk/reducer_min_max.h | 8 ++++++++ - 1 file changed, 8 insertions(+) - ---- a/libcilkrts/include/cilk/reducer_min_max.h -+++ b/libcilkrts/include/cilk/reducer_min_max.h -@@ -3154,7 +3154,9 @@ - CILK_C_REDUCER_MAX_INSTANCE(char, char, CHAR_MIN) - CILK_C_REDUCER_MAX_INSTANCE(unsigned char, uchar, 0) - CILK_C_REDUCER_MAX_INSTANCE(signed char, schar, SCHAR_MIN) -+#ifdef WCHAR_MIN - CILK_C_REDUCER_MAX_INSTANCE(wchar_t, wchar_t, WCHAR_MIN) -+#endif - CILK_C_REDUCER_MAX_INSTANCE(short, short, SHRT_MIN) - CILK_C_REDUCER_MAX_INSTANCE(unsigned short, ushort, 0) - CILK_C_REDUCER_MAX_INSTANCE(int, int, INT_MIN) -@@ -3306,7 +3308,9 @@ - CILK_C_REDUCER_MAX_INDEX_INSTANCE(char, char, CHAR_MIN) - CILK_C_REDUCER_MAX_INDEX_INSTANCE(unsigned char, uchar, 0) - CILK_C_REDUCER_MAX_INDEX_INSTANCE(signed char, schar, SCHAR_MIN) -+#ifdef WCHAR_MIN - CILK_C_REDUCER_MAX_INDEX_INSTANCE(wchar_t, wchar_t, WCHAR_MIN) -+#endif - CILK_C_REDUCER_MAX_INDEX_INSTANCE(short, short, SHRT_MIN) - CILK_C_REDUCER_MAX_INDEX_INSTANCE(unsigned short, ushort, 0) - CILK_C_REDUCER_MAX_INDEX_INSTANCE(int, int, INT_MIN) -@@ -3432,7 +3436,9 @@ - CILK_C_REDUCER_MIN_INSTANCE(char, char, CHAR_MAX) - CILK_C_REDUCER_MIN_INSTANCE(unsigned char, uchar, CHAR_MAX) - CILK_C_REDUCER_MIN_INSTANCE(signed char, schar, SCHAR_MAX) -+#ifdef WCHAR_MAX - CILK_C_REDUCER_MIN_INSTANCE(wchar_t, wchar_t, WCHAR_MAX) -+#endif - CILK_C_REDUCER_MIN_INSTANCE(short, short, SHRT_MAX) - CILK_C_REDUCER_MIN_INSTANCE(unsigned short, ushort, USHRT_MAX) - CILK_C_REDUCER_MIN_INSTANCE(int, int, INT_MAX) -@@ -3584,7 +3590,9 @@ - CILK_C_REDUCER_MIN_INDEX_INSTANCE(char, char, CHAR_MAX) - CILK_C_REDUCER_MIN_INDEX_INSTANCE(unsigned char, uchar, CHAR_MAX) - CILK_C_REDUCER_MIN_INDEX_INSTANCE(signed char, schar, SCHAR_MAX) -+#ifdef WCHAR_MAX - CILK_C_REDUCER_MIN_INDEX_INSTANCE(wchar_t, wchar_t, WCHAR_MAX) -+#endif - CILK_C_REDUCER_MIN_INDEX_INSTANCE(short, short, SHRT_MAX) - CILK_C_REDUCER_MIN_INDEX_INSTANCE(unsigned short, ushort, USHRT_MAX) - CILK_C_REDUCER_MIN_INDEX_INSTANCE(int, int, INT_MAX) diff --git a/packages/gcc-linaro/5.4-2017.05/0014-xtensa-add-mauto-litpools-option.patch b/packages/gcc-linaro/5.4-2017.05/0014-xtensa-add-mauto-litpools-option.patch deleted file mode 100644 index 3db8ec8..0000000 --- a/packages/gcc-linaro/5.4-2017.05/0014-xtensa-add-mauto-litpools-option.patch +++ /dev/null @@ -1,273 +0,0 @@ -From 6d852ffb43b111a39162135c95249e749c4e285b Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Thu, 6 Aug 2015 01:16:02 +0300 -Subject: [PATCH] xtensa: add -mauto-litpools option - -With support from assembler this option allows compiling huge functions, -where single literal pool at the beginning of a function may not be -reachable by L32R instructions at its end. - -Currently assembler --auto-litpools option cannot deal with literals -used from multiple locations separated by more than 256 KBytes of code. -Don't turn constants into literals, instead use MOVI instruction to load -them into registers and let the assembler turn them into literals as -necessary. - -2015-08-12 Max Filippov -gcc/ - * config/xtensa/constraints.md (define_constraint "Y"): New - constraint. - * config/xtensa/elf.h (ASM_SPEC): Add m(no-)auto-litpools. - * config/xtensa/linux.h (ASM_SPEC): Likewise. - * config/xtensa/predicates.md (move_operand): Match constants - and symbols in the presence of TARGET_AUTO_LITPOOLS. - * config/xtensa/xtensa.c (xtensa_valid_move): Don't allow - immediate references to TLS data. - (xtensa_emit_move_sequence): Don't force constants to memory in - the presence of TARGET_AUTO_LITPOOLS. - (print_operand): Add 'y' format, same as default, but capable of - printing SF mode constants as well. - * config/xtensa/xtensa.md (movsi_internal, movhi_internal) - (movsf_internal): Add movi pattern that loads literal. - (movsf, movdf): Don't force constants to memory in the presence - of TARGET_AUTO_LITPOOLS. - (movdf_internal): Add 'Y' constraint. - * config/xtensa/xtensa.opt (mauto-litpools): New option. - -Signed-off-by: Max Filippov ---- -Backported from: r226828 -Changes to ChangeLogs and documentation are dropped. - - gcc/config/xtensa/constraints.md | 5 +++++ - gcc/config/xtensa/elf.h | 4 +++- - gcc/config/xtensa/linux.h | 4 +++- - gcc/config/xtensa/predicates.md | 3 ++- - gcc/config/xtensa/xtensa.c | 19 ++++++++++++++++++- - gcc/config/xtensa/xtensa.md | 35 +++++++++++++++++++---------------- - gcc/config/xtensa/xtensa.opt | 4 ++++ - 7 files changed, 54 insertions(+), 20 deletions(-) - ---- a/gcc/config/xtensa/constraints.md -+++ b/gcc/config/xtensa/constraints.md -@@ -111,6 +111,11 @@ - (and (match_code "const_int") - (match_test "xtensa_mask_immediate (ival)"))) - -+(define_constraint "Y" -+ "A constant that can be used in relaxed MOVI instructions." -+ (and (match_code "const_int,const_double,const,symbol_ref,label_ref") -+ (match_test "TARGET_AUTO_LITPOOLS"))) -+ - ;; Memory constraints. Do not use define_memory_constraint here. Doing so - ;; causes reload to force some constants into the constant pool, but since - ;; the Xtensa constant pool can only be accessed with L32R instructions, it ---- a/gcc/config/xtensa/elf.h -+++ b/gcc/config/xtensa/elf.h -@@ -48,7 +48,9 @@ - %{mtarget-align:--target-align} \ - %{mno-target-align:--no-target-align} \ - %{mlongcalls:--longcalls} \ -- %{mno-longcalls:--no-longcalls}" -+ %{mno-longcalls:--no-longcalls} \ -+ %{mauto-litpools:--auto-litpools} \ -+ %{mno-auto-litpools:--no-auto-litpools}" - - #undef LIB_SPEC - #define LIB_SPEC "-lc -lsim -lc -lhandlers-sim -lhal" ---- a/gcc/config/xtensa/linux.h -+++ b/gcc/config/xtensa/linux.h -@@ -42,7 +42,9 @@ - %{mtarget-align:--target-align} \ - %{mno-target-align:--no-target-align} \ - %{mlongcalls:--longcalls} \ -- %{mno-longcalls:--no-longcalls}" -+ %{mno-longcalls:--no-longcalls} \ -+ %{mauto-litpools:--auto-litpools} \ -+ %{mno-auto-litpools:--no-auto-litpools}" - - #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1" - ---- a/gcc/config/xtensa/predicates.md -+++ b/gcc/config/xtensa/predicates.md -@@ -142,7 +142,8 @@ - (match_test "GET_MODE_CLASS (mode) == MODE_INT - && xtensa_simm12b (INTVAL (op))")) - (and (match_code "const_int,const_double,const,symbol_ref,label_ref") -- (match_test "TARGET_CONST16 && CONSTANT_P (op) -+ (match_test "(TARGET_CONST16 || TARGET_AUTO_LITPOOLS) -+ && CONSTANT_P (op) - && GET_MODE_SIZE (mode) % UNITS_PER_WORD == 0"))))) - - ;; Accept the floating point constant 1 in the appropriate mode. ---- a/gcc/config/xtensa/xtensa.c -+++ b/gcc/config/xtensa/xtensa.c -@@ -501,6 +501,9 @@ - { - int dst_regnum = xt_true_regnum (operands[0]); - -+ if (xtensa_tls_referenced_p (operands[1])) -+ return FALSE; -+ - /* The stack pointer can only be assigned with a MOVSP opcode. */ - if (dst_regnum == STACK_POINTER_REGNUM) - return !TARGET_WINDOWED_ABI -@@ -1069,7 +1072,7 @@ - return 1; - } - -- if (! TARGET_CONST16) -+ if (! TARGET_AUTO_LITPOOLS && ! TARGET_CONST16) - { - src = force_const_mem (SImode, src); - operands[1] = src; -@@ -2449,6 +2452,20 @@ - } - break; - -+ case 'y': -+ if (GET_CODE (x) == CONST_DOUBLE && -+ GET_MODE (x) == SFmode) -+ { -+ REAL_VALUE_TYPE r; -+ long l; -+ REAL_VALUE_FROM_CONST_DOUBLE (r, x); -+ REAL_VALUE_TO_TARGET_SINGLE (r, l); -+ fprintf (file, "0x%08lx", l); -+ break; -+ } -+ -+ /* fall through */ -+ - default: - if (GET_CODE (x) == REG || GET_CODE (x) == SUBREG) - fprintf (file, "%s", reg_names[xt_true_regnum (x)]); ---- a/gcc/config/xtensa/xtensa.md -+++ b/gcc/config/xtensa/xtensa.md -@@ -761,8 +761,8 @@ - }) - - (define_insn "movsi_internal" -- [(set (match_operand:SI 0 "nonimmed_operand" "=D,D,D,D,R,R,a,q,a,W,a,a,U,*a,*A") -- (match_operand:SI 1 "move_operand" "M,D,d,R,D,d,r,r,I,i,T,U,r,*A,*r"))] -+ [(set (match_operand:SI 0 "nonimmed_operand" "=D,D,D,D,R,R,a,q,a,a,W,a,a,U,*a,*A") -+ (match_operand:SI 1 "move_operand" "M,D,d,R,D,d,r,r,I,Y,i,T,U,r,*A,*r"))] - "xtensa_valid_move (SImode, operands)" - "@ - movi.n\t%0, %x1 -@@ -774,15 +774,16 @@ - mov\t%0, %1 - movsp\t%0, %1 - movi\t%0, %x1 -+ movi\t%0, %1 - const16\t%0, %t1\;const16\t%0, %b1 - %v1l32r\t%0, %1 - %v1l32i\t%0, %1 - %v0s32i\t%1, %0 - rsr\t%0, ACCLO - wsr\t%1, ACCLO" -- [(set_attr "type" "move,move,move,load,store,store,move,move,move,move,load,load,store,rsr,wsr") -+ [(set_attr "type" "move,move,move,load,store,store,move,move,move,move,move,load,load,store,rsr,wsr") - (set_attr "mode" "SI") -- (set_attr "length" "2,2,2,2,2,2,3,3,3,6,3,3,3,3,3")]) -+ (set_attr "length" "2,2,2,2,2,2,3,3,3,3,6,3,3,3,3,3")]) - - ;; 16-bit Integer moves - -@@ -796,21 +797,22 @@ - }) - - (define_insn "movhi_internal" -- [(set (match_operand:HI 0 "nonimmed_operand" "=D,D,a,a,a,U,*a,*A") -- (match_operand:HI 1 "move_operand" "M,d,r,I,U,r,*A,*r"))] -+ [(set (match_operand:HI 0 "nonimmed_operand" "=D,D,a,a,a,a,U,*a,*A") -+ (match_operand:HI 1 "move_operand" "M,d,r,I,Y,U,r,*A,*r"))] - "xtensa_valid_move (HImode, operands)" - "@ - movi.n\t%0, %x1 - mov.n\t%0, %1 - mov\t%0, %1 - movi\t%0, %x1 -+ movi\t%0, %1 - %v1l16ui\t%0, %1 - %v0s16i\t%1, %0 - rsr\t%0, ACCLO - wsr\t%1, ACCLO" -- [(set_attr "type" "move,move,move,move,load,store,rsr,wsr") -+ [(set_attr "type" "move,move,move,move,move,load,store,rsr,wsr") - (set_attr "mode" "HI") -- (set_attr "length" "2,2,3,3,3,3,3,3")]) -+ (set_attr "length" "2,2,3,3,3,3,3,3,3")]) - - ;; 8-bit Integer moves - -@@ -881,7 +883,7 @@ - (match_operand:SF 1 "general_operand" ""))] - "" - { -- if (!TARGET_CONST16 && CONSTANT_P (operands[1])) -+ if (!TARGET_CONST16 && !TARGET_AUTO_LITPOOLS && CONSTANT_P (operands[1])) - operands[1] = force_const_mem (SFmode, operands[1]); - - if ((!register_operand (operands[0], SFmode) -@@ -896,8 +898,8 @@ - }) - - (define_insn "movsf_internal" -- [(set (match_operand:SF 0 "nonimmed_operand" "=f,f,U,D,D,R,a,f,a,W,a,a,U") -- (match_operand:SF 1 "move_operand" "f,U,f,d,R,d,r,r,f,iF,T,U,r"))] -+ [(set (match_operand:SF 0 "nonimmed_operand" "=f,f,U,D,D,R,a,f,a,a,W,a,a,U") -+ (match_operand:SF 1 "move_operand" "f,U,f,d,R,d,r,r,f,Y,iF,T,U,r"))] - "((register_operand (operands[0], SFmode) - || register_operand (operands[1], SFmode)) - && !(FP_REG_P (xt_true_regnum (operands[0])) -@@ -912,13 +914,14 @@ - mov\t%0, %1 - wfr\t%0, %1 - rfr\t%0, %1 -+ movi\t%0, %y1 - const16\t%0, %t1\;const16\t%0, %b1 - %v1l32r\t%0, %1 - %v1l32i\t%0, %1 - %v0s32i\t%1, %0" -- [(set_attr "type" "farith,fload,fstore,move,load,store,move,farith,farith,move,load,load,store") -+ [(set_attr "type" "farith,fload,fstore,move,load,store,move,farith,farith,move,move,load,load,store") - (set_attr "mode" "SF") -- (set_attr "length" "3,3,3,2,2,2,3,3,3,6,3,3,3")]) -+ (set_attr "length" "3,3,3,2,2,2,3,3,3,3,6,3,3,3")]) - - (define_insn "*lsiu" - [(set (match_operand:SF 0 "register_operand" "=f") -@@ -991,7 +994,7 @@ - (match_operand:DF 1 "general_operand" ""))] - "" - { -- if (CONSTANT_P (operands[1]) && !TARGET_CONST16) -+ if (CONSTANT_P (operands[1]) && !TARGET_CONST16 && !TARGET_AUTO_LITPOOLS) - operands[1] = force_const_mem (DFmode, operands[1]); - - if (!register_operand (operands[0], DFmode) -@@ -1002,8 +1005,8 @@ - }) - - (define_insn_and_split "movdf_internal" -- [(set (match_operand:DF 0 "nonimmed_operand" "=a,W,a,a,U") -- (match_operand:DF 1 "move_operand" "r,iF,T,U,r"))] -+ [(set (match_operand:DF 0 "nonimmed_operand" "=a,a,W,a,a,U") -+ (match_operand:DF 1 "move_operand" "r,Y,iF,T,U,r"))] - "register_operand (operands[0], DFmode) - || register_operand (operands[1], DFmode)" - "#" ---- a/gcc/config/xtensa/xtensa.opt -+++ b/gcc/config/xtensa/xtensa.opt -@@ -38,6 +38,10 @@ - Target - Intersperse literal pools with code in the text section - -+mauto-litpools -+Target Report Mask(AUTO_LITPOOLS) -+Relax literals in assembler and place them automatically in the text section -+ - mserialize-volatile - Target Report Mask(SERIALIZE_VOLATILE) - -mno-serialize-volatile Do not serialize volatile memory references with MEMW instructions diff --git a/packages/gcc-linaro/5.4-2017.05/0015-xtensa-reimplement-register-spilling.patch b/packages/gcc-linaro/5.4-2017.05/0015-xtensa-reimplement-register-spilling.patch deleted file mode 100644 index b85ecb9..0000000 --- a/packages/gcc-linaro/5.4-2017.05/0015-xtensa-reimplement-register-spilling.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 40507bf199440082ed69b777986d50c31efe2520 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Mon, 10 Aug 2015 21:35:20 +0300 -Subject: [PATCH 1/3] xtensa: reimplement register spilling - -Spilling windowed registers in userspace is much easier, more portable, -less error-prone and equally effective as in kernel. Now that register -spilling syscall is considered obsolete in the xtensa linux kernel -replace it with CALL12 followed by series of ENTRY in libgcc. - -2015-08-18 Max Filippov -libgcc/ - * config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill): Use - CALL12 followed by series of ENTRY to spill windowed registers. - (__xtensa_nonlocal_goto): Call __xtensa_libgcc_window_spill - instead of making linux spill syscall. - -Signed-off-by: Max Filippov ---- -Backported from: r226962 - - libgcc/config/xtensa/lib2funcs.S | 30 +++++++++++++++++++++++------- - 1 file changed, 23 insertions(+), 7 deletions(-) - ---- a/libgcc/config/xtensa/lib2funcs.S -+++ b/libgcc/config/xtensa/lib2funcs.S -@@ -34,10 +34,29 @@ - .global __xtensa_libgcc_window_spill - .type __xtensa_libgcc_window_spill,@function - __xtensa_libgcc_window_spill: -- entry sp, 32 -- movi a2, 0 -- syscall -+ entry sp, 48 -+#if XCHAL_NUM_AREGS > 16 -+ call12 1f -+ retw -+ .align 4 -+1: -+ .rept (XCHAL_NUM_AREGS - 24) / 12 -+ _entry sp, 48 -+ mov a12, a0 -+ .endr -+ _entry sp, 16 -+#if XCHAL_NUM_AREGS % 12 == 0 -+ mov a4, a4 -+#elif XCHAL_NUM_AREGS % 12 == 4 -+ mov a8, a8 -+#elif XCHAL_NUM_AREGS % 12 == 8 -+ mov a12, a12 -+#endif -+ retw -+#else -+ mov a8, a8 - retw -+#endif - .size __xtensa_libgcc_window_spill, .-__xtensa_libgcc_window_spill - #endif - -@@ -61,10 +80,7 @@ - entry sp, 32 - - /* Flush registers. */ -- mov a5, a2 -- movi a2, 0 -- syscall -- mov a2, a5 -+ call8 __xtensa_libgcc_window_spill - - /* Because the save area for a0-a3 is stored one frame below - the one identified by a2, the only way to restore those diff --git a/packages/gcc-linaro/5.4-2017.05/0016-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch b/packages/gcc-linaro/5.4-2017.05/0016-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch deleted file mode 100644 index 96b89e3..0000000 --- a/packages/gcc-linaro/5.4-2017.05/0016-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 7d7a85f75ba218df4a4226e95865fc8fa561cb86 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Fri, 14 Aug 2015 02:45:02 +0300 -Subject: [PATCH 2/3] xtensa: use unwind-dw2-fde-dip instead of unwind-dw2-fde - -This allows having exception cleanup code in binaries that don't -register their unwind tables. - -2015-08-18 Max Filippov -libgcc/ - * config/xtensa/t-windowed (LIB2ADDEH): Replace unwind-dw2-fde - with unwind-dw2-fde-dip. - -Signed-off-by: Max Filippov ---- -Backported from: r226963 - - libgcc/config/xtensa/t-windowed | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/libgcc/config/xtensa/t-windowed -+++ b/libgcc/config/xtensa/t-windowed -@@ -1,2 +1,2 @@ - LIB2ADDEH = $(srcdir)/config/xtensa/unwind-dw2-xtensa.c \ -- $(srcdir)/unwind-dw2-fde.c $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c -+ $(srcdir)/unwind-dw2-fde-dip.c $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c diff --git a/packages/gcc-linaro/5.4-2017.05/0017-xtensa-fix-_Unwind_GetCFA.patch b/packages/gcc-linaro/5.4-2017.05/0017-xtensa-fix-_Unwind_GetCFA.patch deleted file mode 100644 index 2222fdb..0000000 --- a/packages/gcc-linaro/5.4-2017.05/0017-xtensa-fix-_Unwind_GetCFA.patch +++ /dev/null @@ -1,35 +0,0 @@ -From b33905dc310f475ddbde4c9fb7230724b2068a2b Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Sat, 15 Aug 2015 05:12:11 +0300 -Subject: [PATCH 3/3] xtensa: fix _Unwind_GetCFA - -Returning context->cfa in _Unwind_GetCFA makes CFA point one stack frame -higher than what was actually used by code at context->ra. This results -in invalid CFA value in signal frames and premature unwinding completion -in forced unwinding used by uClibc NPTL thread cancellation. -Returning context->sp from _Unwind_GetCFA makes all CFA values valid and -matching code that used them. - -2015-08-18 Max Filippov -libgcc/ - * config/xtensa/unwind-dw2-xtensa.c (_Unwind_GetCFA): Return - context->sp instead of context->cfa. - -Signed-off-by: Max Filippov ---- -Backported from: r226964 - - libgcc/config/xtensa/unwind-dw2-xtensa.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/libgcc/config/xtensa/unwind-dw2-xtensa.c -+++ b/libgcc/config/xtensa/unwind-dw2-xtensa.c -@@ -130,7 +130,7 @@ - _Unwind_Word - _Unwind_GetCFA (struct _Unwind_Context *context) - { -- return (_Unwind_Ptr) context->cfa; -+ return (_Unwind_Ptr) context->sp; - } - - /* Overwrite the saved value for register INDEX in CONTEXT with VAL. */ diff --git a/packages/gcc-linaro/5.4-2017.05/0018-xtensa-add-uclinux-support.patch b/packages/gcc-linaro/5.4-2017.05/0018-xtensa-add-uclinux-support.patch deleted file mode 100644 index 643eff1..0000000 --- a/packages/gcc-linaro/5.4-2017.05/0018-xtensa-add-uclinux-support.patch +++ /dev/null @@ -1,161 +0,0 @@ -From 70c2cb98fb129b4766b5da0f945dc41fd568c77a Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Sat, 22 Aug 2015 08:44:26 +0300 -Subject: [PATCH] xtensa: add uclinux support - -2015-10-03 Max Filippov -gcc/ - * config.gcc (xtensa*-*-uclinux*): New configuration. - * config/xtensa/uclinux.h: New file. - * config/xtensa/uclinux.opt: New file. - -libgcc/ - * config.host (xtensa*-*-uclinux*): New configuration. - -Signed-off-by: Max Filippov ---- -Backported from: r228450 - - gcc/config.gcc | 5 +++ - gcc/config/xtensa/uclinux.h | 69 ++++++++++++++++++++++++++++++++++++++++++ - gcc/config/xtensa/uclinux.opt | 32 +++++++++++++++++++ - libgcc/config.host | 5 +++ - 4 files changed, 111 insertions(+) - create mode 100644 gcc/config/xtensa/uclinux.h - create mode 100644 gcc/config/xtensa/uclinux.opt - ---- a/gcc/config.gcc -+++ b/gcc/config.gcc -@@ -2976,6 +2976,11 @@ - tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/linux.h" - tmake_file="${tmake_file} xtensa/t-xtensa" - ;; -+xtensa*-*-uclinux*) -+ tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/uclinux.h" -+ tmake_file="${tmake_file} xtensa/t-xtensa" -+ extra_options="${extra_options} xtensa/uclinux.opt" -+ ;; - am33_2.0-*-linux*) - tm_file="mn10300/mn10300.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h mn10300/linux.h" - gas=yes gnu_ld=yes ---- /dev/null -+++ b/gcc/config/xtensa/uclinux.h -@@ -0,0 +1,69 @@ -+/* Xtensa uClinux configuration. -+ Derived from the configuration for GCC for Intel i386 running Linux. -+ Copyright (C) 2001-2015 Free Software Foundation, Inc. -+ -+This file is part of GCC. -+ -+GCC is free software; you can redistribute it and/or modify it under -+the terms of the GNU General Public License as published by the Free -+Software Foundation; either version 3, or (at your option) any later -+version. -+ -+GCC is distributed in the hope that it will be useful, but WITHOUT ANY -+WARRANTY; without even the implied warranty of MERCHANTABILITY or -+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -+for more details. -+ -+You should have received a copy of the GNU General Public License -+along with GCC; see the file COPYING3. If not see -+. */ -+ -+#undef TARGET_OS_CPP_BUILTINS -+#define TARGET_OS_CPP_BUILTINS() \ -+ do \ -+ { \ -+ GNU_USER_TARGET_OS_CPP_BUILTINS (); \ -+ builtin_define ("__uClinux__"); \ -+ } \ -+ while (0) -+ -+#undef SUBTARGET_CPP_SPEC -+#define SUBTARGET_CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}" -+ -+#undef SIZE_TYPE -+#define SIZE_TYPE "unsigned int" -+ -+#undef PTRDIFF_TYPE -+#define PTRDIFF_TYPE "int" -+ -+#undef WCHAR_TYPE -+#define WCHAR_TYPE "long int" -+ -+#undef WCHAR_TYPE_SIZE -+#define WCHAR_TYPE_SIZE 32 -+ -+#undef ASM_SPEC -+#define ASM_SPEC \ -+ "%{mtext-section-literals:--text-section-literals} \ -+ %{mno-text-section-literals:--no-text-section-literals} \ -+ %{mtarget-align:--target-align} \ -+ %{mno-target-align:--no-target-align} \ -+ %{mlongcalls:--longcalls} \ -+ %{mno-longcalls:--no-longcalls} \ -+ %{mauto-litpools:--auto-litpools} \ -+ %{mno-auto-litpools:--no-auto-litpools}" -+ -+#undef LINK_SPEC -+#define LINK_SPEC "%{!no-elf2flt:%{!elf2flt*:-elf2flt}}" -+ -+#undef LOCAL_LABEL_PREFIX -+#define LOCAL_LABEL_PREFIX "." -+ -+/* Always enable "-fpic" for Xtensa Linux. */ -+#define XTENSA_ALWAYS_PIC 1 -+ -+#undef TARGET_LIBC_HAS_FUNCTION -+#define TARGET_LIBC_HAS_FUNCTION no_c99_libc_has_function -+ -+#undef DBX_REGISTER_NUMBER -+ ---- /dev/null -+++ b/gcc/config/xtensa/uclinux.opt -@@ -0,0 +1,32 @@ -+; Xtensa uClinux options. -+ -+; Copyright (C) 2015 Free Software Foundation, Inc. -+; -+; This file is part of GCC. -+; -+; GCC is free software; you can redistribute it and/or modify it under -+; the terms of the GNU General Public License as published by the Free -+; Software Foundation; either version 3, or (at your option) any later -+; version. -+; -+; GCC is distributed in the hope that it will be useful, but WITHOUT ANY -+; WARRANTY; without even the implied warranty of MERCHANTABILITY or -+; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -+; for more details. -+; -+; You should have received a copy of the GNU General Public License -+; along with GCC; see the file COPYING3. If not see -+; . -+ -+; See the GCC internals manual (options.texi) for a description of -+; this file's format. -+ -+; Please try to keep this file in ASCII collating order. -+ -+elf2flt -+Driver -+ -+elf2flt= -+Driver JoinedOrMissing -+ -+; This comment is to ensure we retain the blank line above. ---- a/libgcc/config.host -+++ b/libgcc/config.host -@@ -1289,6 +1289,11 @@ - tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux t-slibgcc-libgcc" - md_unwind_header=xtensa/linux-unwind.h - ;; -+xtensa*-*-uclinux*) -+ tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux t-slibgcc-libgcc" -+ md_unwind_header=xtensa/linux-unwind.h -+ extra_parts="$extra_parts crtbeginS.o crtbeginT.o crtendS.o" -+ ;; - am33_2.0-*-linux*) - # Don't need crtbeginT.o from *-*-linux* default. - extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o" diff --git a/packages/gcc-linaro/5.4-2017.05/0019-xtensa-fix-xtensa_fallback_frame_state-for-call0-ABI.patch b/packages/gcc-linaro/5.4-2017.05/0019-xtensa-fix-xtensa_fallback_frame_state-for-call0-ABI.patch deleted file mode 100644 index 2b46a29..0000000 --- a/packages/gcc-linaro/5.4-2017.05/0019-xtensa-fix-xtensa_fallback_frame_state-for-call0-ABI.patch +++ /dev/null @@ -1,101 +0,0 @@ -From 7d3692c6933f7ff87bf110dede8e33e922b164c6 Mon Sep 17 00:00:00 2001 -From: jcmvbkbc -Date: Tue, 15 Sep 2015 19:30:32 +0000 -Subject: [PATCH] xtensa: fix xtensa_fallback_frame_state for call0 ABI - -2015-09-15 Max Filippov -gcc/ - * config/xtensa/xtensa.h (DWARF_ALT_FRAME_RETURN_COLUMN): New - definition. - (DWARF_FRAME_REGISTERS): Reserve space for one extra register in - call0 ABI. - -libgcc/ - * config/xtensa/linux-unwind.h (xtensa_fallback_frame_state): - Add support for call0 ABI. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227809 138bc75d-0d04-0410-961f-82ee72b054a4 - -Signed-off-by: Max Filippov ---- - gcc/config/xtensa/xtensa.h | 4 +++- - libgcc/config/xtensa/linux-unwind.h | 30 ++++++++++++++++++++++++++++-- - 2 files changed, 31 insertions(+), 3 deletions(-) - ---- a/gcc/config/xtensa/xtensa.h -+++ b/gcc/config/xtensa/xtensa.h -@@ -813,7 +813,9 @@ - for debugging. */ - #define INCOMING_RETURN_ADDR_RTX gen_rtx_REG (Pmode, 0) - #define DWARF_FRAME_RETURN_COLUMN DWARF_FRAME_REGNUM (0) --#define DWARF_FRAME_REGISTERS 16 -+#define DWARF_ALT_FRAME_RETURN_COLUMN 16 -+#define DWARF_FRAME_REGISTERS (DWARF_ALT_FRAME_RETURN_COLUMN \ -+ + (TARGET_WINDOWED_ABI ? 0 : 1)) - #define EH_RETURN_DATA_REGNO(N) ((N) < 2 ? (N) + 2 : INVALID_REGNUM) - #define ASM_PREFERRED_EH_DATA_FORMAT(CODE, GLOBAL) \ - (flag_pic \ ---- a/libgcc/config/xtensa/linux-unwind.h -+++ b/libgcc/config/xtensa/linux-unwind.h -@@ -52,7 +52,6 @@ - #define ENTRY_BYTE 0x36 - #endif - --#ifdef __XTENSA_WINDOWED_ABI__ - #define MD_FALLBACK_FRAME_STATE_FOR xtensa_fallback_frame_state - - static _Unwind_Reason_Code -@@ -61,6 +60,10 @@ - { - unsigned char *pc = context->ra; - struct sigcontext *sc; -+#if defined(__XTENSA_CALL0_ABI__) -+ _Unwind_Ptr new_cfa; -+ int i; -+#endif - - struct rt_sigframe { - siginfo_t info; -@@ -76,6 +79,7 @@ - || pc[5] != SYSC_BYTE2) - return _URC_END_OF_STACK; - -+#if defined(__XTENSA_WINDOWED_ABI__) - rt_ = context->sp; - sc = &rt_->uc.uc_mcontext; - fs->signal_regs = (_Unwind_Word *) sc->sc_a; -@@ -90,11 +94,33 @@ - } - else - fs->signal_ra = sc->sc_pc; -+#elif defined(__XTENSA_CALL0_ABI__) -+ rt_ = context->cfa; -+ sc = &rt_->uc.uc_mcontext; -+ -+ new_cfa = (_Unwind_Ptr) sc; -+ fs->regs.cfa_how = CFA_REG_OFFSET; -+ fs->regs.cfa_reg = __LIBGCC_STACK_POINTER_REGNUM__; -+ fs->regs.cfa_offset = new_cfa - (_Unwind_Ptr) context->cfa; -+ -+ for (i = 0; i < 16; i++) -+ { -+ fs->regs.reg[i].how = REG_SAVED_OFFSET; -+ fs->regs.reg[i].loc.offset = (_Unwind_Ptr) &(sc->sc_a[i]) - new_cfa; -+ } -+ -+ fs->regs.reg[__LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__].how = -+ REG_SAVED_VAL_OFFSET; -+ fs->regs.reg[__LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__].loc.offset = -+ (_Unwind_Ptr) (sc->sc_pc) - new_cfa; -+ fs->retaddr_column = __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__; -+#else -+#error Unsupported Xtensa ABI -+#endif - - fs->signal_frame = 1; - return _URC_NO_REASON; - } - --#endif /* __XTENSA_WINDOWED_ABI__ */ - - #endif /* ifdef inhibit_libc */ diff --git a/packages/gcc-linaro/5.4-2017.05/0020-xtensa-fix-libgcc-build-with-text-section-literals.patch b/packages/gcc-linaro/5.4-2017.05/0020-xtensa-fix-libgcc-build-with-text-section-literals.patch deleted file mode 100644 index 6ccede3..0000000 --- a/packages/gcc-linaro/5.4-2017.05/0020-xtensa-fix-libgcc-build-with-text-section-literals.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 44fbad9f8bed55f690f251b530ab38df1e696d95 Mon Sep 17 00:00:00 2001 -From: jcmvbkbc -Date: Wed, 17 Feb 2016 20:21:48 +0000 -Subject: [PATCH] xtensa: fix libgcc build with --text-section-literals - -Functions __muldf3_aux, __divdf3_aux, __mulsf3_aux and __divsf3_aux -don't start with leaf_entry, so they need explicit .literal_position, -otherwise libgcc build fails in the presence of --text-section-literals. - -2016-02-17 Max Filippov -libgcc/ - * config/xtensa/ieee754-df.S (__muldf3_aux, __divdf3_aux): Add - .literal_position before the function. - * config/xtensa/ieee754-sf.S (__mulsf3_aux, __divsf3_aux): - Likewise. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233505 138bc75d-0d04-0410-961f-82ee72b054a4 - -Signed-off-by: Max Filippov ---- - libgcc/config/xtensa/ieee754-df.S | 2 ++ - libgcc/config/xtensa/ieee754-sf.S | 2 ++ - 2 files changed, 4 insertions(+) - ---- a/libgcc/config/xtensa/ieee754-df.S -+++ b/libgcc/config/xtensa/ieee754-df.S -@@ -606,6 +606,7 @@ - #define XCHAL_NO_MUL 1 - #endif - -+ .literal_position - __muldf3_aux: - - /* Handle unusual cases (zeros, subnormals, NaNs and Infinities). -@@ -1216,6 +1217,7 @@ - - #ifdef L_divdf3 - -+ .literal_position - /* Division */ - __divdf3_aux: - ---- a/libgcc/config/xtensa/ieee754-sf.S -+++ b/libgcc/config/xtensa/ieee754-sf.S -@@ -487,6 +487,7 @@ - #define XCHAL_NO_MUL 1 - #endif - -+ .literal_position - __mulsf3_aux: - - /* Handle unusual cases (zeros, subnormals, NaNs and Infinities). -@@ -884,6 +885,7 @@ - - #ifdef L_divsf3 - -+ .literal_position - /* Division */ - __divsf3_aux: - diff --git a/packages/gcc-linaro/5.4-2017.05/0021-xtensa-don-t-use-unwind-dw2-fde-dip-with-elf-targets.patch b/packages/gcc-linaro/5.4-2017.05/0021-xtensa-don-t-use-unwind-dw2-fde-dip-with-elf-targets.patch deleted file mode 100644 index 9792779..0000000 --- a/packages/gcc-linaro/5.4-2017.05/0021-xtensa-don-t-use-unwind-dw2-fde-dip-with-elf-targets.patch +++ /dev/null @@ -1,53 +0,0 @@ -From d28554ee61a1ab1263274d66386e4051bca0ce05 Mon Sep 17 00:00:00 2001 -From: jcmvbkbc -Date: Tue, 18 Oct 2016 19:12:19 +0000 -Subject: [PATCH] xtensa: don't use unwind-dw2-fde-dip with elf targets - -Define LIB2ADDEH_XTENSA_UNWIND_DW2_FDE to unwind-dw2-fde.c in -xtensa/t-elf and to unwind-dw2-fde-dip.c in xtensa/t-linux and use -LIB2ADDEH_XTENSA_UNWIND_DW2_FDE in LIB2ADDEH definition. - -This fixes build for elf target with windowed xtensa core that currently -breaks with the following error message: - - unwind-dw2-fde-dip.c:36:40: fatal error: elf.h: No such file or directory - -2016-10-18 Max Filippov -libgcc/ - * config/xtensa/t-elf (LIB2ADDEH_XTENSA_UNWIND_DW2_FDE): New - definition. - * config/xtensa/t-linux (LIB2ADDEH_XTENSA_UNWIND_DW2_FDE): New - definition. - * config/xtensa/t-windowed (LIB2ADDEH): Use - LIB2ADDEH_XTENSA_UNWIND_DW2_FDE defined by either xtensa/t-elf - or xtensa/t-linux. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@241313 138bc75d-0d04-0410-961f-82ee72b054a4 - -Signed-off-by: Max Filippov ---- - libgcc/config/xtensa/t-elf | 2 ++ - libgcc/config/xtensa/t-linux | 2 ++ - libgcc/config/xtensa/t-windowed | 2 +- - 3 files changed, 5 insertions(+), 1 deletion(-) - ---- a/libgcc/config/xtensa/t-elf -+++ b/libgcc/config/xtensa/t-elf -@@ -3,3 +3,5 @@ - CRTSTUFF_T_CFLAGS_S += -mlongcalls - - HOST_LIBGCC2_CFLAGS += -mlongcalls -+ -+LIB2ADDEH_XTENSA_UNWIND_DW2_FDE = $(srcdir)/unwind-dw2-fde.c ---- a/libgcc/config/xtensa/t-linux -+++ b/libgcc/config/xtensa/t-linux -@@ -1 +1,3 @@ - SHLIB_MAPFILES += $(srcdir)/config/xtensa/libgcc-glibc.ver -+ -+LIB2ADDEH_XTENSA_UNWIND_DW2_FDE = $(srcdir)/unwind-dw2-fde-dip.c ---- a/libgcc/config/xtensa/t-windowed -+++ b/libgcc/config/xtensa/t-windowed -@@ -1,2 +1,2 @@ - LIB2ADDEH = $(srcdir)/config/xtensa/unwind-dw2-xtensa.c \ -- $(srcdir)/unwind-dw2-fde-dip.c $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c -+ $(LIB2ADDEH_XTENSA_UNWIND_DW2_FDE) $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c diff --git a/packages/gcc-linaro/5.4-2017.05/0022-xtensa-Fix-PR-target-78603.patch b/packages/gcc-linaro/5.4-2017.05/0022-xtensa-Fix-PR-target-78603.patch deleted file mode 100644 index cd840f8..0000000 --- a/packages/gcc-linaro/5.4-2017.05/0022-xtensa-Fix-PR-target-78603.patch +++ /dev/null @@ -1,30 +0,0 @@ -From b18fe564ed233ee0965b3a980edc5dbe069b80ea Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Tue, 29 Nov 2016 13:09:17 -0800 -Subject: [PATCH] xtensa: Fix PR target/78603 - -2016-11-29 Max Filippov -gcc/ - * config/xtensa/xtensa.c (hwloop_optimize): Don't emit zero - overhead loop start between a call and its CALL_ARG_LOCATION - note. - -Signed-off-by: Max Filippov ---- - gcc/config/xtensa/xtensa.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - ---- a/gcc/config/xtensa/xtensa.c -+++ b/gcc/config/xtensa/xtensa.c -@@ -4182,7 +4182,10 @@ - entry_after = BB_END (entry_bb); - while (DEBUG_INSN_P (entry_after) - || (NOTE_P (entry_after) -- && NOTE_KIND (entry_after) != NOTE_INSN_BASIC_BLOCK)) -+ && NOTE_KIND (entry_after) != NOTE_INSN_BASIC_BLOCK -+ /* Make sure we don't split a call and its corresponding -+ CALL_ARG_LOCATION note. */ -+ && NOTE_KIND (entry_after) != NOTE_INSN_CALL_ARG_LOCATION)) - entry_after = PREV_INSN (entry_after); - - emit_insn_after (seq, entry_after); diff --git a/packages/gcc-linaro/5.4-2017.05/0023-gcc-xtensa-fix-fprintf-format-specifiers.patch b/packages/gcc-linaro/5.4-2017.05/0023-gcc-xtensa-fix-fprintf-format-specifiers.patch deleted file mode 100644 index a14b3cf..0000000 --- a/packages/gcc-linaro/5.4-2017.05/0023-gcc-xtensa-fix-fprintf-format-specifiers.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 1117c8be9e712f778739d751aa61038794437d7d Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Sun, 28 May 2017 19:56:56 -0700 -Subject: [PATCH] gcc: xtensa: fix fprintf format specifiers - -HOST_WIDE_INT may not be long as assumed in print_operand and -xtensa_emit_call. Use HOST_WIDE_INT_PRINT_DEC/HOST_WIDE_INT_PRINT_HEX -format strings instead of %ld/0x%lx. This fixes incorrect assembly code -generation by the compiler running on armhf host. - -2017-05-28 Max Filippov -gcc/ - * config/xtensa/xtensa.c (xtensa_emit_call): Use - HOST_WIDE_INT_PRINT_HEX instead of 0x%lx format string. - (print_operand): Use HOST_WIDE_INT_PRINT_DEC instead of %ld - format string. - -Signed-off-by: Max Filippov ---- - gcc/config/xtensa/xtensa.c | 11 ++++++----- - 1 file changed, 6 insertions(+), 5 deletions(-) - ---- a/gcc/config/xtensa/xtensa.c -+++ b/gcc/config/xtensa/xtensa.c -@@ -1811,7 +1811,8 @@ - rtx tgt = operands[callop]; - - if (GET_CODE (tgt) == CONST_INT) -- sprintf (result, "call%d\t0x%lx", WINDOW_SIZE, INTVAL (tgt)); -+ sprintf (result, "call%d\t" HOST_WIDE_INT_PRINT_HEX, -+ WINDOW_SIZE, INTVAL (tgt)); - else if (register_operand (tgt, VOIDmode)) - sprintf (result, "callx%d\t%%%d", WINDOW_SIZE, callop); - else -@@ -2382,14 +2383,14 @@ - - case 'L': - if (GET_CODE (x) == CONST_INT) -- fprintf (file, "%ld", (32 - INTVAL (x)) & 0x1f); -+ fprintf (file, HOST_WIDE_INT_PRINT_DEC, (32 - INTVAL (x)) & 0x1f); - else - output_operand_lossage ("invalid %%L value"); - break; - - case 'R': - if (GET_CODE (x) == CONST_INT) -- fprintf (file, "%ld", INTVAL (x) & 0x1f); -+ fprintf (file, HOST_WIDE_INT_PRINT_DEC, INTVAL (x) & 0x1f); - else - output_operand_lossage ("invalid %%R value"); - break; -@@ -2403,7 +2404,7 @@ - - case 'd': - if (GET_CODE (x) == CONST_INT) -- fprintf (file, "%ld", INTVAL (x)); -+ fprintf (file, HOST_WIDE_INT_PRINT_DEC, INTVAL (x)); - else - output_operand_lossage ("invalid %%d value"); - break; -@@ -2472,7 +2473,7 @@ - else if (GET_CODE (x) == MEM) - output_address (XEXP (x, 0)); - else if (GET_CODE (x) == CONST_INT) -- fprintf (file, "%ld", INTVAL (x)); -+ fprintf (file, HOST_WIDE_INT_PRINT_DEC, INTVAL (x)); - else - output_addr_const (file, x); - } diff --git a/packages/gcc-linaro/5.4-2017.05/0024-xtensa-fix-PR-target-82181.patch b/packages/gcc-linaro/5.4-2017.05/0024-xtensa-fix-PR-target-82181.patch deleted file mode 100644 index 0717f35..0000000 --- a/packages/gcc-linaro/5.4-2017.05/0024-xtensa-fix-PR-target-82181.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 82314225ca735a726d9e14dd69354814240419e1 Mon Sep 17 00:00:00 2001 -From: jcmvbkbc -Date: Mon, 11 Sep 2017 21:53:38 +0000 -Subject: [PATCH] xtensa: fix PR target/82181 - -2017-09-11 Max Filippov -gcc/ - Backport from mainline - * config/xtensa/xtensa.c (xtensa_mem_offset): Check that both - words of DImode object are reachable by xtensa_uimm8x4 access. - -Signed-off-by: Max Filippov ---- - gcc/config/xtensa/xtensa.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/gcc/config/xtensa/xtensa.c -+++ b/gcc/config/xtensa/xtensa.c -@@ -637,6 +637,7 @@ - case HImode: - return xtensa_uimm8x2 (v); - -+ case DImode: - case DFmode: - return (xtensa_uimm8x4 (v) && xtensa_uimm8x4 (v + 4)); - diff --git a/packages/gcc-linaro/5.4-2017.05/0025-fix-m68k-compile.patch b/packages/gcc-linaro/5.4-2017.05/0025-fix-m68k-compile.patch deleted file mode 100644 index 9437f25..0000000 --- a/packages/gcc-linaro/5.4-2017.05/0025-fix-m68k-compile.patch +++ /dev/null @@ -1,18 +0,0 @@ -remove unused header, which breaks the toolchain building - -Signed-off-by: Waldemar Brodkorb - ---- - libgcc/config/m68k/linux-atomic.c | 1 - - 1 file changed, 1 deletion(-) - ---- a/libgcc/config/m68k/linux-atomic.c -+++ b/libgcc/config/m68k/linux-atomic.c -@@ -33,7 +33,6 @@ - using the kernel helper defined below. There is no support for - 64-bit operations yet. */ - --#include - #include - - #ifndef __NR_atomic_cmpxchg_32 diff --git a/packages/gcc-linaro/5.4-2017.05/0026-fix-m68k-uclinux.patch b/packages/gcc-linaro/5.4-2017.05/0026-fix-m68k-uclinux.patch deleted file mode 100644 index 8a6309e..0000000 --- a/packages/gcc-linaro/5.4-2017.05/0026-fix-m68k-uclinux.patch +++ /dev/null @@ -1,21 +0,0 @@ -avoids internal compiler error while compiling linux-atomic.c -See here: -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53833 - -Signed-off-by: Waldemar Brodkorb - ---- - libgcc/config.host | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/libgcc/config.host -+++ b/libgcc/config.host -@@ -808,7 +808,7 @@ - m68k*-*-openbsd*) - ;; - m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux with uClibc -- tmake_file="$tmake_file m68k/t-floatlib m68k/t-linux" -+ tmake_file="$tmake_file m68k/t-floatlib" - md_unwind_header=m68k/linux-unwind.h - ;; - m68k-*-linux*) # Motorola m68k's running GNU/Linux diff --git a/packages/gcc-linaro/5.4-2017.05/0027-microblaze-uclibc.patch b/packages/gcc-linaro/5.4-2017.05/0027-microblaze-uclibc.patch deleted file mode 100644 index 91d0aa4..0000000 --- a/packages/gcc-linaro/5.4-2017.05/0027-microblaze-uclibc.patch +++ /dev/null @@ -1,27 +0,0 @@ -Add dynamic linker support for uClibc - -Signed-off-by: Waldemar Brodkorb - ---- - gcc/config/microblaze/linux.h | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - ---- a/gcc/config/microblaze/linux.h -+++ b/gcc/config/microblaze/linux.h -@@ -28,7 +28,15 @@ - #undef TLS_NEEDS_GOT - #define TLS_NEEDS_GOT 1 - --#define DYNAMIC_LINKER "/lib/ld.so.1" -+#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1" -+#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0" -+ -+#if DEFAULT_LIBC == LIBC_UCLIBC -+#define DYNAMIC_LINKER UCLIBC_DYNAMIC_LINKER -+#else -+#define DYNAMIC_LINKER GLIBC_DYNAMIC_LINKER -+#endif -+ - #undef SUBTARGET_EXTRA_SPECS - #define SUBTARGET_EXTRA_SPECS \ - { "dynamic_linker", DYNAMIC_LINKER } diff --git a/packages/gcc-linaro/5.4-2017.05/0028-unwind-fix-for-musl.patch b/packages/gcc-linaro/5.4-2017.05/0028-unwind-fix-for-musl.patch deleted file mode 100644 index d6c63a0..0000000 --- a/packages/gcc-linaro/5.4-2017.05/0028-unwind-fix-for-musl.patch +++ /dev/null @@ -1,38 +0,0 @@ -From: ktkachov -Date: Wed, 22 Apr 2015 14:20:01 +0000 (+0000) -Subject: unwind fix for musl -X-Git-Url: https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff_plain;h=a2e31d0681d8a47389b8a3552622fbd9827bcef4 - -unwind fix for musl - -On behalf of szabolcs.nagy@arm.com - -2015-04-22 Gregor Richards - Szabolcs Nagy - - * unwind-dw2-fde-dip.c (USE_PT_GNU_EH_FRAME): Define it on - Linux if target provides dl_iterate_phdr. - - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222328 138bc75d-0d04-0410-961f-82ee72b054a4 ---- - ---- - libgcc/unwind-dw2-fde-dip.c | 6 ++++++ - 1 file changed, 6 insertions(+) - ---- a/libgcc/unwind-dw2-fde-dip.c -+++ b/libgcc/unwind-dw2-fde-dip.c -@@ -65,6 +65,12 @@ - - #if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \ - && defined(TARGET_DL_ITERATE_PHDR) \ -+ && defined(__linux__) -+# define USE_PT_GNU_EH_FRAME -+#endif -+ -+#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \ -+ && defined(TARGET_DL_ITERATE_PHDR) \ - && (defined(__DragonFly__) || defined(__FreeBSD__)) - # define ElfW __ElfN - # define USE_PT_GNU_EH_FRAME diff --git a/packages/gcc-linaro/5.4-2017.05/0029-nios2-bad-multilib-default.patch b/packages/gcc-linaro/5.4-2017.05/0029-nios2-bad-multilib-default.patch deleted file mode 100644 index 5dfe211..0000000 --- a/packages/gcc-linaro/5.4-2017.05/0029-nios2-bad-multilib-default.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- - gcc/config/nios2/nios2.h | 4 ++-- - gcc/config/nios2/t-nios2 | 3 +-- - 2 files changed, 3 insertions(+), 4 deletions(-) - ---- a/gcc/config/nios2/nios2.h -+++ b/gcc/config/nios2/nios2.h -@@ -55,11 +55,11 @@ - #if TARGET_ENDIAN_DEFAULT == 0 - # define ASM_SPEC "%{!meb:-EL} %{meb:-EB}" - # define LINK_SPEC_ENDIAN "%{!meb:-EL} %{meb:-EB}" --# define MULTILIB_DEFAULTS { "EL" } -+# define MULTILIB_DEFAULTS { "mel" } - #else - # define ASM_SPEC "%{!mel:-EB} %{mel:-EL}" - # define LINK_SPEC_ENDIAN "%{!mel:-EB} %{mel:-EL}" --# define MULTILIB_DEFAULTS { "EB" } -+# define MULTILIB_DEFAULTS { "meb" } - #endif - - #define LINK_SPEC LINK_SPEC_ENDIAN \ ---- a/gcc/config/nios2/t-nios2 -+++ b/gcc/config/nios2/t-nios2 -@@ -22,6 +22,5 @@ - # MULTILIB_DIRNAMES = nomul mulx fpu-60-1 fpu-60-2 - # MULTILIB_EXCEPTIONS = - --# MULTILIB_OPTIONS += EL/EB -+# MULTILIB_OPTIONS += mel/meb - # MULTILIB_DIRNAMES += le be --# MULTILIB_MATCHES += EL=mel EB=meb diff --git a/packages/gcc-linaro/5.4-2017.05/0030-libgcc-disable-split-stack-nothreads.patch b/packages/gcc-linaro/5.4-2017.05/0030-libgcc-disable-split-stack-nothreads.patch deleted file mode 100644 index df91a9f..0000000 --- a/packages/gcc-linaro/5.4-2017.05/0030-libgcc-disable-split-stack-nothreads.patch +++ /dev/null @@ -1,17 +0,0 @@ -disable split-stack for non-thread builds - -Signed-off-by: Waldemar Brodkorb - ---- - libgcc/config/t-stack | 2 ++ - 1 file changed, 2 insertions(+) - ---- a/libgcc/config/t-stack -+++ b/libgcc/config/t-stack -@@ -1,4 +1,6 @@ - # Makefile fragment to provide generic support for -fsplit-stack. - # This should be used in config.host for any host which supports - # -fsplit-stack. -+ifeq ($(enable_threads),yes) - LIB2ADD_ST += $(srcdir)/generic-morestack.c $(srcdir)/generic-morestack-thread.c -+endif diff --git a/packages/gcc-linaro/5.4-2017.05/0031-uclinux-enable-threads.patch b/packages/gcc-linaro/5.4-2017.05/0031-uclinux-enable-threads.patch deleted file mode 100644 index 0addac9..0000000 --- a/packages/gcc-linaro/5.4-2017.05/0031-uclinux-enable-threads.patch +++ /dev/null @@ -1,22 +0,0 @@ -Enable POSIX threads for uClinux targets -Reported upstream: -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71721 - -Signed-off-by: Waldemar Brodkorb - ---- - gcc/config.gcc | 3 +++ - 1 file changed, 3 insertions(+) - ---- a/gcc/config.gcc -+++ b/gcc/config.gcc -@@ -818,6 +818,9 @@ - *-*-uclinux*) - extra_options="$extra_options gnu-user.opt" - use_gcc_stdint=wrap -+ case ${enable_threads} in -+ "" | yes | posix) thread_file='posix' ;; -+ esac - tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC SINGLE_LIBC" - ;; - *-*-rdos*) diff --git a/packages/gcc-linaro/5.4-2017.05/chksum b/packages/gcc-linaro/5.4-2017.05/chksum deleted file mode 100644 index 56ef73c..0000000 --- a/packages/gcc-linaro/5.4-2017.05/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 gcc-linaro-5.4-2017.05.tar.xz 97baf4d63260b8e30ec2ec41057297d4 -sha1 gcc-linaro-5.4-2017.05.tar.xz 3376af91629331fc4c3344d5aa0301c124b964db -sha256 gcc-linaro-5.4-2017.05.tar.xz 94276fa9c437d282361fc1ab31038b49e5e7cb424152152ef5bedbc7d7fd2fd4 -sha512 gcc-linaro-5.4-2017.05.tar.xz 640c0beb12d475d8cdbdf6771b0d799eeabcd49a7c5223b005a2b3ae4f44aed0d605abd9bb181dbca58b6e801ba20749aae5722a140bdaefeedf837864b10a8e diff --git a/packages/gcc-linaro/5.4-2017.05/version.desc b/packages/gcc-linaro/5.4-2017.05/version.desc deleted file mode 100644 index e69de29..0000000 diff --git a/packages/gcc-linaro/5.5-2017.10/0000-libtool-leave-framework-alone.patch b/packages/gcc-linaro/5.5-2017.10/0000-libtool-leave-framework-alone.patch new file mode 100644 index 0000000..1a86e41 --- /dev/null +++ b/packages/gcc-linaro/5.5-2017.10/0000-libtool-leave-framework-alone.patch @@ -0,0 +1,18 @@ +--- + libtool-ldflags | 5 +++++ + 1 file changed, 5 insertions(+) + +--- a/libtool-ldflags ++++ b/libtool-ldflags +@@ -36,6 +36,11 @@ + for arg + do + case $arg in ++ -framework) ++ # libtool handles this option. It should not be prefixed with ++ # -Xcompiler, as that would split it from the argument that ++ # follows. ++ ;; + -f*|--*|-static-lib*|-shared-lib*|-B*) + # Libtool does not ascribe any special meaning options + # that begin with -f or with a double-dash. So, it will diff --git a/packages/gcc-linaro/5.5-2017.10/0001-uclibc-conf.patch b/packages/gcc-linaro/5.5-2017.10/0001-uclibc-conf.patch new file mode 100644 index 0000000..aef750a --- /dev/null +++ b/packages/gcc-linaro/5.5-2017.10/0001-uclibc-conf.patch @@ -0,0 +1,17 @@ +--- + contrib/regression/objs-gcc.sh | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/contrib/regression/objs-gcc.sh ++++ b/contrib/regression/objs-gcc.sh +@@ -106,6 +106,10 @@ + then + make all-gdb all-dejagnu all-ld || exit 1 + make install-gdb install-dejagnu install-ld || exit 1 ++elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ] ++ then ++ make all-gdb all-dejagnu all-ld || exit 1 ++ make install-gdb install-dejagnu install-ld || exit 1 + elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then + make bootstrap || exit 1 + make install || exit 1 diff --git a/packages/gcc-linaro/5.5-2017.10/0002-msp430-string-literals.patch b/packages/gcc-linaro/5.5-2017.10/0002-msp430-string-literals.patch new file mode 100644 index 0000000..24f421f --- /dev/null +++ b/packages/gcc-linaro/5.5-2017.10/0002-msp430-string-literals.patch @@ -0,0 +1,81 @@ +commit 9d247a3d78b97c004e7ca5e7d6cc9964dba870c7 +Author: jason +Date: Wed May 13 01:11:13 2015 +0000 + + gcc/ + * config/mmix/mmix.c, config/msp430/msp430.c: Add space between + string literal and macro name. + gcc/ada/ + * sigtramp-vxworks.c: Add space between string literal and macro + name. + + git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223106 138bc75d-0d04-0410-961f-82ee72b054a4 + +--- + gcc/ada/sigtramp-vxworks.c | 6 +++--- + gcc/config/mmix/mmix.c | 6 +++--- + gcc/config/msp430/msp430.c | 2 +- + 3 files changed, 7 insertions(+), 7 deletions(-) + +--- a/gcc/ada/sigtramp-vxworks.c ++++ b/gcc/ada/sigtramp-vxworks.c +@@ -342,16 +342,16 @@ + TCR("# Allocate frame and save the non-volatile") \ + TCR("# registers we're going to modify") \ + TCR("mov ip, sp") \ +-TCR("stmfd sp!, {r"S(CFA_REG)", fp, ip, lr, pc}") \ ++TCR("stmfd sp!, {r" S(CFA_REG)", fp, ip, lr, pc}") \ + TCR("# Setup CFA_REG = context, which we'll retrieve as our CFA value") \ +-TCR("ldr r"S(CFA_REG)", [ip]") \ ++TCR("ldr r" S(CFA_REG)", [ip]") \ + TCR("") \ + TCR("# Call the real handler. The signo, siginfo and sigcontext") \ + TCR("# arguments are the same as those we received in r0, r1 and r2") \ + TCR("sub fp, ip, #4") \ + TCR("blx r3") \ + TCR("# Restore our callee-saved items, release our frame and return") \ +-TCR("ldmfd sp, {r"S(CFA_REG)", fp, sp, pc}") ++TCR("ldmfd sp, {r" S(CFA_REG)", fp, sp, pc}") + + #else + Not_implemented; +--- a/gcc/config/mmix/mmix.c ++++ b/gcc/config/mmix/mmix.c +@@ -2521,7 +2521,7 @@ + if (! mmix_shiftable_wyde_value (value)) + { + char s[sizeof ("0xffffffffffffffff")]; +- sprintf (s, "%#"PRIx64, value); ++ sprintf (s, "%#" PRIx64, value); + internal_error ("MMIX Internal: %s is not a shiftable int", s); + } + +@@ -2563,7 +2563,7 @@ + fprintf (stream, "#" HOST_WIDE_INT_PRINT_HEX_PURE, + (HOST_WIDE_INT) value); + else /* Need to avoid the hex output; there's no ...WIDEST...HEX_PURE. */ +- fprintf (stream, "%"PRIu64, value); ++ fprintf (stream, "%" PRIu64, value); + + if (do_begin_end) + fprintf (stream, "\n"); +@@ -2580,7 +2580,7 @@ + if (! mmix_shiftable_wyde_value (value)) + { + char s[16+2+1]; +- sprintf (s, "%#"PRIx64, value); ++ sprintf (s, "%#" PRIx64, value); + internal_error ("MMIX Internal: %s is not a shiftable int", s); + } + +--- a/gcc/config/msp430/msp430.c ++++ b/gcc/config/msp430/msp430.c +@@ -1902,7 +1902,7 @@ + } + const_shift_helpers[] = + { +-#define CSH(N,C,X,G) { "__mspabi_"N, C, X, gen_##G } ++#define CSH(N,C,X,G) { "__mspabi_" N, C, X, gen_##G } + + CSH ("slli", 1, 1, slli_1), + CSH ("slll", 1, 1, slll_1), diff --git a/packages/gcc-linaro/5.5-2017.10/0003-xtensa-implement-trap-pattern.patch b/packages/gcc-linaro/5.5-2017.10/0003-xtensa-implement-trap-pattern.patch new file mode 100644 index 0000000..b25bbda --- /dev/null +++ b/packages/gcc-linaro/5.5-2017.10/0003-xtensa-implement-trap-pattern.patch @@ -0,0 +1,57 @@ +From d462e776df56a72f68545054f6d722bf447f0519 Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Mon, 8 Jun 2015 22:29:11 +0300 +Subject: [PATCH] xtensa: implement trap pattern + +gcc/ + * config/xtensa/xtensa.h (TARGET_DEBUG): New definition. + * config/xtensa/xtensa.md (define_attr "type"): New type "trap". + (define_insn "trap"): New definition. + +Signed-off-by: Max Filippov +--- + gcc/config/xtensa/xtensa.h | 1 + + gcc/config/xtensa/xtensa.md | 15 ++++++++++++++- + 2 files changed, 15 insertions(+), 1 deletion(-) + +--- a/gcc/config/xtensa/xtensa.h ++++ b/gcc/config/xtensa/xtensa.h +@@ -67,6 +67,7 @@ + #define TARGET_THREADPTR XCHAL_HAVE_THREADPTR + #define TARGET_LOOPS XCHAL_HAVE_LOOPS + #define TARGET_WINDOWED_ABI (XSHAL_ABI == XTHAL_ABI_WINDOWED) ++#define TARGET_DEBUG XCHAL_HAVE_DEBUG + + #define TARGET_DEFAULT \ + ((XCHAL_HAVE_L32R ? 0 : MASK_CONST16) | \ +--- a/gcc/config/xtensa/xtensa.md ++++ b/gcc/config/xtensa/xtensa.md +@@ -86,7 +86,7 @@ + ;; Attributes. + + (define_attr "type" +- "unknown,jump,call,load,store,move,arith,multi,nop,farith,fmadd,fconv,fload,fstore,mul16,mul32,div32,mac16,rsr,wsr,entry" ++ "unknown,jump,call,load,store,move,arith,multi,nop,farith,fmadd,fconv,fload,fstore,mul16,mul32,div32,mac16,rsr,wsr,entry,trap" + (const_string "unknown")) + + (define_attr "mode" +@@ -1764,6 +1764,19 @@ + [(set_attr "length" "0") + (set_attr "type" "nop")]) + ++(define_insn "trap" ++ [(trap_if (const_int 1) (const_int 0))] ++ "" ++{ ++ if (TARGET_DEBUG) ++ return "break\t1, 15"; ++ else ++ return (TARGET_DENSITY ? "ill.n" : "ill"); ++} ++ [(set_attr "type" "trap") ++ (set_attr "mode" "none") ++ (set_attr "length" "3")]) ++ + ;; Setting up a frame pointer is tricky for Xtensa because GCC doesn't + ;; know if a frame pointer is required until the reload pass, and + ;; because there may be an incoming argument value in the hard frame diff --git a/packages/gcc-linaro/5.5-2017.10/0004-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch b/packages/gcc-linaro/5.5-2017.10/0004-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch new file mode 100644 index 0000000..cf52950 --- /dev/null +++ b/packages/gcc-linaro/5.5-2017.10/0004-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch @@ -0,0 +1,24 @@ +From 9bf6066d588632dab9f78932df15b5b4140f31f3 Mon Sep 17 00:00:00 2001 +From: "Arnout Vandecappelle (Essensium/Mind)" +Date: Fri, 6 Nov 2015 14:27:23 +0100 +Subject: [PATCH] gcc/config.gcc: fix typo for powerpc e6500 cpu_is_64bit + +Otherwise it is not recognized as a 64-bit powerpc and gcc will not generate +64-bit binaries by default. + +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) +--- + gcc/config.gcc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/gcc/config.gcc ++++ b/gcc/config.gcc +@@ -435,7 +435,7 @@ + cpu_type=rs6000 + extra_headers="ppc-asm.h altivec.h spe.h ppu_intrinsics.h paired.h spu2vmx.h vec_types.h si2vmx.h htmintrin.h htmxlintrin.h" + case x$with_cpu in +- xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[345678]|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500|Xe6500) ++ xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[345678]|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500|xe6500) + cpu_is_64bit=yes + ;; + esac diff --git a/packages/gcc-linaro/5.5-2017.10/0005-missing-execinfo_h.patch b/packages/gcc-linaro/5.5-2017.10/0005-missing-execinfo_h.patch new file mode 100644 index 0000000..c90222a --- /dev/null +++ b/packages/gcc-linaro/5.5-2017.10/0005-missing-execinfo_h.patch @@ -0,0 +1,15 @@ +--- + boehm-gc/include/gc.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/boehm-gc/include/gc.h ++++ b/boehm-gc/include/gc.h +@@ -503,7 +503,7 @@ + #if defined(__linux__) || defined(__GLIBC__) + # include + # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \ +- && !defined(__ia64__) ++ && !defined(__ia64__) && !defined(__UCLIBC__) + # ifndef GC_HAVE_BUILTIN_BACKTRACE + # define GC_HAVE_BUILTIN_BACKTRACE + # endif diff --git a/packages/gcc-linaro/5.5-2017.10/0006-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch b/packages/gcc-linaro/5.5-2017.10/0006-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch new file mode 100644 index 0000000..74f6f3f --- /dev/null +++ b/packages/gcc-linaro/5.5-2017.10/0006-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch @@ -0,0 +1,163 @@ +--- + config/gcc-plugin.m4 | 18 +++++++++++++----- + gcc/configure | 22 +++++++++++++++------- + libcc1/configure | 22 +++++++++++++++------- + 3 files changed, 43 insertions(+), 19 deletions(-) + +--- a/config/gcc-plugin.m4 ++++ b/config/gcc-plugin.m4 +@@ -20,6 +20,9 @@ + + pluginlibs= + ++ PICFLAG="-fPIC" ++ UNDEFINEDPREAMBLE="extern int X;" ++ UNDEFINEDCODE="return X == 0;" + case "${host}" in + *-*-darwin*) + if test x$build = x$host; then +@@ -30,6 +33,11 @@ + export_sym_check= + fi + ;; ++ *-*-mingw*|*-*-cygwin*|*-*-msys*) ++ PICFLAG="" ++ UNDEFINEDPREAMBLE="" ++ UNDEFINEDCODE="" ++ ;; + *) + if test x$build = x$host; then + export_sym_check="objdump${exeext} -T" +@@ -81,17 +89,17 @@ + case "${host}" in + *-*-darwin*) + CFLAGS=`echo $CFLAGS | sed s/-mdynamic-no-pic//g` +- CFLAGS="$CFLAGS -fPIC" ++ CFLAGS="$CFLAGS ${PICFLAG}" + LDFLAGS="$LDFLAGS -shared -undefined dynamic_lookup" + ;; + *) +- CFLAGS="$CFLAGS -fPIC" +- LDFLAGS="$LDFLAGS -fPIC -shared" ++ CFLAGS="$CFLAGS ${PICFLAG}" ++ LDFLAGS="$LDFLAGS ${PICFLAG} -shared" + ;; + esac +- AC_MSG_CHECKING([for -fPIC -shared]) ++ AC_MSG_CHECKING([for ${PICFLAG} -shared]) + AC_TRY_LINK( +- [extern int X;],[return X == 0;], ++ [${UNDEFINEDPREAMBLE}],[${UNDEFINEDCODE}], + [AC_MSG_RESULT([yes]); have_pic_shared=yes], + [AC_MSG_RESULT([no]); have_pic_shared=no]) + if test x"$have_pic_shared" != x"yes" -o x"$ac_cv_search_dlopen" = x"no"; then +--- a/gcc/configure ++++ b/gcc/configure +@@ -28465,6 +28465,9 @@ + + pluginlibs= + ++ PICFLAG="-fPIC" ++ UNDEFINEDPREAMBLE="extern int X;" ++ UNDEFINEDCODE="return X == 0;" + case "${host}" in + *-*-darwin*) + if test x$build = x$host; then +@@ -28475,6 +28478,11 @@ + export_sym_check= + fi + ;; ++ *-*-mingw*|*-*-cygwin*|*-*-msys*) ++ PICFLAG="" ++ UNDEFINEDPREAMBLE="" ++ UNDEFINEDCODE="" ++ ;; + *) + if test x$build = x$host; then + export_sym_check="objdump${exeext} -T" +@@ -28587,23 +28595,23 @@ + case "${host}" in + *-*-darwin*) + CFLAGS=`echo $CFLAGS | sed s/-mdynamic-no-pic//g` +- CFLAGS="$CFLAGS -fPIC" ++ CFLAGS="$CFLAGS ${PICFLAG}" + LDFLAGS="$LDFLAGS -shared -undefined dynamic_lookup" + ;; + *) +- CFLAGS="$CFLAGS -fPIC" +- LDFLAGS="$LDFLAGS -fPIC -shared" ++ CFLAGS="$CFLAGS ${PICFLAG}" ++ LDFLAGS="$LDFLAGS ${PICFLAG} -shared" + ;; + esac +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -fPIC -shared" >&5 +-$as_echo_n "checking for -fPIC -shared... " >&6; } ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${PICFLAG} -shared" >&5 ++$as_echo_n "checking for ${PICFLAG} -shared... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ +-extern int X; ++${UNDEFINEDPREAMBLE} + int + main () + { +-return X == 0; ++${UNDEFINEDCODE} + ; + return 0; + } +--- a/libcc1/configure ++++ b/libcc1/configure +@@ -14500,6 +14500,9 @@ + + pluginlibs= + ++ PICFLAG="-fPIC" ++ UNDEFINEDPREAMBLE="extern int X;" ++ UNDEFINEDCODE="return X == 0;" + case "${host}" in + *-*-darwin*) + if test x$build = x$host; then +@@ -14510,6 +14513,11 @@ + export_sym_check= + fi + ;; ++ *-*-mingw*|*-*-cygwin*|*-*-msys*) ++ PICFLAG="" ++ UNDEFINEDPREAMBLE="" ++ UNDEFINEDCODE="" ++ ;; + *) + if test x$build = x$host; then + export_sym_check="objdump${exeext} -T" +@@ -14622,23 +14630,23 @@ + case "${host}" in + *-*-darwin*) + CFLAGS=`echo $CFLAGS | sed s/-mdynamic-no-pic//g` +- CFLAGS="$CFLAGS -fPIC" ++ CFLAGS="$CFLAGS ${PICFLAG}" + LDFLAGS="$LDFLAGS -shared -undefined dynamic_lookup" + ;; + *) +- CFLAGS="$CFLAGS -fPIC" +- LDFLAGS="$LDFLAGS -fPIC -shared" ++ CFLAGS="$CFLAGS ${PICFLAG}" ++ LDFLAGS="$LDFLAGS ${PICFLAG} -shared" + ;; + esac +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -fPIC -shared" >&5 +-$as_echo_n "checking for -fPIC -shared... " >&6; } ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${PICFLAG} -shared" >&5 ++$as_echo_n "checking for ${PICFLAG} -shared... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ +-extern int X; ++${UNDEFINEDPREAMBLE} + int + main () + { +-return X == 0; ++${UNDEFINEDCODE} + ; + return 0; + } diff --git a/packages/gcc-linaro/5.5-2017.10/0007-gcc-plugin-POSIX-include-sys-select-h.patch b/packages/gcc-linaro/5.5-2017.10/0007-gcc-plugin-POSIX-include-sys-select-h.patch new file mode 100644 index 0000000..5f9a07a --- /dev/null +++ b/packages/gcc-linaro/5.5-2017.10/0007-gcc-plugin-POSIX-include-sys-select-h.patch @@ -0,0 +1,14 @@ +--- + libcc1/connection.cc | 1 + + 1 file changed, 1 insertion(+) + +--- a/libcc1/connection.cc ++++ b/libcc1/connection.cc +@@ -21,6 +21,7 @@ + #include + #include + #include ++#include + #include + #include + #include "marshall.hh" diff --git a/packages/gcc-linaro/5.5-2017.10/0008-arm-softfloat-libgcc.patch b/packages/gcc-linaro/5.5-2017.10/0008-arm-softfloat-libgcc.patch new file mode 100644 index 0000000..350857d --- /dev/null +++ b/packages/gcc-linaro/5.5-2017.10/0008-arm-softfloat-libgcc.patch @@ -0,0 +1,31 @@ +--- + gcc/config/arm/linux-elf.h | 2 +- + libgcc/config/arm/t-linux | 7 ++++++- + 2 files changed, 7 insertions(+), 2 deletions(-) + +--- a/gcc/config/arm/linux-elf.h ++++ b/gcc/config/arm/linux-elf.h +@@ -60,7 +60,7 @@ + %{shared:-lc} \ + %{!shared:%{profile:-lc_p}%{!profile:-lc}}" + +-#define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc" ++#define LIBGCC_SPEC "-lgcc" + + #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" + +--- a/libgcc/config/arm/t-linux ++++ b/libgcc/config/arm/t-linux +@@ -1,6 +1,11 @@ + LIB1ASMSRC = arm/lib1funcs.S + LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \ +- _ctzsi2 _arm_addsubdf3 _arm_addsubsf3 ++ _ctzsi2 _arm_addsubdf3 _arm_addsubsf3 \ ++ _arm_addsubdf3 _arm_addsubsf3 \ ++ _arm_negdf2 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 \ ++ _arm_fixdfsi _arm_fixunsdfsi _arm_truncdfsf2 \ ++ _arm_negsf2 _arm_muldivsf3 _arm_cmpsf2 _arm_unordsf2 \ ++ _arm_fixsfsi _arm_fixunssfsi + + # Just for these, we omit the frame pointer since it makes such a big + # difference. diff --git a/packages/gcc-linaro/5.5-2017.10/0009-arm_unbreak_armv4t.patch b/packages/gcc-linaro/5.5-2017.10/0009-arm_unbreak_armv4t.patch new file mode 100644 index 0000000..7c37445 --- /dev/null +++ b/packages/gcc-linaro/5.5-2017.10/0009-arm_unbreak_armv4t.patch @@ -0,0 +1,17 @@ +http://sourceware.org/ml/crossgcc/2008-05/msg00009.html + +--- + gcc/config/arm/linux-eabi.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/gcc/config/arm/linux-eabi.h ++++ b/gcc/config/arm/linux-eabi.h +@@ -45,7 +45,7 @@ + The ARM10TDMI core is the default for armv5t, so set + SUBTARGET_CPU_DEFAULT to achieve this. */ + #undef SUBTARGET_CPU_DEFAULT +-#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi ++#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi + + /* TARGET_BIG_ENDIAN_DEFAULT is set in + config.gcc for big endian configurations. */ diff --git a/packages/gcc-linaro/5.5-2017.10/0010-microblaze-enable-dwarf-eh-support.patch b/packages/gcc-linaro/5.5-2017.10/0010-microblaze-enable-dwarf-eh-support.patch new file mode 100644 index 0000000..67a322a --- /dev/null +++ b/packages/gcc-linaro/5.5-2017.10/0010-microblaze-enable-dwarf-eh-support.patch @@ -0,0 +1,156 @@ +Fetched from Xilinx gcc git at https://github.com/Xilinx/gcc + +From 23c35173490ac2d6348a668dfc9c1a6eb62171f2 Mon Sep 17 00:00:00 2001 +From: "Edgar E. Iglesias" +Date: Mon, 18 Jun 2012 20:18:13 +0200 +Subject: [PATCH] [Patch, microblaze]: Enable DWARF exception handling support. + +Changelog + +2013-03-18 Edgar E. Iglesias + David Holsgrove + + * common/config/microblaze/microblaze-common.c: Remove + TARGET_EXCEPT_UNWIND_INFO definition. + * config/microblaze/microblaze-protos.h: Add + microblaze_eh_return prototype. + * gcc/config/microblaze/microblaze.c: (microblaze_must_save_register, + microblaze_expand_epilogue, microblaze_return_addr): Handle + calls_eh_return + (microblaze_eh_return): New function. + * gcc/config/microblaze/microblaze.h: Define RETURN_ADDR_OFFSET, + EH_RETURN_DATA_REGNO, MB_EH_STACKADJ_REGNUM, EH_RETURN_STACKADJ_RTX, + ASM_PREFERRED_EH_DATA_FORMAT + * gcc/config/microblaze/microblaze.md: Define eh_return pattern. + +Signed-off-by: David Holsgrove +Signed-off-by: Edgar E. Iglesias +--- + gcc/common/config/microblaze/microblaze-common.c | 3 -- + gcc/config/microblaze/microblaze-protos.h | 1 + gcc/config/microblaze/microblaze.c | 29 +++++++++++++++++++---- + gcc/config/microblaze/microblaze.h | 15 +++++++++++ + gcc/config/microblaze/microblaze.md | 11 ++++++++ + 5 files changed, 52 insertions(+), 7 deletions(-) + +--- a/gcc/common/config/microblaze/microblaze-common.c ++++ b/gcc/common/config/microblaze/microblaze-common.c +@@ -37,7 +37,4 @@ + #undef TARGET_OPTION_OPTIMIZATION_TABLE + #define TARGET_OPTION_OPTIMIZATION_TABLE microblaze_option_optimization_table + +-#undef TARGET_EXCEPT_UNWIND_INFO +-#define TARGET_EXCEPT_UNWIND_INFO sjlj_except_unwind_info +- + struct gcc_targetm_common targetm_common = TARGETM_COMMON_INITIALIZER; +--- a/gcc/config/microblaze/microblaze-protos.h ++++ b/gcc/config/microblaze/microblaze-protos.h +@@ -56,6 +56,7 @@ + extern int symbol_mentioned_p (rtx); + extern int label_mentioned_p (rtx); + extern bool microblaze_cannot_force_const_mem (machine_mode, rtx); ++extern void microblaze_eh_return (rtx op0); + #endif /* RTX_CODE */ + + /* Declare functions in microblaze-c.c. */ +--- a/gcc/config/microblaze/microblaze.c ++++ b/gcc/config/microblaze/microblaze.c +@@ -1959,6 +1959,11 @@ + if (frame_pointer_needed && (regno == HARD_FRAME_POINTER_REGNUM)) + return 1; + ++ if (crtl->calls_eh_return ++ && regno == MB_ABI_SUB_RETURN_ADDR_REGNUM) { ++ return 1; ++ } ++ + if (!crtl->is_leaf) + { + if (regno == MB_ABI_SUB_RETURN_ADDR_REGNUM) +@@ -1986,6 +1991,13 @@ + return 1; + } + ++ if (crtl->calls_eh_return ++ && (regno == EH_RETURN_DATA_REGNO (0) ++ || regno == EH_RETURN_DATA_REGNO (1))) ++ { ++ return 1; ++ } ++ + return 0; + } + +@@ -3067,6 +3079,12 @@ + emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, fsiz_rtx)); + } + ++ if (crtl->calls_eh_return) ++ emit_insn (gen_addsi3 (stack_pointer_rtx, ++ stack_pointer_rtx, ++ gen_rtx_raw_REG (SImode, ++ MB_EH_STACKADJ_REGNUM))); ++ + emit_jump_insn (gen_return_internal (gen_rtx_REG (Pmode, GP_REG_FIRST + + MB_ABI_SUB_RETURN_ADDR_REGNUM))); + } +@@ -3364,10 +3382,13 @@ + if (count != 0) + return NULL_RTX; + +- return gen_rtx_PLUS (Pmode, +- get_hard_reg_initial_val (Pmode, +- MB_ABI_SUB_RETURN_ADDR_REGNUM), +- GEN_INT (8)); ++ return get_hard_reg_initial_val (Pmode, ++ MB_ABI_SUB_RETURN_ADDR_REGNUM); ++} ++ ++void microblaze_eh_return (rtx op0) ++{ ++ emit_insn (gen_movsi(gen_rtx_MEM(Pmode, stack_pointer_rtx), op0)); + } + + /* Queue an .ident string in the queue of top-level asm statements. +--- a/gcc/config/microblaze/microblaze.h ++++ b/gcc/config/microblaze/microblaze.h +@@ -184,6 +184,21 @@ + #define INCOMING_RETURN_ADDR_RTX \ + gen_rtx_REG (VOIDmode, GP_REG_FIRST + MB_ABI_SUB_RETURN_ADDR_REGNUM) + ++/* Specifies the offset from INCOMING_RETURN_ADDR_RTX and the actual return PC. */ ++#define RETURN_ADDR_OFFSET (8) ++ ++/* Describe how we implement __builtin_eh_return. */ ++#define EH_RETURN_DATA_REGNO(N) (((N) < 2) ? MB_ABI_FIRST_ARG_REGNUM + (N) : INVALID_REGNUM) ++ ++#define MB_EH_STACKADJ_REGNUM MB_ABI_INT_RETURN_VAL2_REGNUM ++#define EH_RETURN_STACKADJ_RTX gen_rtx_REG (Pmode, MB_EH_STACKADJ_REGNUM) ++ ++/* Select a format to encode pointers in exception handling data. CODE ++ is 0 for data, 1 for code labels, 2 for function pointers. GLOBAL is ++ true if the symbol may be affected by dynamic relocations. */ ++#define ASM_PREFERRED_EH_DATA_FORMAT(CODE,GLOBAL) \ ++ ((flag_pic || GLOBAL) ? DW_EH_PE_aligned : DW_EH_PE_absptr) ++ + /* Use DWARF 2 debugging information by default. */ + #define DWARF2_DEBUGGING_INFO + #define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG +--- a/gcc/config/microblaze/microblaze.md ++++ b/gcc/config/microblaze/microblaze.md +@@ -2272,4 +2272,15 @@ + (set_attr "mode" "SI") + (set_attr "length" "4")]) + ++; This is used in compiling the unwind routines. ++(define_expand "eh_return" ++ [(use (match_operand 0 "general_operand" ""))] ++ "" ++ " ++{ ++ microblaze_eh_return(operands[0]); ++ DONE; ++}") ++ + (include "sync.md") ++ diff --git a/packages/gcc-linaro/5.5-2017.10/0011-libstdcxx-uclibc-c99.patch b/packages/gcc-linaro/5.5-2017.10/0011-libstdcxx-uclibc-c99.patch new file mode 100644 index 0000000..50bd062 --- /dev/null +++ b/packages/gcc-linaro/5.5-2017.10/0011-libstdcxx-uclibc-c99.patch @@ -0,0 +1,257 @@ +Allow C99-depending features of libstdc++ with uClibc + +The libstdc++ code is fairly restrictive on how it checks for C99 +compatibility: it requires *complete* C99 support to enable certain +features. For example, uClibc provides a good number of C99 features, +but not C99 complex number support. For this reason, libstdc++ +completely disables many the standard C++ methods that can in fact +work because uClibc provides the necessary functions. + +This patch is similar and highly inspired from +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58393, but implemented in +a way that doesn't involve changing the configure.ac script, as +autoreconfiguring gcc is complicated. It simply relies on the fact +that uClibc defines the __UCLIBC__ definition. + +Signed-off-by: Thomas Petazzoni + +--- + libstdc++-v3/config/locale/generic/c_locale.h | 2 +- + libstdc++-v3/config/locale/gnu/c_locale.h | 2 +- + libstdc++-v3/include/bits/basic_string.h | 2 +- + libstdc++-v3/include/bits/locale_facets.tcc | 2 +- + libstdc++-v3/include/bits/locale_facets_nonio.tcc | 2 +- + libstdc++-v3/include/c_compatibility/math.h | 2 +- + libstdc++-v3/include/c_compatibility/wchar.h | 2 +- + libstdc++-v3/include/c_global/cstdio | 2 +- + libstdc++-v3/include/c_global/cstdlib | 2 +- + libstdc++-v3/include/c_global/cwchar | 4 ++-- + libstdc++-v3/include/c_std/cstdio | 2 +- + libstdc++-v3/include/c_std/cstdlib | 2 +- + libstdc++-v3/include/c_std/cwchar | 2 +- + libstdc++-v3/include/ext/vstring.h | 2 +- + libstdc++-v3/include/tr1/cstdio | 2 +- + libstdc++-v3/include/tr1/cstdlib | 2 +- + libstdc++-v3/include/tr1/cwchar | 2 +- + libstdc++-v3/include/tr1/stdlib.h | 2 +- + libstdc++-v3/src/c++11/debug.cc | 2 +- + 19 files changed, 20 insertions(+), 20 deletions(-) + +--- a/libstdc++-v3/config/locale/generic/c_locale.h ++++ b/libstdc++-v3/config/locale/generic/c_locale.h +@@ -70,7 +70,7 @@ + __builtin_va_list __args; + __builtin_va_start(__args, __fmt); + +-#ifdef _GLIBCXX_USE_C99 ++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) + const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args); + #else + const int __ret = __builtin_vsprintf(__out, __fmt, __args); +--- a/libstdc++-v3/config/locale/gnu/c_locale.h ++++ b/libstdc++-v3/config/locale/gnu/c_locale.h +@@ -88,7 +88,7 @@ + __builtin_va_list __args; + __builtin_va_start(__args, __fmt); + +-#ifdef _GLIBCXX_USE_C99 ++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) + const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args); + #else + const int __ret = __builtin_vsprintf(__out, __fmt, __args); +--- a/libstdc++-v3/include/bits/basic_string.h ++++ b/libstdc++-v3/include/bits/basic_string.h +@@ -5347,7 +5347,7 @@ + _GLIBCXX_END_NAMESPACE_VERSION + } // namespace + +-#if __cplusplus >= 201103L && defined(_GLIBCXX_USE_C99) ++#if __cplusplus >= 201103L && (defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)) + + #include + +--- a/libstdc++-v3/include/bits/locale_facets.tcc ++++ b/libstdc++-v3/include/bits/locale_facets.tcc +@@ -992,7 +992,7 @@ + char __fbuf[16]; + __num_base::_S_format_float(__io, __fbuf, __mod); + +-#ifdef _GLIBCXX_USE_C99 ++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) + // Precision is always used except for hexfloat format. + const bool __use_prec = + (__io.flags() & ios_base::floatfield) != ios_base::floatfield; +--- a/libstdc++-v3/include/bits/locale_facets_nonio.tcc ++++ b/libstdc++-v3/include/bits/locale_facets_nonio.tcc +@@ -578,7 +578,7 @@ + { + const locale __loc = __io.getloc(); + const ctype<_CharT>& __ctype = use_facet >(__loc); +-#ifdef _GLIBCXX_USE_C99 ++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) + // First try a buffer perhaps big enough. + int __cs_size = 64; + char* __cs = static_cast(__builtin_alloca(__cs_size)); +--- a/libstdc++-v3/include/c_compatibility/math.h ++++ b/libstdc++-v3/include/c_compatibility/math.h +@@ -56,7 +56,7 @@ + using std::floor; + using std::fmod; + +-#if _GLIBCXX_USE_C99 ++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) + using std::fpclassify; + using std::isfinite; + using std::isinf; +--- a/libstdc++-v3/include/c_compatibility/wchar.h ++++ b/libstdc++-v3/include/c_compatibility/wchar.h +@@ -103,7 +103,7 @@ + using std::wmemset; + using std::wcsftime; + +-#if _GLIBCXX_USE_C99 ++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) + using std::wcstold; + using std::wcstoll; + using std::wcstoull; +--- a/libstdc++-v3/include/c_global/cstdlib ++++ b/libstdc++-v3/include/c_global/cstdlib +@@ -195,7 +195,7 @@ + _GLIBCXX_END_NAMESPACE_VERSION + } // namespace + +-#if _GLIBCXX_USE_C99 ++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) + + #undef _Exit + #undef llabs +--- a/libstdc++-v3/include/c_global/cwchar ++++ b/libstdc++-v3/include/c_global/cwchar +@@ -232,7 +232,7 @@ + _GLIBCXX_END_NAMESPACE_VERSION + } // namespace + +-#if _GLIBCXX_USE_C99 ++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) + + #undef wcstold + #undef wcstoll +@@ -289,7 +289,7 @@ + using std::vwscanf; + #endif + +-#if _GLIBCXX_USE_C99 ++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) + using std::wcstold; + using std::wcstoll; + using std::wcstoull; +--- a/libstdc++-v3/include/c_std/cstdio ++++ b/libstdc++-v3/include/c_std/cstdio +@@ -144,7 +144,7 @@ + using ::vsprintf; + } // namespace std + +-#if _GLIBCXX_USE_C99 ++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) + + #undef snprintf + #undef vfscanf +--- a/libstdc++-v3/include/c_std/cstdlib ++++ b/libstdc++-v3/include/c_std/cstdlib +@@ -192,7 +192,7 @@ + _GLIBCXX_END_NAMESPACE_VERSION + } // namespace + +-#if _GLIBCXX_USE_C99 ++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) + + #undef _Exit + #undef llabs +--- a/libstdc++-v3/include/c_std/cwchar ++++ b/libstdc++-v3/include/c_std/cwchar +@@ -228,7 +228,7 @@ + _GLIBCXX_END_NAMESPACE_VERSION + } // namespace + +-#if _GLIBCXX_USE_C99 ++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) + + #undef wcstold + #undef wcstoll +--- a/libstdc++-v3/include/ext/vstring.h ++++ b/libstdc++-v3/include/ext/vstring.h +@@ -2680,7 +2680,7 @@ + _GLIBCXX_END_NAMESPACE_VERSION + } // namespace + +-#if ((__cplusplus >= 201103L) && defined(_GLIBCXX_USE_C99)) ++#if ((__cplusplus >= 201103L) && (defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__))) + + #include + +--- a/libstdc++-v3/include/tr1/cstdio ++++ b/libstdc++-v3/include/tr1/cstdio +@@ -33,7 +33,7 @@ + + #include + +-#if _GLIBCXX_USE_C99 ++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) + + namespace std _GLIBCXX_VISIBILITY(default) + { +--- a/libstdc++-v3/include/tr1/cstdlib ++++ b/libstdc++-v3/include/tr1/cstdlib +@@ -35,7 +35,7 @@ + + #if _GLIBCXX_HOSTED + +-#if _GLIBCXX_USE_C99 ++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) + + namespace std _GLIBCXX_VISIBILITY(default) + { +--- a/libstdc++-v3/include/tr1/cwchar ++++ b/libstdc++-v3/include/tr1/cwchar +@@ -52,7 +52,7 @@ + using std::vwscanf; + #endif + +-#if _GLIBCXX_USE_C99 ++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) + using std::wcstold; + using std::wcstoll; + using std::wcstoull; +--- a/libstdc++-v3/include/tr1/stdlib.h ++++ b/libstdc++-v3/include/tr1/stdlib.h +@@ -33,7 +33,7 @@ + + #if _GLIBCXX_HOSTED + +-#if _GLIBCXX_USE_C99 ++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) + + using std::tr1::atoll; + using std::tr1::strtoll; +--- a/libstdc++-v3/src/c++11/debug.cc ++++ b/libstdc++-v3/src/c++11/debug.cc +@@ -788,7 +788,7 @@ + int __n __attribute__ ((__unused__)), + const char* __fmt, _Tp __s) const throw () + { +-#ifdef _GLIBCXX_USE_C99 ++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) + std::snprintf(__buf, __n, __fmt, __s); + #else + std::sprintf(__buf, __fmt, __s); +--- a/libstdc++-v3/include/c_global/cstdio ++++ b/libstdc++-v3/include/c_global/cstdio +@@ -146,7 +146,7 @@ + using ::vsprintf; + } // namespace + +-#if _GLIBCXX_USE_C99 ++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) + + #undef snprintf + #undef vfscanf diff --git a/packages/gcc-linaro/5.5-2017.10/0012-cilk-wchar.patch b/packages/gcc-linaro/5.5-2017.10/0012-cilk-wchar.patch new file mode 100644 index 0000000..300837f --- /dev/null +++ b/packages/gcc-linaro/5.5-2017.10/0012-cilk-wchar.patch @@ -0,0 +1,54 @@ +[PATCH] cilk: fix build without wchar + +When building against uClibc with wchar support disabled, WCHAR_MIN and +WCHAR_MAX are not defined leading to compilation errors. + +Fix it by only including the wchar code if available. + +Signed-off-by: Peter Korsgaard +--- + libcilkrts/include/cilk/reducer_min_max.h | 8 ++++++++ + 1 file changed, 8 insertions(+) + +--- a/libcilkrts/include/cilk/reducer_min_max.h ++++ b/libcilkrts/include/cilk/reducer_min_max.h +@@ -3154,7 +3154,9 @@ + CILK_C_REDUCER_MAX_INSTANCE(char, char, CHAR_MIN) + CILK_C_REDUCER_MAX_INSTANCE(unsigned char, uchar, 0) + CILK_C_REDUCER_MAX_INSTANCE(signed char, schar, SCHAR_MIN) ++#ifdef WCHAR_MIN + CILK_C_REDUCER_MAX_INSTANCE(wchar_t, wchar_t, WCHAR_MIN) ++#endif + CILK_C_REDUCER_MAX_INSTANCE(short, short, SHRT_MIN) + CILK_C_REDUCER_MAX_INSTANCE(unsigned short, ushort, 0) + CILK_C_REDUCER_MAX_INSTANCE(int, int, INT_MIN) +@@ -3306,7 +3308,9 @@ + CILK_C_REDUCER_MAX_INDEX_INSTANCE(char, char, CHAR_MIN) + CILK_C_REDUCER_MAX_INDEX_INSTANCE(unsigned char, uchar, 0) + CILK_C_REDUCER_MAX_INDEX_INSTANCE(signed char, schar, SCHAR_MIN) ++#ifdef WCHAR_MIN + CILK_C_REDUCER_MAX_INDEX_INSTANCE(wchar_t, wchar_t, WCHAR_MIN) ++#endif + CILK_C_REDUCER_MAX_INDEX_INSTANCE(short, short, SHRT_MIN) + CILK_C_REDUCER_MAX_INDEX_INSTANCE(unsigned short, ushort, 0) + CILK_C_REDUCER_MAX_INDEX_INSTANCE(int, int, INT_MIN) +@@ -3432,7 +3436,9 @@ + CILK_C_REDUCER_MIN_INSTANCE(char, char, CHAR_MAX) + CILK_C_REDUCER_MIN_INSTANCE(unsigned char, uchar, CHAR_MAX) + CILK_C_REDUCER_MIN_INSTANCE(signed char, schar, SCHAR_MAX) ++#ifdef WCHAR_MAX + CILK_C_REDUCER_MIN_INSTANCE(wchar_t, wchar_t, WCHAR_MAX) ++#endif + CILK_C_REDUCER_MIN_INSTANCE(short, short, SHRT_MAX) + CILK_C_REDUCER_MIN_INSTANCE(unsigned short, ushort, USHRT_MAX) + CILK_C_REDUCER_MIN_INSTANCE(int, int, INT_MAX) +@@ -3584,7 +3590,9 @@ + CILK_C_REDUCER_MIN_INDEX_INSTANCE(char, char, CHAR_MAX) + CILK_C_REDUCER_MIN_INDEX_INSTANCE(unsigned char, uchar, CHAR_MAX) + CILK_C_REDUCER_MIN_INDEX_INSTANCE(signed char, schar, SCHAR_MAX) ++#ifdef WCHAR_MAX + CILK_C_REDUCER_MIN_INDEX_INSTANCE(wchar_t, wchar_t, WCHAR_MAX) ++#endif + CILK_C_REDUCER_MIN_INDEX_INSTANCE(short, short, SHRT_MAX) + CILK_C_REDUCER_MIN_INDEX_INSTANCE(unsigned short, ushort, USHRT_MAX) + CILK_C_REDUCER_MIN_INDEX_INSTANCE(int, int, INT_MAX) diff --git a/packages/gcc-linaro/5.5-2017.10/0013-xtensa-add-mauto-litpools-option.patch b/packages/gcc-linaro/5.5-2017.10/0013-xtensa-add-mauto-litpools-option.patch new file mode 100644 index 0000000..3c44d03 --- /dev/null +++ b/packages/gcc-linaro/5.5-2017.10/0013-xtensa-add-mauto-litpools-option.patch @@ -0,0 +1,273 @@ +From 6d852ffb43b111a39162135c95249e749c4e285b Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Thu, 6 Aug 2015 01:16:02 +0300 +Subject: [PATCH] xtensa: add -mauto-litpools option + +With support from assembler this option allows compiling huge functions, +where single literal pool at the beginning of a function may not be +reachable by L32R instructions at its end. + +Currently assembler --auto-litpools option cannot deal with literals +used from multiple locations separated by more than 256 KBytes of code. +Don't turn constants into literals, instead use MOVI instruction to load +them into registers and let the assembler turn them into literals as +necessary. + +2015-08-12 Max Filippov +gcc/ + * config/xtensa/constraints.md (define_constraint "Y"): New + constraint. + * config/xtensa/elf.h (ASM_SPEC): Add m(no-)auto-litpools. + * config/xtensa/linux.h (ASM_SPEC): Likewise. + * config/xtensa/predicates.md (move_operand): Match constants + and symbols in the presence of TARGET_AUTO_LITPOOLS. + * config/xtensa/xtensa.c (xtensa_valid_move): Don't allow + immediate references to TLS data. + (xtensa_emit_move_sequence): Don't force constants to memory in + the presence of TARGET_AUTO_LITPOOLS. + (print_operand): Add 'y' format, same as default, but capable of + printing SF mode constants as well. + * config/xtensa/xtensa.md (movsi_internal, movhi_internal) + (movsf_internal): Add movi pattern that loads literal. + (movsf, movdf): Don't force constants to memory in the presence + of TARGET_AUTO_LITPOOLS. + (movdf_internal): Add 'Y' constraint. + * config/xtensa/xtensa.opt (mauto-litpools): New option. + +Signed-off-by: Max Filippov +--- +Backported from: r226828 +Changes to ChangeLogs and documentation are dropped. + + gcc/config/xtensa/constraints.md | 5 +++++ + gcc/config/xtensa/elf.h | 4 +++- + gcc/config/xtensa/linux.h | 4 +++- + gcc/config/xtensa/predicates.md | 3 ++- + gcc/config/xtensa/xtensa.c | 19 ++++++++++++++++++- + gcc/config/xtensa/xtensa.md | 35 +++++++++++++++++++---------------- + gcc/config/xtensa/xtensa.opt | 4 ++++ + 7 files changed, 54 insertions(+), 20 deletions(-) + +--- a/gcc/config/xtensa/constraints.md ++++ b/gcc/config/xtensa/constraints.md +@@ -111,6 +111,11 @@ + (and (match_code "const_int") + (match_test "xtensa_mask_immediate (ival)"))) + ++(define_constraint "Y" ++ "A constant that can be used in relaxed MOVI instructions." ++ (and (match_code "const_int,const_double,const,symbol_ref,label_ref") ++ (match_test "TARGET_AUTO_LITPOOLS"))) ++ + ;; Memory constraints. Do not use define_memory_constraint here. Doing so + ;; causes reload to force some constants into the constant pool, but since + ;; the Xtensa constant pool can only be accessed with L32R instructions, it +--- a/gcc/config/xtensa/elf.h ++++ b/gcc/config/xtensa/elf.h +@@ -48,7 +48,9 @@ + %{mtarget-align:--target-align} \ + %{mno-target-align:--no-target-align} \ + %{mlongcalls:--longcalls} \ +- %{mno-longcalls:--no-longcalls}" ++ %{mno-longcalls:--no-longcalls} \ ++ %{mauto-litpools:--auto-litpools} \ ++ %{mno-auto-litpools:--no-auto-litpools}" + + #undef LIB_SPEC + #define LIB_SPEC "-lc -lsim -lc -lhandlers-sim -lhal" +--- a/gcc/config/xtensa/linux.h ++++ b/gcc/config/xtensa/linux.h +@@ -42,7 +42,9 @@ + %{mtarget-align:--target-align} \ + %{mno-target-align:--no-target-align} \ + %{mlongcalls:--longcalls} \ +- %{mno-longcalls:--no-longcalls}" ++ %{mno-longcalls:--no-longcalls} \ ++ %{mauto-litpools:--auto-litpools} \ ++ %{mno-auto-litpools:--no-auto-litpools}" + + #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1" + +--- a/gcc/config/xtensa/predicates.md ++++ b/gcc/config/xtensa/predicates.md +@@ -142,7 +142,8 @@ + (match_test "GET_MODE_CLASS (mode) == MODE_INT + && xtensa_simm12b (INTVAL (op))")) + (and (match_code "const_int,const_double,const,symbol_ref,label_ref") +- (match_test "TARGET_CONST16 && CONSTANT_P (op) ++ (match_test "(TARGET_CONST16 || TARGET_AUTO_LITPOOLS) ++ && CONSTANT_P (op) + && GET_MODE_SIZE (mode) % UNITS_PER_WORD == 0"))))) + + ;; Accept the floating point constant 1 in the appropriate mode. +--- a/gcc/config/xtensa/xtensa.c ++++ b/gcc/config/xtensa/xtensa.c +@@ -501,6 +501,9 @@ + { + int dst_regnum = xt_true_regnum (operands[0]); + ++ if (xtensa_tls_referenced_p (operands[1])) ++ return FALSE; ++ + /* The stack pointer can only be assigned with a MOVSP opcode. */ + if (dst_regnum == STACK_POINTER_REGNUM) + return !TARGET_WINDOWED_ABI +@@ -1070,7 +1073,7 @@ + return 1; + } + +- if (! TARGET_CONST16) ++ if (! TARGET_AUTO_LITPOOLS && ! TARGET_CONST16) + { + src = force_const_mem (SImode, src); + operands[1] = src; +@@ -2451,6 +2454,20 @@ + } + break; + ++ case 'y': ++ if (GET_CODE (x) == CONST_DOUBLE && ++ GET_MODE (x) == SFmode) ++ { ++ REAL_VALUE_TYPE r; ++ long l; ++ REAL_VALUE_FROM_CONST_DOUBLE (r, x); ++ REAL_VALUE_TO_TARGET_SINGLE (r, l); ++ fprintf (file, "0x%08lx", l); ++ break; ++ } ++ ++ /* fall through */ ++ + default: + if (GET_CODE (x) == REG || GET_CODE (x) == SUBREG) + fprintf (file, "%s", reg_names[xt_true_regnum (x)]); +--- a/gcc/config/xtensa/xtensa.md ++++ b/gcc/config/xtensa/xtensa.md +@@ -761,8 +761,8 @@ + }) + + (define_insn "movsi_internal" +- [(set (match_operand:SI 0 "nonimmed_operand" "=D,D,D,D,R,R,a,q,a,W,a,a,U,*a,*A") +- (match_operand:SI 1 "move_operand" "M,D,d,R,D,d,r,r,I,i,T,U,r,*A,*r"))] ++ [(set (match_operand:SI 0 "nonimmed_operand" "=D,D,D,D,R,R,a,q,a,a,W,a,a,U,*a,*A") ++ (match_operand:SI 1 "move_operand" "M,D,d,R,D,d,r,r,I,Y,i,T,U,r,*A,*r"))] + "xtensa_valid_move (SImode, operands)" + "@ + movi.n\t%0, %x1 +@@ -774,15 +774,16 @@ + mov\t%0, %1 + movsp\t%0, %1 + movi\t%0, %x1 ++ movi\t%0, %1 + const16\t%0, %t1\;const16\t%0, %b1 + %v1l32r\t%0, %1 + %v1l32i\t%0, %1 + %v0s32i\t%1, %0 + rsr\t%0, ACCLO + wsr\t%1, ACCLO" +- [(set_attr "type" "move,move,move,load,store,store,move,move,move,move,load,load,store,rsr,wsr") ++ [(set_attr "type" "move,move,move,load,store,store,move,move,move,move,move,load,load,store,rsr,wsr") + (set_attr "mode" "SI") +- (set_attr "length" "2,2,2,2,2,2,3,3,3,6,3,3,3,3,3")]) ++ (set_attr "length" "2,2,2,2,2,2,3,3,3,3,6,3,3,3,3,3")]) + + ;; 16-bit Integer moves + +@@ -796,21 +797,22 @@ + }) + + (define_insn "movhi_internal" +- [(set (match_operand:HI 0 "nonimmed_operand" "=D,D,a,a,a,U,*a,*A") +- (match_operand:HI 1 "move_operand" "M,d,r,I,U,r,*A,*r"))] ++ [(set (match_operand:HI 0 "nonimmed_operand" "=D,D,a,a,a,a,U,*a,*A") ++ (match_operand:HI 1 "move_operand" "M,d,r,I,Y,U,r,*A,*r"))] + "xtensa_valid_move (HImode, operands)" + "@ + movi.n\t%0, %x1 + mov.n\t%0, %1 + mov\t%0, %1 + movi\t%0, %x1 ++ movi\t%0, %1 + %v1l16ui\t%0, %1 + %v0s16i\t%1, %0 + rsr\t%0, ACCLO + wsr\t%1, ACCLO" +- [(set_attr "type" "move,move,move,move,load,store,rsr,wsr") ++ [(set_attr "type" "move,move,move,move,move,load,store,rsr,wsr") + (set_attr "mode" "HI") +- (set_attr "length" "2,2,3,3,3,3,3,3")]) ++ (set_attr "length" "2,2,3,3,3,3,3,3,3")]) + + ;; 8-bit Integer moves + +@@ -881,7 +883,7 @@ + (match_operand:SF 1 "general_operand" ""))] + "" + { +- if (!TARGET_CONST16 && CONSTANT_P (operands[1])) ++ if (!TARGET_CONST16 && !TARGET_AUTO_LITPOOLS && CONSTANT_P (operands[1])) + operands[1] = force_const_mem (SFmode, operands[1]); + + if ((!register_operand (operands[0], SFmode) +@@ -896,8 +898,8 @@ + }) + + (define_insn "movsf_internal" +- [(set (match_operand:SF 0 "nonimmed_operand" "=f,f,U,D,D,R,a,f,a,W,a,a,U") +- (match_operand:SF 1 "move_operand" "f,U,f,d,R,d,r,r,f,iF,T,U,r"))] ++ [(set (match_operand:SF 0 "nonimmed_operand" "=f,f,U,D,D,R,a,f,a,a,W,a,a,U") ++ (match_operand:SF 1 "move_operand" "f,U,f,d,R,d,r,r,f,Y,iF,T,U,r"))] + "((register_operand (operands[0], SFmode) + || register_operand (operands[1], SFmode)) + && !(FP_REG_P (xt_true_regnum (operands[0])) +@@ -912,13 +914,14 @@ + mov\t%0, %1 + wfr\t%0, %1 + rfr\t%0, %1 ++ movi\t%0, %y1 + const16\t%0, %t1\;const16\t%0, %b1 + %v1l32r\t%0, %1 + %v1l32i\t%0, %1 + %v0s32i\t%1, %0" +- [(set_attr "type" "farith,fload,fstore,move,load,store,move,farith,farith,move,load,load,store") ++ [(set_attr "type" "farith,fload,fstore,move,load,store,move,farith,farith,move,move,load,load,store") + (set_attr "mode" "SF") +- (set_attr "length" "3,3,3,2,2,2,3,3,3,6,3,3,3")]) ++ (set_attr "length" "3,3,3,2,2,2,3,3,3,3,6,3,3,3")]) + + (define_insn "*lsiu" + [(set (match_operand:SF 0 "register_operand" "=f") +@@ -991,7 +994,7 @@ + (match_operand:DF 1 "general_operand" ""))] + "" + { +- if (CONSTANT_P (operands[1]) && !TARGET_CONST16) ++ if (CONSTANT_P (operands[1]) && !TARGET_CONST16 && !TARGET_AUTO_LITPOOLS) + operands[1] = force_const_mem (DFmode, operands[1]); + + if (!register_operand (operands[0], DFmode) +@@ -1002,8 +1005,8 @@ + }) + + (define_insn_and_split "movdf_internal" +- [(set (match_operand:DF 0 "nonimmed_operand" "=a,W,a,a,U") +- (match_operand:DF 1 "move_operand" "r,iF,T,U,r"))] ++ [(set (match_operand:DF 0 "nonimmed_operand" "=a,a,W,a,a,U") ++ (match_operand:DF 1 "move_operand" "r,Y,iF,T,U,r"))] + "register_operand (operands[0], DFmode) + || register_operand (operands[1], DFmode)" + "#" +--- a/gcc/config/xtensa/xtensa.opt ++++ b/gcc/config/xtensa/xtensa.opt +@@ -38,6 +38,10 @@ + Target + Intersperse literal pools with code in the text section + ++mauto-litpools ++Target Report Mask(AUTO_LITPOOLS) ++Relax literals in assembler and place them automatically in the text section ++ + mserialize-volatile + Target Report Mask(SERIALIZE_VOLATILE) + -mno-serialize-volatile Do not serialize volatile memory references with MEMW instructions diff --git a/packages/gcc-linaro/5.5-2017.10/0014-xtensa-reimplement-register-spilling.patch b/packages/gcc-linaro/5.5-2017.10/0014-xtensa-reimplement-register-spilling.patch new file mode 100644 index 0000000..b85ecb9 --- /dev/null +++ b/packages/gcc-linaro/5.5-2017.10/0014-xtensa-reimplement-register-spilling.patch @@ -0,0 +1,71 @@ +From 40507bf199440082ed69b777986d50c31efe2520 Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Mon, 10 Aug 2015 21:35:20 +0300 +Subject: [PATCH 1/3] xtensa: reimplement register spilling + +Spilling windowed registers in userspace is much easier, more portable, +less error-prone and equally effective as in kernel. Now that register +spilling syscall is considered obsolete in the xtensa linux kernel +replace it with CALL12 followed by series of ENTRY in libgcc. + +2015-08-18 Max Filippov +libgcc/ + * config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill): Use + CALL12 followed by series of ENTRY to spill windowed registers. + (__xtensa_nonlocal_goto): Call __xtensa_libgcc_window_spill + instead of making linux spill syscall. + +Signed-off-by: Max Filippov +--- +Backported from: r226962 + + libgcc/config/xtensa/lib2funcs.S | 30 +++++++++++++++++++++++------- + 1 file changed, 23 insertions(+), 7 deletions(-) + +--- a/libgcc/config/xtensa/lib2funcs.S ++++ b/libgcc/config/xtensa/lib2funcs.S +@@ -34,10 +34,29 @@ + .global __xtensa_libgcc_window_spill + .type __xtensa_libgcc_window_spill,@function + __xtensa_libgcc_window_spill: +- entry sp, 32 +- movi a2, 0 +- syscall ++ entry sp, 48 ++#if XCHAL_NUM_AREGS > 16 ++ call12 1f ++ retw ++ .align 4 ++1: ++ .rept (XCHAL_NUM_AREGS - 24) / 12 ++ _entry sp, 48 ++ mov a12, a0 ++ .endr ++ _entry sp, 16 ++#if XCHAL_NUM_AREGS % 12 == 0 ++ mov a4, a4 ++#elif XCHAL_NUM_AREGS % 12 == 4 ++ mov a8, a8 ++#elif XCHAL_NUM_AREGS % 12 == 8 ++ mov a12, a12 ++#endif ++ retw ++#else ++ mov a8, a8 + retw ++#endif + .size __xtensa_libgcc_window_spill, .-__xtensa_libgcc_window_spill + #endif + +@@ -61,10 +80,7 @@ + entry sp, 32 + + /* Flush registers. */ +- mov a5, a2 +- movi a2, 0 +- syscall +- mov a2, a5 ++ call8 __xtensa_libgcc_window_spill + + /* Because the save area for a0-a3 is stored one frame below + the one identified by a2, the only way to restore those diff --git a/packages/gcc-linaro/5.5-2017.10/0015-xtensa-add-uclinux-support.patch b/packages/gcc-linaro/5.5-2017.10/0015-xtensa-add-uclinux-support.patch new file mode 100644 index 0000000..643eff1 --- /dev/null +++ b/packages/gcc-linaro/5.5-2017.10/0015-xtensa-add-uclinux-support.patch @@ -0,0 +1,161 @@ +From 70c2cb98fb129b4766b5da0f945dc41fd568c77a Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Sat, 22 Aug 2015 08:44:26 +0300 +Subject: [PATCH] xtensa: add uclinux support + +2015-10-03 Max Filippov +gcc/ + * config.gcc (xtensa*-*-uclinux*): New configuration. + * config/xtensa/uclinux.h: New file. + * config/xtensa/uclinux.opt: New file. + +libgcc/ + * config.host (xtensa*-*-uclinux*): New configuration. + +Signed-off-by: Max Filippov +--- +Backported from: r228450 + + gcc/config.gcc | 5 +++ + gcc/config/xtensa/uclinux.h | 69 ++++++++++++++++++++++++++++++++++++++++++ + gcc/config/xtensa/uclinux.opt | 32 +++++++++++++++++++ + libgcc/config.host | 5 +++ + 4 files changed, 111 insertions(+) + create mode 100644 gcc/config/xtensa/uclinux.h + create mode 100644 gcc/config/xtensa/uclinux.opt + +--- a/gcc/config.gcc ++++ b/gcc/config.gcc +@@ -2976,6 +2976,11 @@ + tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/linux.h" + tmake_file="${tmake_file} xtensa/t-xtensa" + ;; ++xtensa*-*-uclinux*) ++ tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/uclinux.h" ++ tmake_file="${tmake_file} xtensa/t-xtensa" ++ extra_options="${extra_options} xtensa/uclinux.opt" ++ ;; + am33_2.0-*-linux*) + tm_file="mn10300/mn10300.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h mn10300/linux.h" + gas=yes gnu_ld=yes +--- /dev/null ++++ b/gcc/config/xtensa/uclinux.h +@@ -0,0 +1,69 @@ ++/* Xtensa uClinux configuration. ++ Derived from the configuration for GCC for Intel i386 running Linux. ++ Copyright (C) 2001-2015 Free Software Foundation, Inc. ++ ++This file is part of GCC. ++ ++GCC is free software; you can redistribute it and/or modify it under ++the terms of the GNU General Public License as published by the Free ++Software Foundation; either version 3, or (at your option) any later ++version. ++ ++GCC is distributed in the hope that it will be useful, but WITHOUT ANY ++WARRANTY; without even the implied warranty of MERCHANTABILITY or ++FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ++for more details. ++ ++You should have received a copy of the GNU General Public License ++along with GCC; see the file COPYING3. If not see ++. */ ++ ++#undef TARGET_OS_CPP_BUILTINS ++#define TARGET_OS_CPP_BUILTINS() \ ++ do \ ++ { \ ++ GNU_USER_TARGET_OS_CPP_BUILTINS (); \ ++ builtin_define ("__uClinux__"); \ ++ } \ ++ while (0) ++ ++#undef SUBTARGET_CPP_SPEC ++#define SUBTARGET_CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}" ++ ++#undef SIZE_TYPE ++#define SIZE_TYPE "unsigned int" ++ ++#undef PTRDIFF_TYPE ++#define PTRDIFF_TYPE "int" ++ ++#undef WCHAR_TYPE ++#define WCHAR_TYPE "long int" ++ ++#undef WCHAR_TYPE_SIZE ++#define WCHAR_TYPE_SIZE 32 ++ ++#undef ASM_SPEC ++#define ASM_SPEC \ ++ "%{mtext-section-literals:--text-section-literals} \ ++ %{mno-text-section-literals:--no-text-section-literals} \ ++ %{mtarget-align:--target-align} \ ++ %{mno-target-align:--no-target-align} \ ++ %{mlongcalls:--longcalls} \ ++ %{mno-longcalls:--no-longcalls} \ ++ %{mauto-litpools:--auto-litpools} \ ++ %{mno-auto-litpools:--no-auto-litpools}" ++ ++#undef LINK_SPEC ++#define LINK_SPEC "%{!no-elf2flt:%{!elf2flt*:-elf2flt}}" ++ ++#undef LOCAL_LABEL_PREFIX ++#define LOCAL_LABEL_PREFIX "." ++ ++/* Always enable "-fpic" for Xtensa Linux. */ ++#define XTENSA_ALWAYS_PIC 1 ++ ++#undef TARGET_LIBC_HAS_FUNCTION ++#define TARGET_LIBC_HAS_FUNCTION no_c99_libc_has_function ++ ++#undef DBX_REGISTER_NUMBER ++ +--- /dev/null ++++ b/gcc/config/xtensa/uclinux.opt +@@ -0,0 +1,32 @@ ++; Xtensa uClinux options. ++ ++; Copyright (C) 2015 Free Software Foundation, Inc. ++; ++; This file is part of GCC. ++; ++; GCC is free software; you can redistribute it and/or modify it under ++; the terms of the GNU General Public License as published by the Free ++; Software Foundation; either version 3, or (at your option) any later ++; version. ++; ++; GCC is distributed in the hope that it will be useful, but WITHOUT ANY ++; WARRANTY; without even the implied warranty of MERCHANTABILITY or ++; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ++; for more details. ++; ++; You should have received a copy of the GNU General Public License ++; along with GCC; see the file COPYING3. If not see ++; . ++ ++; See the GCC internals manual (options.texi) for a description of ++; this file's format. ++ ++; Please try to keep this file in ASCII collating order. ++ ++elf2flt ++Driver ++ ++elf2flt= ++Driver JoinedOrMissing ++ ++; This comment is to ensure we retain the blank line above. +--- a/libgcc/config.host ++++ b/libgcc/config.host +@@ -1289,6 +1289,11 @@ + tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux t-slibgcc-libgcc" + md_unwind_header=xtensa/linux-unwind.h + ;; ++xtensa*-*-uclinux*) ++ tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux t-slibgcc-libgcc" ++ md_unwind_header=xtensa/linux-unwind.h ++ extra_parts="$extra_parts crtbeginS.o crtbeginT.o crtendS.o" ++ ;; + am33_2.0-*-linux*) + # Don't need crtbeginT.o from *-*-linux* default. + extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o" diff --git a/packages/gcc-linaro/5.5-2017.10/0016-fix-m68k-compile.patch b/packages/gcc-linaro/5.5-2017.10/0016-fix-m68k-compile.patch new file mode 100644 index 0000000..9437f25 --- /dev/null +++ b/packages/gcc-linaro/5.5-2017.10/0016-fix-m68k-compile.patch @@ -0,0 +1,18 @@ +remove unused header, which breaks the toolchain building + +Signed-off-by: Waldemar Brodkorb + +--- + libgcc/config/m68k/linux-atomic.c | 1 - + 1 file changed, 1 deletion(-) + +--- a/libgcc/config/m68k/linux-atomic.c ++++ b/libgcc/config/m68k/linux-atomic.c +@@ -33,7 +33,6 @@ + using the kernel helper defined below. There is no support for + 64-bit operations yet. */ + +-#include + #include + + #ifndef __NR_atomic_cmpxchg_32 diff --git a/packages/gcc-linaro/5.5-2017.10/0017-fix-m68k-uclinux.patch b/packages/gcc-linaro/5.5-2017.10/0017-fix-m68k-uclinux.patch new file mode 100644 index 0000000..8a6309e --- /dev/null +++ b/packages/gcc-linaro/5.5-2017.10/0017-fix-m68k-uclinux.patch @@ -0,0 +1,21 @@ +avoids internal compiler error while compiling linux-atomic.c +See here: +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53833 + +Signed-off-by: Waldemar Brodkorb + +--- + libgcc/config.host | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/libgcc/config.host ++++ b/libgcc/config.host +@@ -808,7 +808,7 @@ + m68k*-*-openbsd*) + ;; + m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux with uClibc +- tmake_file="$tmake_file m68k/t-floatlib m68k/t-linux" ++ tmake_file="$tmake_file m68k/t-floatlib" + md_unwind_header=m68k/linux-unwind.h + ;; + m68k-*-linux*) # Motorola m68k's running GNU/Linux diff --git a/packages/gcc-linaro/5.5-2017.10/0018-microblaze-uclibc.patch b/packages/gcc-linaro/5.5-2017.10/0018-microblaze-uclibc.patch new file mode 100644 index 0000000..91d0aa4 --- /dev/null +++ b/packages/gcc-linaro/5.5-2017.10/0018-microblaze-uclibc.patch @@ -0,0 +1,27 @@ +Add dynamic linker support for uClibc + +Signed-off-by: Waldemar Brodkorb + +--- + gcc/config/microblaze/linux.h | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +--- a/gcc/config/microblaze/linux.h ++++ b/gcc/config/microblaze/linux.h +@@ -28,7 +28,15 @@ + #undef TLS_NEEDS_GOT + #define TLS_NEEDS_GOT 1 + +-#define DYNAMIC_LINKER "/lib/ld.so.1" ++#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1" ++#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0" ++ ++#if DEFAULT_LIBC == LIBC_UCLIBC ++#define DYNAMIC_LINKER UCLIBC_DYNAMIC_LINKER ++#else ++#define DYNAMIC_LINKER GLIBC_DYNAMIC_LINKER ++#endif ++ + #undef SUBTARGET_EXTRA_SPECS + #define SUBTARGET_EXTRA_SPECS \ + { "dynamic_linker", DYNAMIC_LINKER } diff --git a/packages/gcc-linaro/5.5-2017.10/0019-unwind-fix-for-musl.patch b/packages/gcc-linaro/5.5-2017.10/0019-unwind-fix-for-musl.patch new file mode 100644 index 0000000..d6c63a0 --- /dev/null +++ b/packages/gcc-linaro/5.5-2017.10/0019-unwind-fix-for-musl.patch @@ -0,0 +1,38 @@ +From: ktkachov +Date: Wed, 22 Apr 2015 14:20:01 +0000 (+0000) +Subject: unwind fix for musl +X-Git-Url: https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff_plain;h=a2e31d0681d8a47389b8a3552622fbd9827bcef4 + +unwind fix for musl + +On behalf of szabolcs.nagy@arm.com + +2015-04-22 Gregor Richards + Szabolcs Nagy + + * unwind-dw2-fde-dip.c (USE_PT_GNU_EH_FRAME): Define it on + Linux if target provides dl_iterate_phdr. + + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222328 138bc75d-0d04-0410-961f-82ee72b054a4 +--- + +--- + libgcc/unwind-dw2-fde-dip.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +--- a/libgcc/unwind-dw2-fde-dip.c ++++ b/libgcc/unwind-dw2-fde-dip.c +@@ -65,6 +65,12 @@ + + #if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \ + && defined(TARGET_DL_ITERATE_PHDR) \ ++ && defined(__linux__) ++# define USE_PT_GNU_EH_FRAME ++#endif ++ ++#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \ ++ && defined(TARGET_DL_ITERATE_PHDR) \ + && (defined(__DragonFly__) || defined(__FreeBSD__)) + # define ElfW __ElfN + # define USE_PT_GNU_EH_FRAME diff --git a/packages/gcc-linaro/5.5-2017.10/0020-nios2-bad-multilib-default.patch b/packages/gcc-linaro/5.5-2017.10/0020-nios2-bad-multilib-default.patch new file mode 100644 index 0000000..5dfe211 --- /dev/null +++ b/packages/gcc-linaro/5.5-2017.10/0020-nios2-bad-multilib-default.patch @@ -0,0 +1,31 @@ +--- + gcc/config/nios2/nios2.h | 4 ++-- + gcc/config/nios2/t-nios2 | 3 +-- + 2 files changed, 3 insertions(+), 4 deletions(-) + +--- a/gcc/config/nios2/nios2.h ++++ b/gcc/config/nios2/nios2.h +@@ -55,11 +55,11 @@ + #if TARGET_ENDIAN_DEFAULT == 0 + # define ASM_SPEC "%{!meb:-EL} %{meb:-EB}" + # define LINK_SPEC_ENDIAN "%{!meb:-EL} %{meb:-EB}" +-# define MULTILIB_DEFAULTS { "EL" } ++# define MULTILIB_DEFAULTS { "mel" } + #else + # define ASM_SPEC "%{!mel:-EB} %{mel:-EL}" + # define LINK_SPEC_ENDIAN "%{!mel:-EB} %{mel:-EL}" +-# define MULTILIB_DEFAULTS { "EB" } ++# define MULTILIB_DEFAULTS { "meb" } + #endif + + #define LINK_SPEC LINK_SPEC_ENDIAN \ +--- a/gcc/config/nios2/t-nios2 ++++ b/gcc/config/nios2/t-nios2 +@@ -22,6 +22,5 @@ + # MULTILIB_DIRNAMES = nomul mulx fpu-60-1 fpu-60-2 + # MULTILIB_EXCEPTIONS = + +-# MULTILIB_OPTIONS += EL/EB ++# MULTILIB_OPTIONS += mel/meb + # MULTILIB_DIRNAMES += le be +-# MULTILIB_MATCHES += EL=mel EB=meb diff --git a/packages/gcc-linaro/5.5-2017.10/0021-libgcc-disable-split-stack-nothreads.patch b/packages/gcc-linaro/5.5-2017.10/0021-libgcc-disable-split-stack-nothreads.patch new file mode 100644 index 0000000..df91a9f --- /dev/null +++ b/packages/gcc-linaro/5.5-2017.10/0021-libgcc-disable-split-stack-nothreads.patch @@ -0,0 +1,17 @@ +disable split-stack for non-thread builds + +Signed-off-by: Waldemar Brodkorb + +--- + libgcc/config/t-stack | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/libgcc/config/t-stack ++++ b/libgcc/config/t-stack +@@ -1,4 +1,6 @@ + # Makefile fragment to provide generic support for -fsplit-stack. + # This should be used in config.host for any host which supports + # -fsplit-stack. ++ifeq ($(enable_threads),yes) + LIB2ADD_ST += $(srcdir)/generic-morestack.c $(srcdir)/generic-morestack-thread.c ++endif diff --git a/packages/gcc-linaro/5.5-2017.10/0022-uclinux-enable-threads.patch b/packages/gcc-linaro/5.5-2017.10/0022-uclinux-enable-threads.patch new file mode 100644 index 0000000..0addac9 --- /dev/null +++ b/packages/gcc-linaro/5.5-2017.10/0022-uclinux-enable-threads.patch @@ -0,0 +1,22 @@ +Enable POSIX threads for uClinux targets +Reported upstream: +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71721 + +Signed-off-by: Waldemar Brodkorb + +--- + gcc/config.gcc | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/gcc/config.gcc ++++ b/gcc/config.gcc +@@ -818,6 +818,9 @@ + *-*-uclinux*) + extra_options="$extra_options gnu-user.opt" + use_gcc_stdint=wrap ++ case ${enable_threads} in ++ "" | yes | posix) thread_file='posix' ;; ++ esac + tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC SINGLE_LIBC" + ;; + *-*-rdos*) diff --git a/packages/gcc-linaro/5.5-2017.10/chksum b/packages/gcc-linaro/5.5-2017.10/chksum new file mode 100644 index 0000000..aaffc74 --- /dev/null +++ b/packages/gcc-linaro/5.5-2017.10/chksum @@ -0,0 +1,4 @@ +md5 gcc-linaro-5.5-2017.10.tar.xz 8e6dc4d4d9d295077e917d205a186d29 +sha1 gcc-linaro-5.5-2017.10.tar.xz f31ffa46619262a227727eab5ae5d7569cd3989c +sha256 gcc-linaro-5.5-2017.10.tar.xz acbf1eda48439b83bf49f5a24ed3e4c31bd1680f3cebd9282e0c21eb3cdeb25c +sha512 gcc-linaro-5.5-2017.10.tar.xz 352dce37fcdfbe27aaa37c801a5af7f2e9c1bd21075b00d3b978c357e3a8f625cc8843c1942389beb422ef9f949de60e8848ec626181fd900579afbba1c20532 diff --git a/packages/gcc-linaro/5.5-2017.10/version.desc b/packages/gcc-linaro/5.5-2017.10/version.desc new file mode 100644 index 0000000..e69de29 diff --git a/packages/gcc-linaro/6.4-2017.08/0000-libtool-leave-framework-alone.patch b/packages/gcc-linaro/6.4-2017.08/0000-libtool-leave-framework-alone.patch deleted file mode 100644 index 1a86e41..0000000 --- a/packages/gcc-linaro/6.4-2017.08/0000-libtool-leave-framework-alone.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- - libtool-ldflags | 5 +++++ - 1 file changed, 5 insertions(+) - ---- a/libtool-ldflags -+++ b/libtool-ldflags -@@ -36,6 +36,11 @@ - for arg - do - case $arg in -+ -framework) -+ # libtool handles this option. It should not be prefixed with -+ # -Xcompiler, as that would split it from the argument that -+ # follows. -+ ;; - -f*|--*|-static-lib*|-shared-lib*|-B*) - # Libtool does not ascribe any special meaning options - # that begin with -f or with a double-dash. So, it will diff --git a/packages/gcc-linaro/6.4-2017.08/0001-uclibc-conf.patch b/packages/gcc-linaro/6.4-2017.08/0001-uclibc-conf.patch deleted file mode 100644 index aef750a..0000000 --- a/packages/gcc-linaro/6.4-2017.08/0001-uclibc-conf.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- - contrib/regression/objs-gcc.sh | 4 ++++ - 1 file changed, 4 insertions(+) - ---- a/contrib/regression/objs-gcc.sh -+++ b/contrib/regression/objs-gcc.sh -@@ -106,6 +106,10 @@ - then - make all-gdb all-dejagnu all-ld || exit 1 - make install-gdb install-dejagnu install-ld || exit 1 -+elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ] -+ then -+ make all-gdb all-dejagnu all-ld || exit 1 -+ make install-gdb install-dejagnu install-ld || exit 1 - elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then - make bootstrap || exit 1 - make install || exit 1 diff --git a/packages/gcc-linaro/6.4-2017.08/0002-missing-execinfo_h.patch b/packages/gcc-linaro/6.4-2017.08/0002-missing-execinfo_h.patch deleted file mode 100644 index c90222a..0000000 --- a/packages/gcc-linaro/6.4-2017.08/0002-missing-execinfo_h.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- - boehm-gc/include/gc.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/boehm-gc/include/gc.h -+++ b/boehm-gc/include/gc.h -@@ -503,7 +503,7 @@ - #if defined(__linux__) || defined(__GLIBC__) - # include - # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \ -- && !defined(__ia64__) -+ && !defined(__ia64__) && !defined(__UCLIBC__) - # ifndef GC_HAVE_BUILTIN_BACKTRACE - # define GC_HAVE_BUILTIN_BACKTRACE - # endif diff --git a/packages/gcc-linaro/6.4-2017.08/0003-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch b/packages/gcc-linaro/6.4-2017.08/0003-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch deleted file mode 100644 index fe0f146..0000000 --- a/packages/gcc-linaro/6.4-2017.08/0003-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch +++ /dev/null @@ -1,163 +0,0 @@ ---- - config/gcc-plugin.m4 | 18 +++++++++++++----- - gcc/configure | 22 +++++++++++++++------- - libcc1/configure | 22 +++++++++++++++------- - 3 files changed, 43 insertions(+), 19 deletions(-) - ---- a/config/gcc-plugin.m4 -+++ b/config/gcc-plugin.m4 -@@ -20,6 +20,9 @@ - - pluginlibs= - -+ PICFLAG="-fPIC" -+ UNDEFINEDPREAMBLE="extern int X;" -+ UNDEFINEDCODE="return X == 0;" - case "${host}" in - *-*-darwin*) - if test x$build = x$host; then -@@ -30,6 +33,11 @@ - export_sym_check= - fi - ;; -+ *-*-mingw*|*-*-cygwin*|*-*-msys*) -+ PICFLAG="" -+ UNDEFINEDPREAMBLE="" -+ UNDEFINEDCODE="" -+ ;; - *) - if test x$build = x$host; then - export_sym_check="objdump${exeext} -T" -@@ -81,17 +89,17 @@ - case "${host}" in - *-*-darwin*) - CFLAGS=`echo $CFLAGS | sed s/-mdynamic-no-pic//g` -- CFLAGS="$CFLAGS -fPIC" -+ CFLAGS="$CFLAGS ${PICFLAG}" - LDFLAGS="$LDFLAGS -shared -undefined dynamic_lookup" - ;; - *) -- CFLAGS="$CFLAGS -fPIC" -- LDFLAGS="$LDFLAGS -fPIC -shared" -+ CFLAGS="$CFLAGS ${PICFLAG}" -+ LDFLAGS="$LDFLAGS ${PICFLAG} -shared" - ;; - esac -- AC_MSG_CHECKING([for -fPIC -shared]) -+ AC_MSG_CHECKING([for ${PICFLAG} -shared]) - AC_TRY_LINK( -- [extern int X;],[return X == 0;], -+ [${UNDEFINEDPREAMBLE}],[${UNDEFINEDCODE}], - [AC_MSG_RESULT([yes]); have_pic_shared=yes], - [AC_MSG_RESULT([no]); have_pic_shared=no]) - if test x"$have_pic_shared" != x"yes" -o x"$ac_cv_search_dlopen" = x"no"; then ---- a/gcc/configure -+++ b/gcc/configure -@@ -29200,6 +29200,9 @@ - - pluginlibs= - -+ PICFLAG="-fPIC" -+ UNDEFINEDPREAMBLE="extern int X;" -+ UNDEFINEDCODE="return X == 0;" - case "${host}" in - *-*-darwin*) - if test x$build = x$host; then -@@ -29210,6 +29213,11 @@ - export_sym_check= - fi - ;; -+ *-*-mingw*|*-*-cygwin*|*-*-msys*) -+ PICFLAG="" -+ UNDEFINEDPREAMBLE="" -+ UNDEFINEDCODE="" -+ ;; - *) - if test x$build = x$host; then - export_sym_check="objdump${exeext} -T" -@@ -29322,23 +29330,23 @@ - case "${host}" in - *-*-darwin*) - CFLAGS=`echo $CFLAGS | sed s/-mdynamic-no-pic//g` -- CFLAGS="$CFLAGS -fPIC" -+ CFLAGS="$CFLAGS ${PICFLAG}" - LDFLAGS="$LDFLAGS -shared -undefined dynamic_lookup" - ;; - *) -- CFLAGS="$CFLAGS -fPIC" -- LDFLAGS="$LDFLAGS -fPIC -shared" -+ CFLAGS="$CFLAGS ${PICFLAG}" -+ LDFLAGS="$LDFLAGS ${PICFLAG} -shared" - ;; - esac -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -fPIC -shared" >&5 --$as_echo_n "checking for -fPIC -shared... " >&6; } -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${PICFLAG} -shared" >&5 -+$as_echo_n "checking for ${PICFLAG} -shared... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ --extern int X; -+${UNDEFINEDPREAMBLE} - int - main () - { --return X == 0; -+${UNDEFINEDCODE} - ; - return 0; - } ---- a/libcc1/configure -+++ b/libcc1/configure -@@ -14531,6 +14531,9 @@ - - pluginlibs= - -+ PICFLAG="-fPIC" -+ UNDEFINEDPREAMBLE="extern int X;" -+ UNDEFINEDCODE="return X == 0;" - case "${host}" in - *-*-darwin*) - if test x$build = x$host; then -@@ -14541,6 +14544,11 @@ - export_sym_check= - fi - ;; -+ *-*-mingw*|*-*-cygwin*|*-*-msys*) -+ PICFLAG="" -+ UNDEFINEDPREAMBLE="" -+ UNDEFINEDCODE="" -+ ;; - *) - if test x$build = x$host; then - export_sym_check="objdump${exeext} -T" -@@ -14653,23 +14661,23 @@ - case "${host}" in - *-*-darwin*) - CFLAGS=`echo $CFLAGS | sed s/-mdynamic-no-pic//g` -- CFLAGS="$CFLAGS -fPIC" -+ CFLAGS="$CFLAGS ${PICFLAG}" - LDFLAGS="$LDFLAGS -shared -undefined dynamic_lookup" - ;; - *) -- CFLAGS="$CFLAGS -fPIC" -- LDFLAGS="$LDFLAGS -fPIC -shared" -+ CFLAGS="$CFLAGS ${PICFLAG}" -+ LDFLAGS="$LDFLAGS ${PICFLAG} -shared" - ;; - esac -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -fPIC -shared" >&5 --$as_echo_n "checking for -fPIC -shared... " >&6; } -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${PICFLAG} -shared" >&5 -+$as_echo_n "checking for ${PICFLAG} -shared... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ --extern int X; -+${UNDEFINEDPREAMBLE} - int - main () - { --return X == 0; -+${UNDEFINEDCODE} - ; - return 0; - } diff --git a/packages/gcc-linaro/6.4-2017.08/0004-gcc-plugin-POSIX-include-sys-select-h.patch b/packages/gcc-linaro/6.4-2017.08/0004-gcc-plugin-POSIX-include-sys-select-h.patch deleted file mode 100644 index 5f9a07a..0000000 --- a/packages/gcc-linaro/6.4-2017.08/0004-gcc-plugin-POSIX-include-sys-select-h.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- - libcc1/connection.cc | 1 + - 1 file changed, 1 insertion(+) - ---- a/libcc1/connection.cc -+++ b/libcc1/connection.cc -@@ -21,6 +21,7 @@ - #include - #include - #include -+#include - #include - #include - #include "marshall.hh" diff --git a/packages/gcc-linaro/6.4-2017.08/0005-arm-softfloat-libgcc.patch b/packages/gcc-linaro/6.4-2017.08/0005-arm-softfloat-libgcc.patch deleted file mode 100644 index 350857d..0000000 --- a/packages/gcc-linaro/6.4-2017.08/0005-arm-softfloat-libgcc.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- - gcc/config/arm/linux-elf.h | 2 +- - libgcc/config/arm/t-linux | 7 ++++++- - 2 files changed, 7 insertions(+), 2 deletions(-) - ---- a/gcc/config/arm/linux-elf.h -+++ b/gcc/config/arm/linux-elf.h -@@ -60,7 +60,7 @@ - %{shared:-lc} \ - %{!shared:%{profile:-lc_p}%{!profile:-lc}}" - --#define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc" -+#define LIBGCC_SPEC "-lgcc" - - #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" - ---- a/libgcc/config/arm/t-linux -+++ b/libgcc/config/arm/t-linux -@@ -1,6 +1,11 @@ - LIB1ASMSRC = arm/lib1funcs.S - LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \ -- _ctzsi2 _arm_addsubdf3 _arm_addsubsf3 -+ _ctzsi2 _arm_addsubdf3 _arm_addsubsf3 \ -+ _arm_addsubdf3 _arm_addsubsf3 \ -+ _arm_negdf2 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 \ -+ _arm_fixdfsi _arm_fixunsdfsi _arm_truncdfsf2 \ -+ _arm_negsf2 _arm_muldivsf3 _arm_cmpsf2 _arm_unordsf2 \ -+ _arm_fixsfsi _arm_fixunssfsi - - # Just for these, we omit the frame pointer since it makes such a big - # difference. diff --git a/packages/gcc-linaro/6.4-2017.08/0006-arm_unbreak_armv4t.patch b/packages/gcc-linaro/6.4-2017.08/0006-arm_unbreak_armv4t.patch deleted file mode 100644 index 7c37445..0000000 --- a/packages/gcc-linaro/6.4-2017.08/0006-arm_unbreak_armv4t.patch +++ /dev/null @@ -1,17 +0,0 @@ -http://sourceware.org/ml/crossgcc/2008-05/msg00009.html - ---- - gcc/config/arm/linux-eabi.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/gcc/config/arm/linux-eabi.h -+++ b/gcc/config/arm/linux-eabi.h -@@ -45,7 +45,7 @@ - The ARM10TDMI core is the default for armv5t, so set - SUBTARGET_CPU_DEFAULT to achieve this. */ - #undef SUBTARGET_CPU_DEFAULT --#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi -+#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi - - /* TARGET_BIG_ENDIAN_DEFAULT is set in - config.gcc for big endian configurations. */ diff --git a/packages/gcc-linaro/6.4-2017.08/0007-cilk-wchar.patch b/packages/gcc-linaro/6.4-2017.08/0007-cilk-wchar.patch deleted file mode 100644 index 300837f..0000000 --- a/packages/gcc-linaro/6.4-2017.08/0007-cilk-wchar.patch +++ /dev/null @@ -1,54 +0,0 @@ -[PATCH] cilk: fix build without wchar - -When building against uClibc with wchar support disabled, WCHAR_MIN and -WCHAR_MAX are not defined leading to compilation errors. - -Fix it by only including the wchar code if available. - -Signed-off-by: Peter Korsgaard ---- - libcilkrts/include/cilk/reducer_min_max.h | 8 ++++++++ - 1 file changed, 8 insertions(+) - ---- a/libcilkrts/include/cilk/reducer_min_max.h -+++ b/libcilkrts/include/cilk/reducer_min_max.h -@@ -3154,7 +3154,9 @@ - CILK_C_REDUCER_MAX_INSTANCE(char, char, CHAR_MIN) - CILK_C_REDUCER_MAX_INSTANCE(unsigned char, uchar, 0) - CILK_C_REDUCER_MAX_INSTANCE(signed char, schar, SCHAR_MIN) -+#ifdef WCHAR_MIN - CILK_C_REDUCER_MAX_INSTANCE(wchar_t, wchar_t, WCHAR_MIN) -+#endif - CILK_C_REDUCER_MAX_INSTANCE(short, short, SHRT_MIN) - CILK_C_REDUCER_MAX_INSTANCE(unsigned short, ushort, 0) - CILK_C_REDUCER_MAX_INSTANCE(int, int, INT_MIN) -@@ -3306,7 +3308,9 @@ - CILK_C_REDUCER_MAX_INDEX_INSTANCE(char, char, CHAR_MIN) - CILK_C_REDUCER_MAX_INDEX_INSTANCE(unsigned char, uchar, 0) - CILK_C_REDUCER_MAX_INDEX_INSTANCE(signed char, schar, SCHAR_MIN) -+#ifdef WCHAR_MIN - CILK_C_REDUCER_MAX_INDEX_INSTANCE(wchar_t, wchar_t, WCHAR_MIN) -+#endif - CILK_C_REDUCER_MAX_INDEX_INSTANCE(short, short, SHRT_MIN) - CILK_C_REDUCER_MAX_INDEX_INSTANCE(unsigned short, ushort, 0) - CILK_C_REDUCER_MAX_INDEX_INSTANCE(int, int, INT_MIN) -@@ -3432,7 +3436,9 @@ - CILK_C_REDUCER_MIN_INSTANCE(char, char, CHAR_MAX) - CILK_C_REDUCER_MIN_INSTANCE(unsigned char, uchar, CHAR_MAX) - CILK_C_REDUCER_MIN_INSTANCE(signed char, schar, SCHAR_MAX) -+#ifdef WCHAR_MAX - CILK_C_REDUCER_MIN_INSTANCE(wchar_t, wchar_t, WCHAR_MAX) -+#endif - CILK_C_REDUCER_MIN_INSTANCE(short, short, SHRT_MAX) - CILK_C_REDUCER_MIN_INSTANCE(unsigned short, ushort, USHRT_MAX) - CILK_C_REDUCER_MIN_INSTANCE(int, int, INT_MAX) -@@ -3584,7 +3590,9 @@ - CILK_C_REDUCER_MIN_INDEX_INSTANCE(char, char, CHAR_MAX) - CILK_C_REDUCER_MIN_INDEX_INSTANCE(unsigned char, uchar, CHAR_MAX) - CILK_C_REDUCER_MIN_INDEX_INSTANCE(signed char, schar, SCHAR_MAX) -+#ifdef WCHAR_MAX - CILK_C_REDUCER_MIN_INDEX_INSTANCE(wchar_t, wchar_t, WCHAR_MAX) -+#endif - CILK_C_REDUCER_MIN_INDEX_INSTANCE(short, short, SHRT_MAX) - CILK_C_REDUCER_MIN_INDEX_INSTANCE(unsigned short, ushort, USHRT_MAX) - CILK_C_REDUCER_MIN_INDEX_INSTANCE(int, int, INT_MAX) diff --git a/packages/gcc-linaro/6.4-2017.08/0008-xtensa-fix-PR-target-82181.patch b/packages/gcc-linaro/6.4-2017.08/0008-xtensa-fix-PR-target-82181.patch deleted file mode 100644 index 1258023..0000000 --- a/packages/gcc-linaro/6.4-2017.08/0008-xtensa-fix-PR-target-82181.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 3bc2ee6886f1619bc6a2257a0775142526b1a57a Mon Sep 17 00:00:00 2001 -From: jcmvbkbc -Date: Mon, 11 Sep 2017 21:53:38 +0000 -Subject: [PATCH] xtensa: fix PR target/82181 - -2017-09-11 Max Filippov -gcc/ - Backport from mainline - * config/xtensa/xtensa.c (xtensa_mem_offset): Check that both - words of DImode object are reachable by xtensa_uimm8x4 access. - -Signed-off-by: Max Filippov ---- - gcc/config/xtensa/xtensa.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/gcc/config/xtensa/xtensa.c -+++ b/gcc/config/xtensa/xtensa.c -@@ -601,6 +601,7 @@ - case HImode: - return xtensa_uimm8x2 (v); - -+ case DImode: - case DFmode: - return (xtensa_uimm8x4 (v) && xtensa_uimm8x4 (v + 4)); - diff --git a/packages/gcc-linaro/6.4-2017.08/0009-fix-m68k-compile.patch b/packages/gcc-linaro/6.4-2017.08/0009-fix-m68k-compile.patch deleted file mode 100644 index 9437f25..0000000 --- a/packages/gcc-linaro/6.4-2017.08/0009-fix-m68k-compile.patch +++ /dev/null @@ -1,18 +0,0 @@ -remove unused header, which breaks the toolchain building - -Signed-off-by: Waldemar Brodkorb - ---- - libgcc/config/m68k/linux-atomic.c | 1 - - 1 file changed, 1 deletion(-) - ---- a/libgcc/config/m68k/linux-atomic.c -+++ b/libgcc/config/m68k/linux-atomic.c -@@ -33,7 +33,6 @@ - using the kernel helper defined below. There is no support for - 64-bit operations yet. */ - --#include - #include - - #ifndef __NR_atomic_cmpxchg_32 diff --git a/packages/gcc-linaro/6.4-2017.08/0010-fix-m68k-uclinux.patch b/packages/gcc-linaro/6.4-2017.08/0010-fix-m68k-uclinux.patch deleted file mode 100644 index 20d7c4a..0000000 --- a/packages/gcc-linaro/6.4-2017.08/0010-fix-m68k-uclinux.patch +++ /dev/null @@ -1,21 +0,0 @@ -avoids internal compiler error while compiling linux-atomic.c -See here: -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53833 - -Signed-off-by: Waldemar Brodkorb - ---- - libgcc/config.host | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/libgcc/config.host -+++ b/libgcc/config.host -@@ -824,7 +824,7 @@ - m68k*-*-openbsd*) - ;; - m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux with uClibc -- tmake_file="$tmake_file m68k/t-floatlib m68k/t-linux" -+ tmake_file="$tmake_file m68k/t-floatlib" - md_unwind_header=m68k/linux-unwind.h - ;; - m68k-*-linux*) # Motorola m68k's running GNU/Linux diff --git a/packages/gcc-linaro/6.4-2017.08/0011-libgcc-mkmap-symver-support-skip_underscore.patch b/packages/gcc-linaro/6.4-2017.08/0011-libgcc-mkmap-symver-support-skip_underscore.patch deleted file mode 100644 index c6421d0..0000000 --- a/packages/gcc-linaro/6.4-2017.08/0011-libgcc-mkmap-symver-support-skip_underscore.patch +++ /dev/null @@ -1,55 +0,0 @@ -From ae9c3e354440c4a0f105a9eabfb2f77be085ebc1 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Thu, 18 Aug 2016 17:59:16 +0200 -Subject: [PATCH] libgcc/mkmap-symver: support skip_underscore - -Some platforms, such as Blackfin, have a special prefix for assembly -symbols as opposed to C symbols. For this reason, a function named -"foo()" in C will in fact be visible as a symbol called "_foo" in the -ELF binary. - -The current linker version script logic in libgcc doesn't take into -account this situation properly. The Blackfin specific -libgcc/config/bfin/libgcc-glibc.ver has an additional "_" in front of -every symbol so that it matches the output of "nm" (which gets parsed to -produce the final linker version script). But due to this additional -"_", ld no longer matches with the symbols since "ld" does the matching -with the original symbol name, not the one prefixed with "_". - -Due to this, none of the symbols in libgcc/config/bfin/libgcc-glibc.ver -are actually matched with symbols in libgcc. This causes all libgcc -symbols to be left as "LOCAL", which causes lots of "undefined -reference" whenever some C or C++ code that calls a function of libgcc -is compiled. - -To address this, this commit introduces a "skip_underscore" variable to -the mkmap-symver script. It tells mkmap-symver to ignore the leading -underscore from the "nm" output. - -Note that this new argument is different from the existing -"leading_underscore" argument, which *adds* an additional underscore to -the generated linker version script. - -Having this functionality paves the way to using the generic linker -version information for Blackfin, instead of using a custom one. - -Signed-off-by: Thomas Petazzoni ---- - libgcc/mkmap-symver.awk | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - ---- a/libgcc/mkmap-symver.awk -+++ b/libgcc/mkmap-symver.awk -@@ -47,7 +47,11 @@ - - state == "nm" && NF == 3 { - split ($3, s, "@") -- def[s[1]] = 1; -+ if (skip_underscore) -+ symname = substr(s[1], 2); -+ else -+ symname = s[1]; -+ def[symname] = 1; - sawsymbol = 1; - next; - } diff --git a/packages/gcc-linaro/6.4-2017.08/0012-libgcc-config-bfin-use-the-generic-linker-version-in.patch b/packages/gcc-linaro/6.4-2017.08/0012-libgcc-config-bfin-use-the-generic-linker-version-in.patch deleted file mode 100644 index ac75cfa..0000000 --- a/packages/gcc-linaro/6.4-2017.08/0012-libgcc-config-bfin-use-the-generic-linker-version-in.patch +++ /dev/null @@ -1,1937 +0,0 @@ -From 56d606931716de30a89a40dc69a9282c1b4e2880 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Thu, 18 Aug 2016 18:04:06 +0200 -Subject: [PATCH] libgcc/config/bfin: use the generic linker version - information - -This commit makes the Blackfin platform use the generic linker version -information, rather than a completely duplicated file, specific for the -Blackfin architecture. - -This is made possible using the newly introduced skip_underscore -variable of the mkmap-symver script. - -This also allows to get a correct linker version file, with symbol names -matching the ones found in libgcc. Thanks to this, the necessary symbols -are marked "GLOBAL" instead of "LOCAL", which makes them visible at link -time, and solves a large number of "undefined reference" -issues. Indeed, the Blackfin specific linker version script had an extra -underscore in front of all symbols, which meant none of them matched the -symbols in libgcc, and therefore all libgcc symbols were marked as -"LOCAL", making them invisible for linking. - -Signed-off-by: Thomas Petazzoni ---- - libgcc/config/bfin/libgcc-glibc.ver | 1894 ------------------------------------ - libgcc/config/bfin/t-linux | 3 - 2 files changed, 4 insertions(+), 1893 deletions(-) - ---- a/libgcc/config/bfin/libgcc-glibc.ver -+++ b/libgcc/config/bfin/libgcc-glibc.ver -@@ -16,1898 +16,8 @@ - # along with GCC; see the file COPYING3. If not see - # . - --GCC_3.0 { -- # libgcc1 integer symbols -- ___absvsi2 -- ___addvsi3 -- ___ashlsi3 -- ___ashrsi3 -- ___divsi3 -- ___lshrsi3 -- ___modsi3 -- ___mulsi3 -- ___mulvsi3 -- ___negvsi2 -- ___subvsi3 -- ___udivsi3 -- ___umodsi3 -- -- # libgcc1 floating point symbols -- ___addsf3 -- ___adddf3 -- ___addxf3 -- ___addtf3 -- ___divsf3 -- ___divdf3 -- ___divxf3 -- ___divtf3 -- ___eqsf2 -- ___eqdf2 -- ___eqxf2 -- ___eqtf2 -- ___extenddfxf2 -- ___extenddftf2 -- ___extendsfdf2 -- ___extendsfxf2 -- ___extendsftf2 -- ___fixsfsi -- ___fixdfsi -- ___fixxfsi -- ___fixtfsi -- ___floatsisf -- ___floatsidf -- ___floatsixf -- ___floatsitf -- ___gesf2 -- ___gedf2 -- ___gexf2 -- ___getf2 -- ___gtsf2 -- ___gtdf2 -- ___gtxf2 -- ___gttf2 -- ___lesf2 -- ___ledf2 -- ___lexf2 -- ___letf2 -- ___ltsf2 -- ___ltdf2 -- ___ltxf2 -- ___lttf2 -- ___mulsf3 -- ___muldf3 -- ___mulxf3 -- ___multf3 -- ___negsf2 -- ___negdf2 -- ___negxf2 -- ___negtf2 -- ___nesf2 -- ___nedf2 -- ___nexf2 -- ___netf2 -- ___subsf3 -- ___subdf3 -- ___subxf3 -- ___subtf3 -- ___truncdfsf2 -- ___truncxfsf2 -- ___trunctfsf2 -- ___truncxfdf2 -- ___trunctfdf2 -- -- # libgcc2 DImode arithmetic (for 32-bit targets). -- ___absvdi2 -- ___addvdi3 -- ___ashldi3 -- ___ashrdi3 -- ___cmpdi2 -- ___divdi3 -- ___ffsdi2 -- ___fixdfdi -- ___fixsfdi -- ___fixtfdi -- ___fixxfdi -- ___fixunsdfdi -- ___fixunsdfsi -- ___fixunssfsi -- ___fixunssfdi -- ___fixunstfdi -- ___fixunstfsi -- ___fixunsxfdi -- ___fixunsxfsi -- ___floatdidf -- ___floatdisf -- ___floatdixf -- ___floatditf -- ___lshrdi3 -- ___moddi3 -- ___muldi3 -- ___mulvdi3 -- ___negdi2 -- ___negvdi2 -- ___subvdi3 -- ___ucmpdi2 -- ___udivdi3 -- ___udivmoddi4 -- ___umoddi3 -- -- # libgcc2 TImode arithmetic (for 64-bit targets). -- ___ashlti3 -- ___ashrti3 -- ___cmpti2 -- ___divti3 -- ___ffsti2 -- ___fixdfti -- ___fixsfti -- ___fixtfti -- ___fixxfti -- ___lshrti3 -- ___modti3 -- ___multi3 -- ___negti2 -- ___ucmpti2 -- ___udivmodti4 -- ___udivti3 -- ___umodti3 -- ___fixunsdfti -- ___fixunssfti -- ___fixunstfti -- ___fixunsxfti -- ___floattidf -- ___floattisf -- ___floattixf -- ___floattitf -- -- # Used to deal with trampoline initialization on some platforms -- ___clear_cache -- -- # EH symbols -- __Unwind_DeleteException -- __Unwind_Find_FDE -- __Unwind_ForcedUnwind -- __Unwind_GetGR -- __Unwind_GetIP -- __Unwind_GetLanguageSpecificData -- __Unwind_GetRegionStart -- __Unwind_GetTextRelBase -- __Unwind_GetDataRelBase -- __Unwind_RaiseException -- __Unwind_Resume -- __Unwind_SetGR -- __Unwind_SetIP -- ___deregister_frame -- ___deregister_frame_info -- ___deregister_frame_info_bases -- ___register_frame -- ___register_frame_info -- ___register_frame_info_bases -- ___register_frame_info_table -- ___register_frame_info_table_bases -- ___register_frame_table -- -- # SjLj EH symbols -- __Unwind_SjLj_Register -- __Unwind_SjLj_Unregister -- __Unwind_SjLj_RaiseException -- __Unwind_SjLj_ForcedUnwind -- __Unwind_SjLj_Resume --} -- --%inherit GCC_3.3 GCC_3.0 --GCC_3.3 { -- __Unwind_FindEnclosingFunction -- __Unwind_GetCFA -- __Unwind_Backtrace -- __Unwind_Resume_or_Rethrow -- __Unwind_SjLj_Resume_or_Rethrow --} -- --%inherit GCC_3.3.1 GCC_3.3 --GCC_3.3.1 { -- ___gcc_personality_sj0 -- ___gcc_personality_v0 --} -- --%inherit GCC_3.3.2 GCC_3.3.1 --GCC_3.3.2 { --} --%inherit GCC_3.3.4 GCC_3.3.2 --GCC_3.3.4 { -- ___unorddf2 -- ___unordsf2 --} -- --%inherit GCC_3.4 GCC_3.3.4 --GCC_3.4 { -- # bit scanning and counting built-ins -- ___clzsi2 -- ___clzdi2 -- ___clzti2 -- ___ctzsi2 -- ___ctzdi2 -- ___ctzti2 -- ___popcountsi2 -- ___popcountdi2 -- ___popcountti2 -- ___paritysi2 -- ___paritydi2 -- ___parityti2 --} -- --%inherit GCC_3.4.2 GCC_3.4 --GCC_3.4.2 { -- # Used to deal with trampoline initialization on some platforms -- ___enable_execute_stack -- ___trampoline_setup --} -- --%inherit GCC_3.4.4 GCC_3.4.2 --GCC_3.4.4 { -- # libgcc2 TImode arithmetic (for 64-bit targets). -- ___absvti2 -- ___addvti3 -- ___mulvti3 -- ___negvti2 -- ___subvti3 --} -- --%inherit GCC_4.0.0 GCC_3.4.4 --GCC_4.0.0 { -- # libgcc2 __builtin_powi helpers. -- ___powisf2 -- ___powidf2 -- ___powixf2 -- ___powitf2 -- -- # c99 compliant complex arithmetic -- ___divsc3 -- ___divdc3 -- ___divxc3 -- ___divtc3 -- ___mulsc3 -- ___muldc3 -- ___mulxc3 -- ___multc3 --} -- - %inherit GCC_4.1.0 GCC_4.0.0 - GCC_4.1.0 { -- ___smulsi3_highpart -- ___umulsi3_highpart --} -- --%inherit GCC_4.2.0 GCC_4.1.0 --GCC_4.2.0 { -- # unsigned-to-floating conversions -- ___floatunsisf -- ___floatunsidf -- ___floatunsixf -- ___floatunsitf -- ___floatundidf -- ___floatundisf -- ___floatundixf -- ___floatunditf -- ___floatuntidf -- ___floatuntisf -- ___floatuntixf -- ___floatuntitf -- __Unwind_GetIPInfo --} -- --%inherit GCC_4.3.0 GCC_4.2.0 --GCC_4.3.0 { -- # byte swapping routines -- ___bswapsi2 -- ___bswapdi2 -- ___emutls_get_address -- ___emutls_register_common -- ___ffssi2 -- ___extendxftf2 -- ___trunctfxf2 -- -- # fixed-point routines -- ___addqq3 -- ___addhq3 -- ___addsq3 -- ___adddq3 -- ___addtq3 -- ___adduqq3 -- ___adduhq3 -- ___addusq3 -- ___addudq3 -- ___addutq3 -- ___addha3 -- ___addsa3 -- ___addda3 -- ___addta3 -- ___adduha3 -- ___addusa3 -- ___adduda3 -- ___adduta3 -- ___ssaddqq3 -- ___ssaddhq3 -- ___ssaddsq3 -- ___ssadddq3 -- ___ssaddtq3 -- ___ssaddha3 -- ___ssaddsa3 -- ___ssaddda3 -- ___ssaddta3 -- ___usadduqq3 -- ___usadduhq3 -- ___usaddusq3 -- ___usaddudq3 -- ___usaddutq3 -- ___usadduha3 -- ___usaddusa3 -- ___usadduda3 -- ___usadduta3 -- ___subqq3 -- ___subhq3 -- ___subsq3 -- ___subdq3 -- ___subtq3 -- ___subuqq3 -- ___subuhq3 -- ___subusq3 -- ___subudq3 -- ___subutq3 -- ___subha3 -- ___subsa3 -- ___subda3 -- ___subta3 -- ___subuha3 -- ___subusa3 -- ___subuda3 -- ___subuta3 -- ___sssubqq3 -- ___sssubhq3 -- ___sssubsq3 -- ___sssubdq3 -- ___sssubtq3 -- ___sssubha3 -- ___sssubsa3 -- ___sssubda3 -- ___sssubta3 -- ___ussubuqq3 -- ___ussubuhq3 -- ___ussubusq3 -- ___ussubudq3 -- ___ussubutq3 -- ___ussubuha3 -- ___ussubusa3 -- ___ussubuda3 -- ___ussubuta3 -- ___mulqq3 -- ___mulhq3 -- ___mulsq3 -- ___muldq3 -- ___multq3 -- ___muluqq3 -- ___muluhq3 -- ___mulusq3 -- ___muludq3 -- ___mulutq3 -- ___mulha3 -- ___mulsa3 -- ___mulda3 -- ___multa3 -- ___muluha3 -- ___mulusa3 -- ___muluda3 -- ___muluta3 -- ___ssmulqq3 -- ___ssmulhq3 -- ___ssmulsq3 -- ___ssmuldq3 -- ___ssmultq3 -- ___ssmulha3 -- ___ssmulsa3 -- ___ssmulda3 -- ___ssmulta3 -- ___usmuluqq3 -- ___usmuluhq3 -- ___usmulusq3 -- ___usmuludq3 -- ___usmulutq3 -- ___usmuluha3 -- ___usmulusa3 -- ___usmuluda3 -- ___usmuluta3 -- ___divqq3 -- ___divhq3 -- ___divsq3 -- ___divdq3 -- ___divtq3 -- ___divha3 -- ___divsa3 -- ___divda3 -- ___divta3 -- ___udivuqq3 -- ___udivuhq3 -- ___udivusq3 -- ___udivudq3 -- ___udivutq3 -- ___udivuha3 -- ___udivusa3 -- ___udivuda3 -- ___udivuta3 -- ___ssdivqq3 -- ___ssdivhq3 -- ___ssdivsq3 -- ___ssdivdq3 -- ___ssdivtq3 -- ___ssdivha3 -- ___ssdivsa3 -- ___ssdivda3 -- ___ssdivta3 -- ___usdivuqq3 -- ___usdivuhq3 -- ___usdivusq3 -- ___usdivudq3 -- ___usdivutq3 -- ___usdivuha3 -- ___usdivusa3 -- ___usdivuda3 -- ___usdivuta3 -- ___negqq2 -- ___neghq2 -- ___negsq2 -- ___negdq2 -- ___negtq2 -- ___neguqq2 -- ___neguhq2 -- ___negusq2 -- ___negudq2 -- ___negutq2 -- ___negha2 -- ___negsa2 -- ___negda2 -- ___negta2 -- ___neguha2 -- ___negusa2 -- ___neguda2 -- ___neguta2 -- ___ssnegqq2 -- ___ssneghq2 -- ___ssnegsq2 -- ___ssnegdq2 -- ___ssnegtq2 -- ___ssnegha2 -- ___ssnegsa2 -- ___ssnegda2 -- ___ssnegta2 -- ___usneguqq2 -- ___usneguhq2 -- ___usnegusq2 -- ___usnegudq2 -- ___usnegutq2 -- ___usneguha2 -- ___usnegusa2 -- ___usneguda2 -- ___usneguta2 -- ___ashlqq3 -- ___ashlhq3 -- ___ashlsq3 -- ___ashldq3 -- ___ashltq3 -- ___ashluqq3 -- ___ashluhq3 -- ___ashlusq3 -- ___ashludq3 -- ___ashlutq3 -- ___ashlha3 -- ___ashlsa3 -- ___ashlda3 -- ___ashlta3 -- ___ashluha3 -- ___ashlusa3 -- ___ashluda3 -- ___ashluta3 -- ___ashrqq3 -- ___ashrhq3 -- ___ashrsq3 -- ___ashrdq3 -- ___ashrtq3 -- ___ashrha3 -- ___ashrsa3 -- ___ashrda3 -- ___ashrta3 -- ___lshruqq3 -- ___lshruhq3 -- ___lshrusq3 -- ___lshrudq3 -- ___lshrutq3 -- ___lshruha3 -- ___lshrusa3 -- ___lshruda3 -- ___lshruta3 -- ___ssashlqq3 -- ___ssashlhq3 -- ___ssashlsq3 -- ___ssashldq3 -- ___ssashltq3 -- ___ssashlha3 -- ___ssashlsa3 -- ___ssashlda3 -- ___ssashlta3 -- ___usashluqq3 -- ___usashluhq3 -- ___usashlusq3 -- ___usashludq3 -- ___usashlutq3 -- ___usashluha3 -- ___usashlusa3 -- ___usashluda3 -- ___usashluta3 -- ___cmpqq2 -- ___cmphq2 -- ___cmpsq2 -- ___cmpdq2 -- ___cmptq2 -- ___cmpuqq2 -- ___cmpuhq2 -- ___cmpusq2 -- ___cmpudq2 -- ___cmputq2 -- ___cmpha2 -- ___cmpsa2 -- ___cmpda2 -- ___cmpta2 -- ___cmpuha2 -- ___cmpusa2 -- ___cmpuda2 -- ___cmputa2 -- ___fractqqhq2 -- ___fractqqsq2 -- ___fractqqdq2 -- ___fractqqtq2 -- ___fractqqha -- ___fractqqsa -- ___fractqqda -- ___fractqqta -- ___fractqquqq -- ___fractqquhq -- ___fractqqusq -- ___fractqqudq -- ___fractqqutq -- ___fractqquha -- ___fractqqusa -- ___fractqquda -- ___fractqquta -- ___fractqqqi -- ___fractqqhi -- ___fractqqsi -- ___fractqqdi -- ___fractqqti -- ___fractqqsf -- ___fractqqdf -- ___fracthqqq2 -- ___fracthqsq2 -- ___fracthqdq2 -- ___fracthqtq2 -- ___fracthqha -- ___fracthqsa -- ___fracthqda -- ___fracthqta -- ___fracthquqq -- ___fracthquhq -- ___fracthqusq -- ___fracthqudq -- ___fracthqutq -- ___fracthquha -- ___fracthqusa -- ___fracthquda -- ___fracthquta -- ___fracthqqi -- ___fracthqhi -- ___fracthqsi -- ___fracthqdi -- ___fracthqti -- ___fracthqsf -- ___fracthqdf -- ___fractsqqq2 -- ___fractsqhq2 -- ___fractsqdq2 -- ___fractsqtq2 -- ___fractsqha -- ___fractsqsa -- ___fractsqda -- ___fractsqta -- ___fractsquqq -- ___fractsquhq -- ___fractsqusq -- ___fractsqudq -- ___fractsqutq -- ___fractsquha -- ___fractsqusa -- ___fractsquda -- ___fractsquta -- ___fractsqqi -- ___fractsqhi -- ___fractsqsi -- ___fractsqdi -- ___fractsqti -- ___fractsqsf -- ___fractsqdf -- ___fractdqqq2 -- ___fractdqhq2 -- ___fractdqsq2 -- ___fractdqtq2 -- ___fractdqha -- ___fractdqsa -- ___fractdqda -- ___fractdqta -- ___fractdquqq -- ___fractdquhq -- ___fractdqusq -- ___fractdqudq -- ___fractdqutq -- ___fractdquha -- ___fractdqusa -- ___fractdquda -- ___fractdquta -- ___fractdqqi -- ___fractdqhi -- ___fractdqsi -- ___fractdqdi -- ___fractdqti -- ___fractdqsf -- ___fractdqdf -- ___fracttqqq2 -- ___fracttqhq2 -- ___fracttqsq2 -- ___fracttqdq2 -- ___fracttqha -- ___fracttqsa -- ___fracttqda -- ___fracttqta -- ___fracttquqq -- ___fracttquhq -- ___fracttqusq -- ___fracttqudq -- ___fracttqutq -- ___fracttquha -- ___fracttqusa -- ___fracttquda -- ___fracttquta -- ___fracttqqi -- ___fracttqhi -- ___fracttqsi -- ___fracttqdi -- ___fracttqti -- ___fracttqsf -- ___fracttqdf -- ___fracthaqq -- ___fracthahq -- ___fracthasq -- ___fracthadq -- ___fracthatq -- ___fracthasa2 -- ___fracthada2 -- ___fracthata2 -- ___fracthauqq -- ___fracthauhq -- ___fracthausq -- ___fracthaudq -- ___fracthautq -- ___fracthauha -- ___fracthausa -- ___fracthauda -- ___fracthauta -- ___fracthaqi -- ___fracthahi -- ___fracthasi -- ___fracthadi -- ___fracthati -- ___fracthasf -- ___fracthadf -- ___fractsaqq -- ___fractsahq -- ___fractsasq -- ___fractsadq -- ___fractsatq -- ___fractsaha2 -- ___fractsada2 -- ___fractsata2 -- ___fractsauqq -- ___fractsauhq -- ___fractsausq -- ___fractsaudq -- ___fractsautq -- ___fractsauha -- ___fractsausa -- ___fractsauda -- ___fractsauta -- ___fractsaqi -- ___fractsahi -- ___fractsasi -- ___fractsadi -- ___fractsati -- ___fractsasf -- ___fractsadf -- ___fractdaqq -- ___fractdahq -- ___fractdasq -- ___fractdadq -- ___fractdatq -- ___fractdaha2 -- ___fractdasa2 -- ___fractdata2 -- ___fractdauqq -- ___fractdauhq -- ___fractdausq -- ___fractdaudq -- ___fractdautq -- ___fractdauha -- ___fractdausa -- ___fractdauda -- ___fractdauta -- ___fractdaqi -- ___fractdahi -- ___fractdasi -- ___fractdadi -- ___fractdati -- ___fractdasf -- ___fractdadf -- ___fracttaqq -- ___fracttahq -- ___fracttasq -- ___fracttadq -- ___fracttatq -- ___fracttaha2 -- ___fracttasa2 -- ___fracttada2 -- ___fracttauqq -- ___fracttauhq -- ___fracttausq -- ___fracttaudq -- ___fracttautq -- ___fracttauha -- ___fracttausa -- ___fracttauda -- ___fracttauta -- ___fracttaqi -- ___fracttahi -- ___fracttasi -- ___fracttadi -- ___fracttati -- ___fracttasf -- ___fracttadf -- ___fractuqqqq -- ___fractuqqhq -- ___fractuqqsq -- ___fractuqqdq -- ___fractuqqtq -- ___fractuqqha -- ___fractuqqsa -- ___fractuqqda -- ___fractuqqta -- ___fractuqquhq2 -- ___fractuqqusq2 -- ___fractuqqudq2 -- ___fractuqqutq2 -- ___fractuqquha -- ___fractuqqusa -- ___fractuqquda -- ___fractuqquta -- ___fractuqqqi -- ___fractuqqhi -- ___fractuqqsi -- ___fractuqqdi -- ___fractuqqti -- ___fractuqqsf -- ___fractuqqdf -- ___fractuhqqq -- ___fractuhqhq -- ___fractuhqsq -- ___fractuhqdq -- ___fractuhqtq -- ___fractuhqha -- ___fractuhqsa -- ___fractuhqda -- ___fractuhqta -- ___fractuhquqq2 -- ___fractuhqusq2 -- ___fractuhqudq2 -- ___fractuhqutq2 -- ___fractuhquha -- ___fractuhqusa -- ___fractuhquda -- ___fractuhquta -- ___fractuhqqi -- ___fractuhqhi -- ___fractuhqsi -- ___fractuhqdi -- ___fractuhqti -- ___fractuhqsf -- ___fractuhqdf -- ___fractusqqq -- ___fractusqhq -- ___fractusqsq -- ___fractusqdq -- ___fractusqtq -- ___fractusqha -- ___fractusqsa -- ___fractusqda -- ___fractusqta -- ___fractusquqq2 -- ___fractusquhq2 -- ___fractusqudq2 -- ___fractusqutq2 -- ___fractusquha -- ___fractusqusa -- ___fractusquda -- ___fractusquta -- ___fractusqqi -- ___fractusqhi -- ___fractusqsi -- ___fractusqdi -- ___fractusqti -- ___fractusqsf -- ___fractusqdf -- ___fractudqqq -- ___fractudqhq -- ___fractudqsq -- ___fractudqdq -- ___fractudqtq -- ___fractudqha -- ___fractudqsa -- ___fractudqda -- ___fractudqta -- ___fractudquqq2 -- ___fractudquhq2 -- ___fractudqusq2 -- ___fractudqutq2 -- ___fractudquha -- ___fractudqusa -- ___fractudquda -- ___fractudquta -- ___fractudqqi -- ___fractudqhi -- ___fractudqsi -- ___fractudqdi -- ___fractudqti -- ___fractudqsf -- ___fractudqdf -- ___fractutqqq -- ___fractutqhq -- ___fractutqsq -- ___fractutqdq -- ___fractutqtq -- ___fractutqha -- ___fractutqsa -- ___fractutqda -- ___fractutqta -- ___fractutquqq2 -- ___fractutquhq2 -- ___fractutqusq2 -- ___fractutqudq2 -- ___fractutquha -- ___fractutqusa -- ___fractutquda -- ___fractutquta -- ___fractutqqi -- ___fractutqhi -- ___fractutqsi -- ___fractutqdi -- ___fractutqti -- ___fractutqsf -- ___fractutqdf -- ___fractuhaqq -- ___fractuhahq -- ___fractuhasq -- ___fractuhadq -- ___fractuhatq -- ___fractuhaha -- ___fractuhasa -- ___fractuhada -- ___fractuhata -- ___fractuhauqq -- ___fractuhauhq -- ___fractuhausq -- ___fractuhaudq -- ___fractuhautq -- ___fractuhausa2 -- ___fractuhauda2 -- ___fractuhauta2 -- ___fractuhaqi -- ___fractuhahi -- ___fractuhasi -- ___fractuhadi -- ___fractuhati -- ___fractuhasf -- ___fractuhadf -- ___fractusaqq -- ___fractusahq -- ___fractusasq -- ___fractusadq -- ___fractusatq -- ___fractusaha -- ___fractusasa -- ___fractusada -- ___fractusata -- ___fractusauqq -- ___fractusauhq -- ___fractusausq -- ___fractusaudq -- ___fractusautq -- ___fractusauha2 -- ___fractusauda2 -- ___fractusauta2 -- ___fractusaqi -- ___fractusahi -- ___fractusasi -- ___fractusadi -- ___fractusati -- ___fractusasf -- ___fractusadf -- ___fractudaqq -- ___fractudahq -- ___fractudasq -- ___fractudadq -- ___fractudatq -- ___fractudaha -- ___fractudasa -- ___fractudada -- ___fractudata -- ___fractudauqq -- ___fractudauhq -- ___fractudausq -- ___fractudaudq -- ___fractudautq -- ___fractudauha2 -- ___fractudausa2 -- ___fractudauta2 -- ___fractudaqi -- ___fractudahi -- ___fractudasi -- ___fractudadi -- ___fractudati -- ___fractudasf -- ___fractudadf -- ___fractutaqq -- ___fractutahq -- ___fractutasq -- ___fractutadq -- ___fractutatq -- ___fractutaha -- ___fractutasa -- ___fractutada -- ___fractutata -- ___fractutauqq -- ___fractutauhq -- ___fractutausq -- ___fractutaudq -- ___fractutautq -- ___fractutauha2 -- ___fractutausa2 -- ___fractutauda2 -- ___fractutaqi -- ___fractutahi -- ___fractutasi -- ___fractutadi -- ___fractutati -- ___fractutasf -- ___fractutadf -- ___fractqiqq -- ___fractqihq -- ___fractqisq -- ___fractqidq -- ___fractqitq -- ___fractqiha -- ___fractqisa -- ___fractqida -- ___fractqita -- ___fractqiuqq -- ___fractqiuhq -- ___fractqiusq -- ___fractqiudq -- ___fractqiutq -- ___fractqiuha -- ___fractqiusa -- ___fractqiuda -- ___fractqiuta -- ___fracthiqq -- ___fracthihq -- ___fracthisq -- ___fracthidq -- ___fracthitq -- ___fracthiha -- ___fracthisa -- ___fracthida -- ___fracthita -- ___fracthiuqq -- ___fracthiuhq -- ___fracthiusq -- ___fracthiudq -- ___fracthiutq -- ___fracthiuha -- ___fracthiusa -- ___fracthiuda -- ___fracthiuta -- ___fractsiqq -- ___fractsihq -- ___fractsisq -- ___fractsidq -- ___fractsitq -- ___fractsiha -- ___fractsisa -- ___fractsida -- ___fractsita -- ___fractsiuqq -- ___fractsiuhq -- ___fractsiusq -- ___fractsiudq -- ___fractsiutq -- ___fractsiuha -- ___fractsiusa -- ___fractsiuda -- ___fractsiuta -- ___fractdiqq -- ___fractdihq -- ___fractdisq -- ___fractdidq -- ___fractditq -- ___fractdiha -- ___fractdisa -- ___fractdida -- ___fractdita -- ___fractdiuqq -- ___fractdiuhq -- ___fractdiusq -- ___fractdiudq -- ___fractdiutq -- ___fractdiuha -- ___fractdiusa -- ___fractdiuda -- ___fractdiuta -- ___fracttiqq -- ___fracttihq -- ___fracttisq -- ___fracttidq -- ___fracttitq -- ___fracttiha -- ___fracttisa -- ___fracttida -- ___fracttita -- ___fracttiuqq -- ___fracttiuhq -- ___fracttiusq -- ___fracttiudq -- ___fracttiutq -- ___fracttiuha -- ___fracttiusa -- ___fracttiuda -- ___fracttiuta -- ___fractsfqq -- ___fractsfhq -- ___fractsfsq -- ___fractsfdq -- ___fractsftq -- ___fractsfha -- ___fractsfsa -- ___fractsfda -- ___fractsfta -- ___fractsfuqq -- ___fractsfuhq -- ___fractsfusq -- ___fractsfudq -- ___fractsfutq -- ___fractsfuha -- ___fractsfusa -- ___fractsfuda -- ___fractsfuta -- ___fractdfqq -- ___fractdfhq -- ___fractdfsq -- ___fractdfdq -- ___fractdftq -- ___fractdfha -- ___fractdfsa -- ___fractdfda -- ___fractdfta -- ___fractdfuqq -- ___fractdfuhq -- ___fractdfusq -- ___fractdfudq -- ___fractdfutq -- ___fractdfuha -- ___fractdfusa -- ___fractdfuda -- ___fractdfuta -- ___satfractqqhq2 -- ___satfractqqsq2 -- ___satfractqqdq2 -- ___satfractqqtq2 -- ___satfractqqha -- ___satfractqqsa -- ___satfractqqda -- ___satfractqqta -- ___satfractqquqq -- ___satfractqquhq -- ___satfractqqusq -- ___satfractqqudq -- ___satfractqqutq -- ___satfractqquha -- ___satfractqqusa -- ___satfractqquda -- ___satfractqquta -- ___satfracthqqq2 -- ___satfracthqsq2 -- ___satfracthqdq2 -- ___satfracthqtq2 -- ___satfracthqha -- ___satfracthqsa -- ___satfracthqda -- ___satfracthqta -- ___satfracthquqq -- ___satfracthquhq -- ___satfracthqusq -- ___satfracthqudq -- ___satfracthqutq -- ___satfracthquha -- ___satfracthqusa -- ___satfracthquda -- ___satfracthquta -- ___satfractsqqq2 -- ___satfractsqhq2 -- ___satfractsqdq2 -- ___satfractsqtq2 -- ___satfractsqha -- ___satfractsqsa -- ___satfractsqda -- ___satfractsqta -- ___satfractsquqq -- ___satfractsquhq -- ___satfractsqusq -- ___satfractsqudq -- ___satfractsqutq -- ___satfractsquha -- ___satfractsqusa -- ___satfractsquda -- ___satfractsquta -- ___satfractdqqq2 -- ___satfractdqhq2 -- ___satfractdqsq2 -- ___satfractdqtq2 -- ___satfractdqha -- ___satfractdqsa -- ___satfractdqda -- ___satfractdqta -- ___satfractdquqq -- ___satfractdquhq -- ___satfractdqusq -- ___satfractdqudq -- ___satfractdqutq -- ___satfractdquha -- ___satfractdqusa -- ___satfractdquda -- ___satfractdquta -- ___satfracttqqq2 -- ___satfracttqhq2 -- ___satfracttqsq2 -- ___satfracttqdq2 -- ___satfracttqha -- ___satfracttqsa -- ___satfracttqda -- ___satfracttqta -- ___satfracttquqq -- ___satfracttquhq -- ___satfracttqusq -- ___satfracttqudq -- ___satfracttqutq -- ___satfracttquha -- ___satfracttqusa -- ___satfracttquda -- ___satfracttquta -- ___satfracthaqq -- ___satfracthahq -- ___satfracthasq -- ___satfracthadq -- ___satfracthatq -- ___satfracthasa2 -- ___satfracthada2 -- ___satfracthata2 -- ___satfracthauqq -- ___satfracthauhq -- ___satfracthausq -- ___satfracthaudq -- ___satfracthautq -- ___satfracthauha -- ___satfracthausa -- ___satfracthauda -- ___satfracthauta -- ___satfractsaqq -- ___satfractsahq -- ___satfractsasq -- ___satfractsadq -- ___satfractsatq -- ___satfractsaha2 -- ___satfractsada2 -- ___satfractsata2 -- ___satfractsauqq -- ___satfractsauhq -- ___satfractsausq -- ___satfractsaudq -- ___satfractsautq -- ___satfractsauha -- ___satfractsausa -- ___satfractsauda -- ___satfractsauta -- ___satfractdaqq -- ___satfractdahq -- ___satfractdasq -- ___satfractdadq -- ___satfractdatq -- ___satfractdaha2 -- ___satfractdasa2 -- ___satfractdata2 -- ___satfractdauqq -- ___satfractdauhq -- ___satfractdausq -- ___satfractdaudq -- ___satfractdautq -- ___satfractdauha -- ___satfractdausa -- ___satfractdauda -- ___satfractdauta -- ___satfracttaqq -- ___satfracttahq -- ___satfracttasq -- ___satfracttadq -- ___satfracttatq -- ___satfracttaha2 -- ___satfracttasa2 -- ___satfracttada2 -- ___satfracttauqq -- ___satfracttauhq -- ___satfracttausq -- ___satfracttaudq -- ___satfracttautq -- ___satfracttauha -- ___satfracttausa -- ___satfracttauda -- ___satfracttauta -- ___satfractuqqqq -- ___satfractuqqhq -- ___satfractuqqsq -- ___satfractuqqdq -- ___satfractuqqtq -- ___satfractuqqha -- ___satfractuqqsa -- ___satfractuqqda -- ___satfractuqqta -- ___satfractuqquhq2 -- ___satfractuqqusq2 -- ___satfractuqqudq2 -- ___satfractuqqutq2 -- ___satfractuqquha -- ___satfractuqqusa -- ___satfractuqquda -- ___satfractuqquta -- ___satfractuhqqq -- ___satfractuhqhq -- ___satfractuhqsq -- ___satfractuhqdq -- ___satfractuhqtq -- ___satfractuhqha -- ___satfractuhqsa -- ___satfractuhqda -- ___satfractuhqta -- ___satfractuhquqq2 -- ___satfractuhqusq2 -- ___satfractuhqudq2 -- ___satfractuhqutq2 -- ___satfractuhquha -- ___satfractuhqusa -- ___satfractuhquda -- ___satfractuhquta -- ___satfractusqqq -- ___satfractusqhq -- ___satfractusqsq -- ___satfractusqdq -- ___satfractusqtq -- ___satfractusqha -- ___satfractusqsa -- ___satfractusqda -- ___satfractusqta -- ___satfractusquqq2 -- ___satfractusquhq2 -- ___satfractusqudq2 -- ___satfractusqutq2 -- ___satfractusquha -- ___satfractusqusa -- ___satfractusquda -- ___satfractusquta -- ___satfractudqqq -- ___satfractudqhq -- ___satfractudqsq -- ___satfractudqdq -- ___satfractudqtq -- ___satfractudqha -- ___satfractudqsa -- ___satfractudqda -- ___satfractudqta -- ___satfractudquqq2 -- ___satfractudquhq2 -- ___satfractudqusq2 -- ___satfractudqutq2 -- ___satfractudquha -- ___satfractudqusa -- ___satfractudquda -- ___satfractudquta -- ___satfractutqqq -- ___satfractutqhq -- ___satfractutqsq -- ___satfractutqdq -- ___satfractutqtq -- ___satfractutqha -- ___satfractutqsa -- ___satfractutqda -- ___satfractutqta -- ___satfractutquqq2 -- ___satfractutquhq2 -- ___satfractutqusq2 -- ___satfractutqudq2 -- ___satfractutquha -- ___satfractutqusa -- ___satfractutquda -- ___satfractutquta -- ___satfractuhaqq -- ___satfractuhahq -- ___satfractuhasq -- ___satfractuhadq -- ___satfractuhatq -- ___satfractuhaha -- ___satfractuhasa -- ___satfractuhada -- ___satfractuhata -- ___satfractuhauqq -- ___satfractuhauhq -- ___satfractuhausq -- ___satfractuhaudq -- ___satfractuhautq -- ___satfractuhausa2 -- ___satfractuhauda2 -- ___satfractuhauta2 -- ___satfractusaqq -- ___satfractusahq -- ___satfractusasq -- ___satfractusadq -- ___satfractusatq -- ___satfractusaha -- ___satfractusasa -- ___satfractusada -- ___satfractusata -- ___satfractusauqq -- ___satfractusauhq -- ___satfractusausq -- ___satfractusaudq -- ___satfractusautq -- ___satfractusauha2 -- ___satfractusauda2 -- ___satfractusauta2 -- ___satfractudaqq -- ___satfractudahq -- ___satfractudasq -- ___satfractudadq -- ___satfractudatq -- ___satfractudaha -- ___satfractudasa -- ___satfractudada -- ___satfractudata -- ___satfractudauqq -- ___satfractudauhq -- ___satfractudausq -- ___satfractudaudq -- ___satfractudautq -- ___satfractudauha2 -- ___satfractudausa2 -- ___satfractudauta2 -- ___satfractutaqq -- ___satfractutahq -- ___satfractutasq -- ___satfractutadq -- ___satfractutatq -- ___satfractutaha -- ___satfractutasa -- ___satfractutada -- ___satfractutata -- ___satfractutauqq -- ___satfractutauhq -- ___satfractutausq -- ___satfractutaudq -- ___satfractutautq -- ___satfractutauha2 -- ___satfractutausa2 -- ___satfractutauda2 -- ___satfractqiqq -- ___satfractqihq -- ___satfractqisq -- ___satfractqidq -- ___satfractqitq -- ___satfractqiha -- ___satfractqisa -- ___satfractqida -- ___satfractqita -- ___satfractqiuqq -- ___satfractqiuhq -- ___satfractqiusq -- ___satfractqiudq -- ___satfractqiutq -- ___satfractqiuha -- ___satfractqiusa -- ___satfractqiuda -- ___satfractqiuta -- ___satfracthiqq -- ___satfracthihq -- ___satfracthisq -- ___satfracthidq -- ___satfracthitq -- ___satfracthiha -- ___satfracthisa -- ___satfracthida -- ___satfracthita -- ___satfracthiuqq -- ___satfracthiuhq -- ___satfracthiusq -- ___satfracthiudq -- ___satfracthiutq -- ___satfracthiuha -- ___satfracthiusa -- ___satfracthiuda -- ___satfracthiuta -- ___satfractsiqq -- ___satfractsihq -- ___satfractsisq -- ___satfractsidq -- ___satfractsitq -- ___satfractsiha -- ___satfractsisa -- ___satfractsida -- ___satfractsita -- ___satfractsiuqq -- ___satfractsiuhq -- ___satfractsiusq -- ___satfractsiudq -- ___satfractsiutq -- ___satfractsiuha -- ___satfractsiusa -- ___satfractsiuda -- ___satfractsiuta -- ___satfractdiqq -- ___satfractdihq -- ___satfractdisq -- ___satfractdidq -- ___satfractditq -- ___satfractdiha -- ___satfractdisa -- ___satfractdida -- ___satfractdita -- ___satfractdiuqq -- ___satfractdiuhq -- ___satfractdiusq -- ___satfractdiudq -- ___satfractdiutq -- ___satfractdiuha -- ___satfractdiusa -- ___satfractdiuda -- ___satfractdiuta -- ___satfracttiqq -- ___satfracttihq -- ___satfracttisq -- ___satfracttidq -- ___satfracttitq -- ___satfracttiha -- ___satfracttisa -- ___satfracttida -- ___satfracttita -- ___satfracttiuqq -- ___satfracttiuhq -- ___satfracttiusq -- ___satfracttiudq -- ___satfracttiutq -- ___satfracttiuha -- ___satfracttiusa -- ___satfracttiuda -- ___satfracttiuta -- ___satfractsfqq -- ___satfractsfhq -- ___satfractsfsq -- ___satfractsfdq -- ___satfractsftq -- ___satfractsfha -- ___satfractsfsa -- ___satfractsfda -- ___satfractsfta -- ___satfractsfuqq -- ___satfractsfuhq -- ___satfractsfusq -- ___satfractsfudq -- ___satfractsfutq -- ___satfractsfuha -- ___satfractsfusa -- ___satfractsfuda -- ___satfractsfuta -- ___satfractdfqq -- ___satfractdfhq -- ___satfractdfsq -- ___satfractdfdq -- ___satfractdftq -- ___satfractdfha -- ___satfractdfsa -- ___satfractdfda -- ___satfractdfta -- ___satfractdfuqq -- ___satfractdfuhq -- ___satfractdfusq -- ___satfractdfudq -- ___satfractdfutq -- ___satfractdfuha -- ___satfractdfusa -- ___satfractdfuda -- ___satfractdfuta -- ___fractunsqqqi -- ___fractunsqqhi -- ___fractunsqqsi -- ___fractunsqqdi -- ___fractunsqqti -- ___fractunshqqi -- ___fractunshqhi -- ___fractunshqsi -- ___fractunshqdi -- ___fractunshqti -- ___fractunssqqi -- ___fractunssqhi -- ___fractunssqsi -- ___fractunssqdi -- ___fractunssqti -- ___fractunsdqqi -- ___fractunsdqhi -- ___fractunsdqsi -- ___fractunsdqdi -- ___fractunsdqti -- ___fractunstqqi -- ___fractunstqhi -- ___fractunstqsi -- ___fractunstqdi -- ___fractunstqti -- ___fractunshaqi -- ___fractunshahi -- ___fractunshasi -- ___fractunshadi -- ___fractunshati -- ___fractunssaqi -- ___fractunssahi -- ___fractunssasi -- ___fractunssadi -- ___fractunssati -- ___fractunsdaqi -- ___fractunsdahi -- ___fractunsdasi -- ___fractunsdadi -- ___fractunsdati -- ___fractunstaqi -- ___fractunstahi -- ___fractunstasi -- ___fractunstadi -- ___fractunstati -- ___fractunsuqqqi -- ___fractunsuqqhi -- ___fractunsuqqsi -- ___fractunsuqqdi -- ___fractunsuqqti -- ___fractunsuhqqi -- ___fractunsuhqhi -- ___fractunsuhqsi -- ___fractunsuhqdi -- ___fractunsuhqti -- ___fractunsusqqi -- ___fractunsusqhi -- ___fractunsusqsi -- ___fractunsusqdi -- ___fractunsusqti -- ___fractunsudqqi -- ___fractunsudqhi -- ___fractunsudqsi -- ___fractunsudqdi -- ___fractunsudqti -- ___fractunsutqqi -- ___fractunsutqhi -- ___fractunsutqsi -- ___fractunsutqdi -- ___fractunsutqti -- ___fractunsuhaqi -- ___fractunsuhahi -- ___fractunsuhasi -- ___fractunsuhadi -- ___fractunsuhati -- ___fractunsusaqi -- ___fractunsusahi -- ___fractunsusasi -- ___fractunsusadi -- ___fractunsusati -- ___fractunsudaqi -- ___fractunsudahi -- ___fractunsudasi -- ___fractunsudadi -- ___fractunsudati -- ___fractunsutaqi -- ___fractunsutahi -- ___fractunsutasi -- ___fractunsutadi -- ___fractunsutati -- ___fractunsqiqq -- ___fractunsqihq -- ___fractunsqisq -- ___fractunsqidq -- ___fractunsqitq -- ___fractunsqiha -- ___fractunsqisa -- ___fractunsqida -- ___fractunsqita -- ___fractunsqiuqq -- ___fractunsqiuhq -- ___fractunsqiusq -- ___fractunsqiudq -- ___fractunsqiutq -- ___fractunsqiuha -- ___fractunsqiusa -- ___fractunsqiuda -- ___fractunsqiuta -- ___fractunshiqq -- ___fractunshihq -- ___fractunshisq -- ___fractunshidq -- ___fractunshitq -- ___fractunshiha -- ___fractunshisa -- ___fractunshida -- ___fractunshita -- ___fractunshiuqq -- ___fractunshiuhq -- ___fractunshiusq -- ___fractunshiudq -- ___fractunshiutq -- ___fractunshiuha -- ___fractunshiusa -- ___fractunshiuda -- ___fractunshiuta -- ___fractunssiqq -- ___fractunssihq -- ___fractunssisq -- ___fractunssidq -- ___fractunssitq -- ___fractunssiha -- ___fractunssisa -- ___fractunssida -- ___fractunssita -- ___fractunssiuqq -- ___fractunssiuhq -- ___fractunssiusq -- ___fractunssiudq -- ___fractunssiutq -- ___fractunssiuha -- ___fractunssiusa -- ___fractunssiuda -- ___fractunssiuta -- ___fractunsdiqq -- ___fractunsdihq -- ___fractunsdisq -- ___fractunsdidq -- ___fractunsditq -- ___fractunsdiha -- ___fractunsdisa -- ___fractunsdida -- ___fractunsdita -- ___fractunsdiuqq -- ___fractunsdiuhq -- ___fractunsdiusq -- ___fractunsdiudq -- ___fractunsdiutq -- ___fractunsdiuha -- ___fractunsdiusa -- ___fractunsdiuda -- ___fractunsdiuta -- ___fractunstiqq -- ___fractunstihq -- ___fractunstisq -- ___fractunstidq -- ___fractunstitq -- ___fractunstiha -- ___fractunstisa -- ___fractunstida -- ___fractunstita -- ___fractunstiuqq -- ___fractunstiuhq -- ___fractunstiusq -- ___fractunstiudq -- ___fractunstiutq -- ___fractunstiuha -- ___fractunstiusa -- ___fractunstiuda -- ___fractunstiuta -- ___satfractunsqiqq -- ___satfractunsqihq -- ___satfractunsqisq -- ___satfractunsqidq -- ___satfractunsqitq -- ___satfractunsqiha -- ___satfractunsqisa -- ___satfractunsqida -- ___satfractunsqita -- ___satfractunsqiuqq -- ___satfractunsqiuhq -- ___satfractunsqiusq -- ___satfractunsqiudq -- ___satfractunsqiutq -- ___satfractunsqiuha -- ___satfractunsqiusa -- ___satfractunsqiuda -- ___satfractunsqiuta -- ___satfractunshiqq -- ___satfractunshihq -- ___satfractunshisq -- ___satfractunshidq -- ___satfractunshitq -- ___satfractunshiha -- ___satfractunshisa -- ___satfractunshida -- ___satfractunshita -- ___satfractunshiuqq -- ___satfractunshiuhq -- ___satfractunshiusq -- ___satfractunshiudq -- ___satfractunshiutq -- ___satfractunshiuha -- ___satfractunshiusa -- ___satfractunshiuda -- ___satfractunshiuta -- ___satfractunssiqq -- ___satfractunssihq -- ___satfractunssisq -- ___satfractunssidq -- ___satfractunssitq -- ___satfractunssiha -- ___satfractunssisa -- ___satfractunssida -- ___satfractunssita -- ___satfractunssiuqq -- ___satfractunssiuhq -- ___satfractunssiusq -- ___satfractunssiudq -- ___satfractunssiutq -- ___satfractunssiuha -- ___satfractunssiusa -- ___satfractunssiuda -- ___satfractunssiuta -- ___satfractunsdiqq -- ___satfractunsdihq -- ___satfractunsdisq -- ___satfractunsdidq -- ___satfractunsditq -- ___satfractunsdiha -- ___satfractunsdisa -- ___satfractunsdida -- ___satfractunsdita -- ___satfractunsdiuqq -- ___satfractunsdiuhq -- ___satfractunsdiusq -- ___satfractunsdiudq -- ___satfractunsdiutq -- ___satfractunsdiuha -- ___satfractunsdiusa -- ___satfractunsdiuda -- ___satfractunsdiuta -- ___satfractunstiqq -- ___satfractunstihq -- ___satfractunstisq -- ___satfractunstidq -- ___satfractunstitq -- ___satfractunstiha -- ___satfractunstisa -- ___satfractunstida -- ___satfractunstita -- ___satfractunstiuqq -- ___satfractunstiuhq -- ___satfractunstiusq -- ___satfractunstiudq -- ___satfractunstiutq -- ___satfractunstiuha -- ___satfractunstiusa -- ___satfractunstiuda -- ___satfractunstiuta --} -- --%inherit GCC_4.4.0 GCC_4.3.0 --GCC_4.4.0 { -- ___sync_fetch_and_add_1 -- ___sync_fetch_and_sub_1 -- ___sync_fetch_and_or_1 -- ___sync_fetch_and_and_1 -- ___sync_fetch_and_xor_1 -- ___sync_fetch_and_nand_1 -- ___sync_add_and_fetch_1 -- ___sync_sub_and_fetch_1 -- ___sync_or_and_fetch_1 -- ___sync_and_and_fetch_1 -- ___sync_xor_and_fetch_1 -- ___sync_nand_and_fetch_1 -- ___sync_bool_compare_and_swap_1 -- ___sync_val_compare_and_swap_1 -- ___sync_lock_test_and_set_1 -- -- ___sync_fetch_and_add_2 -- ___sync_fetch_and_sub_2 -- ___sync_fetch_and_or_2 -- ___sync_fetch_and_and_2 -- ___sync_fetch_and_xor_2 -- ___sync_fetch_and_nand_2 -- ___sync_add_and_fetch_2 -- ___sync_sub_and_fetch_2 -- ___sync_or_and_fetch_2 -- ___sync_and_and_fetch_2 -- ___sync_xor_and_fetch_2 -- ___sync_nand_and_fetch_2 -- ___sync_bool_compare_and_swap_2 -- ___sync_val_compare_and_swap_2 -- ___sync_lock_test_and_set_2 -- -- ___sync_fetch_and_add_4 -- ___sync_fetch_and_sub_4 -- ___sync_fetch_and_or_4 -- ___sync_fetch_and_and_4 -- ___sync_fetch_and_xor_4 -- ___sync_fetch_and_nand_4 -- ___sync_add_and_fetch_4 -- ___sync_sub_and_fetch_4 -- ___sync_or_and_fetch_4 -- ___sync_and_and_fetch_4 -- ___sync_xor_and_fetch_4 -- ___sync_nand_and_fetch_4 -- ___sync_bool_compare_and_swap_4 -- ___sync_val_compare_and_swap_4 -- ___sync_lock_test_and_set_4 -- -- ___sync_fetch_and_add_8 -- ___sync_fetch_and_sub_8 -- ___sync_fetch_and_or_8 -- ___sync_fetch_and_and_8 -- ___sync_fetch_and_xor_8 -- ___sync_fetch_and_nand_8 -- ___sync_add_and_fetch_8 -- ___sync_sub_and_fetch_8 -- ___sync_or_and_fetch_8 -- ___sync_and_and_fetch_8 -- ___sync_xor_and_fetch_8 -- ___sync_nand_and_fetch_8 -- ___sync_bool_compare_and_swap_8 -- ___sync_val_compare_and_swap_8 -- ___sync_lock_test_and_set_8 -- -- ___sync_fetch_and_add_16 -- ___sync_fetch_and_sub_16 -- ___sync_fetch_and_or_16 -- ___sync_fetch_and_and_16 -- ___sync_fetch_and_xor_16 -- ___sync_fetch_and_nand_16 -- ___sync_add_and_fetch_16 -- ___sync_sub_and_fetch_16 -- ___sync_or_and_fetch_16 -- ___sync_and_and_fetch_16 -- ___sync_xor_and_fetch_16 -- ___sync_nand_and_fetch_16 -- ___sync_bool_compare_and_swap_16 -- ___sync_val_compare_and_swap_16 -- ___sync_lock_test_and_set_16 -- -- ___sync_synchronize --} -- --%inherit GCC_4.5.0 GCC_4.4.0 --GCC_4.5.0 { -- ___unordxf2 -- ___unordtf2 -+ __smulsi3_highpart -+ __umulsi3_highpart - } ---- a/libgcc/config/bfin/t-linux -+++ b/libgcc/config/bfin/t-linux -@@ -1 +1,2 @@ --SHLIB_MAPFILES = $(srcdir)/config/bfin/libgcc-glibc.ver -+SHLIB_MAPFILES += $(srcdir)/config/bfin/libgcc-glibc.ver -+SHLIB_MKMAP_OPTS = -v skip_underscore=1 diff --git a/packages/gcc-linaro/6.4-2017.08/0013-libgcc-fix-DWARF-compilation-with-FDPIC-targets.patch b/packages/gcc-linaro/6.4-2017.08/0013-libgcc-fix-DWARF-compilation-with-FDPIC-targets.patch deleted file mode 100644 index f0ada67..0000000 --- a/packages/gcc-linaro/6.4-2017.08/0013-libgcc-fix-DWARF-compilation-with-FDPIC-targets.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 9d9f97ca5d1ceba66677bf406c9b31027dc1f22e Mon Sep 17 00:00:00 2001 -From: Waldemar Brodkorb -Date: Fri, 19 Aug 2016 13:54:46 +0200 -Subject: [PATCH] libgcc: fix DWARF compilation with FDPIC targets - -The build of unwind-dw2-fde-dip.c currently fails for FDPIC targets with -the following error: - -libgcc/unwind-dw2-fde-dip.c:167:31: error: storage size of 'load_base' isn't known - struct elf32_fdpic_loadaddr load_base; - -This patch addresses that by defining load_base with the appropriate -type on FDPIC targets. It has been tested on FRV and Blackfin. - -Fixes PR gcc/68468. - -Signed-off-by: Waldemar Brodkorb -Signed-off-by: Thomas Petazzoni ---- - libgcc/unwind-dw2-fde-dip.c | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - ---- a/libgcc/unwind-dw2-fde-dip.c -+++ b/libgcc/unwind-dw2-fde-dip.c -@@ -124,7 +124,11 @@ - { - _Unwind_Ptr pc_low; - _Unwind_Ptr pc_high; -+#if defined __FRV_FDPIC__ || defined __BFIN_FDPIC__ -+ struct elf32_fdpic_loadaddr load_base; -+#else - _Unwind_Ptr load_base; -+#endif - const ElfW(Phdr) *p_eh_frame_hdr; - const ElfW(Phdr) *p_dynamic; - struct frame_hdr_cache_element *link; -@@ -163,7 +167,7 @@ - struct unw_eh_callback_data *data = (struct unw_eh_callback_data *) ptr; - const ElfW(Phdr) *phdr, *p_eh_frame_hdr, *p_dynamic; - long n, match; --#ifdef __FRV_FDPIC__ -+#if defined __FRV_FDPIC__ || defined __BFIN_FDPIC__ - struct elf32_fdpic_loadaddr load_base; - #else - _Unwind_Ptr load_base; -@@ -347,7 +351,7 @@ - break; - } - } --# elif defined __FRV_FDPIC__ && defined __linux__ -+# elif (defined __FRV_FDPIC__ || defined __BFIN_FDPIC__) && defined __linux__ - data->dbase = load_base.got_value; - # else - # error What is DW_EH_PE_datarel base on this platform? diff --git a/packages/gcc-linaro/6.4-2017.08/0014-bfin-define-REENTRANT.patch b/packages/gcc-linaro/6.4-2017.08/0014-bfin-define-REENTRANT.patch deleted file mode 100644 index 633084b..0000000 --- a/packages/gcc-linaro/6.4-2017.08/0014-bfin-define-REENTRANT.patch +++ /dev/null @@ -1,20 +0,0 @@ -enable _REENTRANT when -lpthread is used - -Signed-off-by: Waldemar Brodkorb - ---- - gcc/config/bfin/linux.h | 3 +++ - 1 file changed, 3 insertions(+) - ---- a/gcc/config/bfin/linux.h -+++ b/gcc/config/bfin/linux.h -@@ -38,6 +38,9 @@ - "%{static:--start-group} %{mfast-fp:-lbffastfp} %G %L %{static:--end-group} \ - %{!static:%{mfast-fp:-lbffastfp} %G}" - -+#undef CPP_SPEC -+#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}" -+ - #undef LINK_SPEC - #define LINK_SPEC "\ - %{mfdpic: -m elf32bfinfd -z text} %{shared} %{pie} \ diff --git a/packages/gcc-linaro/6.4-2017.08/0015-libgfortran-missing-include.patch b/packages/gcc-linaro/6.4-2017.08/0015-libgfortran-missing-include.patch deleted file mode 100644 index 701e7b4..0000000 --- a/packages/gcc-linaro/6.4-2017.08/0015-libgfortran-missing-include.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- - libgfortran/io/close.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/libgfortran/io/close.c -+++ b/libgfortran/io/close.c -@@ -25,6 +25,7 @@ - #include "io.h" - #include "unix.h" - #include -+#include - - typedef enum - { CLOSE_DELETE, CLOSE_KEEP, CLOSE_UNSPECIFIED } diff --git a/packages/gcc-linaro/6.4-2017.08/0016-nios2-bad-multilib-default.patch b/packages/gcc-linaro/6.4-2017.08/0016-nios2-bad-multilib-default.patch deleted file mode 100644 index 4acc491..0000000 --- a/packages/gcc-linaro/6.4-2017.08/0016-nios2-bad-multilib-default.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- - gcc/config/nios2/nios2.h | 4 ++-- - gcc/config/nios2/t-nios2 | 3 +-- - 2 files changed, 3 insertions(+), 4 deletions(-) - ---- a/gcc/config/nios2/nios2.h -+++ b/gcc/config/nios2/nios2.h -@@ -63,11 +63,11 @@ - #if TARGET_ENDIAN_DEFAULT == 0 - # define ASM_SPEC "%{!meb:-EL} %{meb:-EB} %{march=*:-march=%*}" - # define LINK_SPEC_ENDIAN "%{!meb:-EL} %{meb:-EB}" --# define MULTILIB_DEFAULTS { "EL" } -+# define MULTILIB_DEFAULTS { "mel" } - #else - # define ASM_SPEC "%{!mel:-EB} %{mel:-EL} %{march=*:-march=%*}" - # define LINK_SPEC_ENDIAN "%{!mel:-EB} %{mel:-EL}" --# define MULTILIB_DEFAULTS { "EB" } -+# define MULTILIB_DEFAULTS { "meb" } - #endif - - #define LINK_SPEC LINK_SPEC_ENDIAN \ ---- a/gcc/config/nios2/t-nios2 -+++ b/gcc/config/nios2/t-nios2 -@@ -22,6 +22,5 @@ - # MULTILIB_DIRNAMES = nomul mulx fpu-60-1 fpu-60-2 - # MULTILIB_EXCEPTIONS = - --# MULTILIB_OPTIONS += EL/EB -+# MULTILIB_OPTIONS += mel/meb - # MULTILIB_DIRNAMES += le be --# MULTILIB_MATCHES += EL=mel EB=meb diff --git a/packages/gcc-linaro/6.4-2017.08/0017-libgcc-disable-split-stack-nothreads.patch b/packages/gcc-linaro/6.4-2017.08/0017-libgcc-disable-split-stack-nothreads.patch deleted file mode 100644 index df91a9f..0000000 --- a/packages/gcc-linaro/6.4-2017.08/0017-libgcc-disable-split-stack-nothreads.patch +++ /dev/null @@ -1,17 +0,0 @@ -disable split-stack for non-thread builds - -Signed-off-by: Waldemar Brodkorb - ---- - libgcc/config/t-stack | 2 ++ - 1 file changed, 2 insertions(+) - ---- a/libgcc/config/t-stack -+++ b/libgcc/config/t-stack -@@ -1,4 +1,6 @@ - # Makefile fragment to provide generic support for -fsplit-stack. - # This should be used in config.host for any host which supports - # -fsplit-stack. -+ifeq ($(enable_threads),yes) - LIB2ADD_ST += $(srcdir)/generic-morestack.c $(srcdir)/generic-morestack-thread.c -+endif diff --git a/packages/gcc-linaro/6.4-2017.08/0018-uclinux-enable-threads.patch b/packages/gcc-linaro/6.4-2017.08/0018-uclinux-enable-threads.patch deleted file mode 100644 index 8e4e0a2..0000000 --- a/packages/gcc-linaro/6.4-2017.08/0018-uclinux-enable-threads.patch +++ /dev/null @@ -1,22 +0,0 @@ -Enable POSIX threads for uClinux targets -Reported upstream: -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71721 - -Signed-off-by: Waldemar Brodkorb - ---- - gcc/config.gcc | 3 +++ - 1 file changed, 3 insertions(+) - ---- a/gcc/config.gcc -+++ b/gcc/config.gcc -@@ -838,6 +838,9 @@ - *-*-uclinux*) - extra_options="$extra_options gnu-user.opt" - use_gcc_stdint=wrap -+ case ${enable_threads} in -+ "" | yes | posix) thread_file='posix' ;; -+ esac - tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC SINGLE_LIBC" - ;; - *-*-rdos*) diff --git a/packages/gcc-linaro/6.4-2017.08/0019-bionic-ndk.patch b/packages/gcc-linaro/6.4-2017.08/0019-bionic-ndk.patch deleted file mode 100644 index 474dd8c..0000000 --- a/packages/gcc-linaro/6.4-2017.08/0019-bionic-ndk.patch +++ /dev/null @@ -1,60 +0,0 @@ -commit d38d37bdfe24b7ce1bdcb55642fb6b904718e68f -Author: Howard Chu -Date: Tue Apr 25 19:02:18 2017 -0700 - - Fix ctype for newer NDK headers - ---- - libstdc++-v3/config/os/bionic/ctype_base.h | 34 +++++++++++++++++++---------- - 1 file changed, 23 insertions(+), 11 deletions(-) - ---- a/libstdc++-v3/config/os/bionic/ctype_base.h -+++ b/libstdc++-v3/config/os/bionic/ctype_base.h -@@ -28,6 +28,18 @@ - - // Information as gleaned from /usr/include/ctype.h - -+// _CTYPE prefix was added in NDK r14 unified headers -+#ifndef _CTYPE_U -+#define _CTYPE_U _U -+#define _CTYPE_L _L -+#define _CTYPE_D _N -+#define _CTYPE_S _S -+#define _CTYPE_P _P -+#define _CTYPE_C _C -+#define _CTYPE_X _X -+#define _CTYPE_B _B -+#endif -+ - namespace std _GLIBCXX_VISIBILITY(default) - { - _GLIBCXX_BEGIN_NAMESPACE_VERSION -@@ -41,17 +53,17 @@ - // NB: Offsets into ctype::_M_table force a particular size - // on the mask type. Because of this, we don't use an enum. - typedef char mask; -- static const mask upper = _U; -- static const mask lower = _L; -- static const mask alpha = _U | _L; -- static const mask digit = _N; -- static const mask xdigit = _X | _N; -- static const mask space = _S; -- static const mask print = _P | _U | _L | _N | _B; -- static const mask graph = _P | _U | _L | _N; -- static const mask cntrl = _C; -- static const mask punct = _P; -- static const mask alnum = _U | _L | _N; -+ static const mask upper = _CTYPE_U; -+ static const mask lower = _CTYPE_L; -+ static const mask alpha = _CTYPE_U | _CTYPE_L; -+ static const mask digit = _CTYPE_D; -+ static const mask xdigit = _CTYPE_X | _CTYPE_D; -+ static const mask space = _CTYPE_S; -+ static const mask print = _CTYPE_P | _CTYPE_U | _CTYPE_L | _CTYPE_D | _CTYPE_B; -+ static const mask graph = _CTYPE_P | _CTYPE_U | _CTYPE_L | _CTYPE_D; -+ static const mask cntrl = _CTYPE_C; -+ static const mask punct = _CTYPE_P; -+ static const mask alnum = _CTYPE_U | _CTYPE_L | _CTYPE_D; - #if __cplusplus >= 201103L - static const mask blank = space; - #endif diff --git a/packages/gcc-linaro/6.4-2017.08/0020-bionic-errno.patch b/packages/gcc-linaro/6.4-2017.08/0020-bionic-errno.patch deleted file mode 100644 index 0a1a632..0000000 --- a/packages/gcc-linaro/6.4-2017.08/0020-bionic-errno.patch +++ /dev/null @@ -1,21 +0,0 @@ -commit 6cd4ad106ef87a3c58b0c3478e78409b47000de0 -Author: Howard Chu -Date: Tue Apr 25 20:17:03 2017 -0700 - - Fix, errno is volatile int - ---- - libstdc++-v3/src/filesystem/dir.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/libstdc++-v3/src/filesystem/dir.cc -+++ b/libstdc++-v3/src/filesystem/dir.cc -@@ -146,7 +146,7 @@ - - int err = std::exchange(errno, 0); - const auto entp = readdir(dirp); -- std::swap(errno, err); -+ std::swap((int&)errno, err); - - if (entp) - { diff --git a/packages/gcc-linaro/6.4-2017.08/0021-crystax.patch b/packages/gcc-linaro/6.4-2017.08/0021-crystax.patch deleted file mode 100644 index f7a051b..0000000 --- a/packages/gcc-linaro/6.4-2017.08/0021-crystax.patch +++ /dev/null @@ -1,530 +0,0 @@ -commit 080803512c8f6f87c2f1f711170d54033144d628 -Author: Dmitry Moskalchuk -Date: Wed Jul 29 11:28:29 2015 +0300 - - [android] Apply Android-related modifications - - Signed-off-by: Dmitry Moskalchuk - -[Edited: keep libstdc++, drop libcrystax-related modifications] ---- - gcc/config.gcc | 17 +++++++- - gcc/config/aarch64/aarch64-linux-android.h | 59 +++++++++++++++++++++++++++++ - gcc/config/aarch64/aarch64-linux.h | 9 +++- - gcc/config/arm/arm.h | 3 - - gcc/config/arm/arm.md | 2 - gcc/config/arm/arm.opt | 4 + - gcc/config/arm/elf.h | 10 ++-- - gcc/config/arm/linux-eabi.h | 7 ++- - gcc/config/i386/gnu-user.h | 7 ++- - gcc/config/i386/gnu-user64.h | 5 ++ - gcc/config/i386/linux-common.h | 8 +++ - gcc/config/linux-android.h | 13 +++--- - gcc/config/mips/android.h | 49 ++++++++++++++++++++++++ - gcc/config/mips/gnu-user.h | 6 +- - gcc/config/mips/linux-common.h | 2 - gcc/config/mips/t-linux-android | 3 + - gcc/config/mips/t-linux-android64 | 4 + - libgcc/gthr-posix.h | 13 ++++++ - libstdc++-v3/configure | 12 +++++ - libstdc++-v3/include/bits/locale_facets.h | 18 +++++++- - libstdc++-v3/libsupc++/guard.cc | 5 ++ - 21 files changed, 235 insertions(+), 21 deletions(-) - ---- a/gcc/config.gcc -+++ b/gcc/config.gcc -@@ -955,13 +955,17 @@ - tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-freebsd" - ;; - aarch64*-*-linux*) -- tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h" -+ tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h" - tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-linux.h" -+ extra_options="${extra_options} linux-android.opt" - tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-linux" - case $target in - aarch64_be-*) - tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1" - ;; -+ aarch64*-*-linux-android*) -+ tm_file="${tm_file} aarch64/aarch64-linux-android.h" -+ ;; - esac - aarch64_multilibs="${with_multilib_list}" - if test "$aarch64_multilibs" = "default"; then -@@ -2072,6 +2076,17 @@ - tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/linux.h mips/linux-common.h" - extra_options="${extra_options} linux-android.opt" - case ${target} in -+ mips64*android*) -+ default_mips_arch=mips64r6 -+ default_mips_abi=64 -+ tm_file="${tm_file} mips/android.h" -+ tmake_file="${tmake_file} mips/t-linux-android64" -+ ;; -+ mips*android*) -+ default_mips_arch=mips32 -+ tm_file="${tm_file} mips/android.h" -+ tmake_file="$tmake_file mips/t-linux-android" -+ ;; - mipsisa32r6*) - default_mips_arch=mips32r6 - ;; ---- /dev/null -+++ b/gcc/config/aarch64/aarch64-linux-android.h -@@ -0,0 +1,59 @@ -+/* Machine description for AArch64 architecture. -+ Copyright (C) 2014 Free Software Foundation, Inc. -+ -+ This file is part of GCC. -+ -+ GCC is free software; you can redistribute it and/or modify it -+ under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 3, or (at your option) -+ any later version. -+ -+ GCC is distributed in the hope that it will be useful, but -+ WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with GCC; see the file COPYING3. If not see -+ . */ -+ -+#ifndef GCC_AARCH64_LINUX_ANDROID_H -+#define GCC_AARCH64_LINUX_ANDROID_H -+ -+ -+#undef TARGET_OS_CPP_BUILTINS -+#define TARGET_OS_CPP_BUILTINS() \ -+ do \ -+ { \ -+ GNU_USER_TARGET_OS_CPP_BUILTINS(); \ -+ ANDROID_TARGET_OS_CPP_BUILTINS(); \ -+ } \ -+ while (0) -+ -+#undef LINK_SPEC -+#define LINK_SPEC \ -+ LINUX_OR_ANDROID_LD (LINUX_TARGET_LINK_SPEC, \ -+ LINUX_TARGET_LINK_SPEC " " ANDROID_LINK_SPEC) -+ -+#undef CC1_SPEC -+#define CC1_SPEC \ -+ LINUX_OR_ANDROID_CC (GNU_USER_TARGET_CC1_SPEC, \ -+ GNU_USER_TARGET_CC1_SPEC " " ANDROID_CC1_SPEC("-fpic")) -+ -+#define CC1PLUS_SPEC \ -+ LINUX_OR_ANDROID_CC ("", ANDROID_CC1PLUS_SPEC) -+ -+#undef LIB_SPEC -+#define LIB_SPEC \ -+ LINUX_OR_ANDROID_LD (GNU_USER_TARGET_LIB_SPEC, \ -+ GNU_USER_TARGET_NO_PTHREADS_LIB_SPEC " " ANDROID_LIB_SPEC) -+ -+#undef STARTFILE_SPEC -+#define STARTFILE_SPEC \ -+ LINUX_OR_ANDROID_LD (GNU_USER_TARGET_STARTFILE_SPEC, ANDROID_STARTFILE_SPEC) -+ -+#undef ENDFILE_SPEC -+#define ENDFILE_SPEC \ -+ LINUX_OR_ANDROID_LD (GNU_USER_TARGET_ENDFILE_SPEC, ANDROID_ENDFILE_SPEC) -+ -+#endif /* GCC_AARCH64_LINUX_ANDROID_H */ ---- a/gcc/config/aarch64/aarch64-linux.h -+++ b/gcc/config/aarch64/aarch64-linux.h -@@ -21,7 +21,14 @@ - #ifndef GCC_AARCH64_LINUX_H - #define GCC_AARCH64_LINUX_H - --#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" -+#ifndef RUNTIME_ROOT_PREFIX -+#define RUNTIME_ROOT_PREFIX "" -+#endif -+#define GLIBC_DYNAMIC_LINKER RUNTIME_ROOT_PREFIX "/lib/ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" -+#ifdef BIONIC_DYNAMIC_LINKER -+#undef BIONIC_DYNAMIC_LINKER -+#endif -+#define BIONIC_DYNAMIC_LINKER RUNTIME_ROOT_PREFIX "/system/bin/linker64" - - #undef MUSL_DYNAMIC_LINKER - #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" ---- a/gcc/config/arm/arm.h -+++ b/gcc/config/arm/arm.h -@@ -1922,10 +1922,11 @@ - - #define CASE_VECTOR_PC_RELATIVE (TARGET_THUMB2 \ - || (TARGET_THUMB1 \ -+ && !inline_thumb1_jump_table \ - && (optimize_size || flag_pic))) - - #define CASE_VECTOR_SHORTEN_MODE(min, max, body) \ -- (TARGET_THUMB1 \ -+ (TARGET_THUMB1 && !inline_thumb1_jump_table \ - ? (min >= 0 && max < 512 \ - ? (ADDR_DIFF_VEC_FLAGS (body).offset_unsigned = 1, QImode) \ - : min >= -256 && max < 256 \ ---- a/gcc/config/arm/arm.md -+++ b/gcc/config/arm/arm.md -@@ -8657,7 +8657,7 @@ - (match_operand:SI 2 "const_int_operand" "") ; total range - (match_operand:SI 3 "" "") ; table label - (match_operand:SI 4 "" "")] ; Out of range label -- "(TARGET_32BIT || optimize_size || flag_pic) && !target_pure_code" -+ "(TARGET_32BIT || ((optimize_size || flag_pic) && !inline_thumb1_jump_table)) && !target_pure_code" - " - { - enum insn_code code; ---- a/gcc/config/arm/arm.opt -+++ b/gcc/config/arm/arm.opt -@@ -193,6 +193,10 @@ - Target Report Mask(INTERWORK) - Support calls between Thumb and ARM instruction sets. - -+minline-thumb1-jumptable -+Target Report Var(inline_thumb1_jump_table) -+Inline Thumb1 Jump table code -+ - mtls-dialect= - Target RejectNegative Joined Enum(tls_type) Var(target_tls_dialect) Init(TLS_GNU) - Specify thread local storage scheme. ---- a/gcc/config/arm/elf.h -+++ b/gcc/config/arm/elf.h -@@ -56,8 +56,7 @@ - #undef SUBSUBTARGET_EXTRA_SPECS - #define SUBSUBTARGET_EXTRA_SPECS - --#ifndef ASM_SPEC --#define ASM_SPEC "\ -+#define DEFAULT_ASM_SPEC "\ - %{mbig-endian:-EB} \ - %{mlittle-endian:-EL} \ - %(asm_cpu_spec) \ -@@ -66,6 +65,9 @@ - %{mthumb-interwork:-mthumb-interwork} \ - %{mfloat-abi=*} %{mfpu=*} \ - %(subtarget_extra_asm_spec)" -+ -+#ifndef ASM_SPEC -+#define ASM_SPEC DEFAULT_ASM_SPEC - #endif - - /* The ARM uses @ are a comment character so we need to redefine -@@ -95,8 +97,8 @@ - the code more efficient, but for Thumb-1 it's better to put them out of - band unless we are generating compressed tables. */ - #define JUMP_TABLES_IN_TEXT_SECTION \ -- ((TARGET_32BIT || (TARGET_THUMB && (optimize_size || flag_pic))) \ -- && !target_pure_code) -+ ((TARGET_32BIT || (TARGET_THUMB && !inline_thumb1_jump_table \ -+ && (optimize_size || flag_pic))) && !target_pure_code) - - #ifndef LINK_SPEC - #define LINK_SPEC "%{mbig-endian:-EB} %{mlittle-endian:-EL} -X" ---- a/gcc/config/arm/linux-eabi.h -+++ b/gcc/config/arm/linux-eabi.h -@@ -108,11 +108,16 @@ - #define CC1_SPEC \ - LINUX_OR_ANDROID_CC (GNU_USER_TARGET_CC1_SPEC " " ASAN_CC1_SPEC, \ - GNU_USER_TARGET_CC1_SPEC " " ASAN_CC1_SPEC " " \ -- ANDROID_CC1_SPEC) -+ ANDROID_CC1_SPEC("-fpic")) - - #define CC1PLUS_SPEC \ - LINUX_OR_ANDROID_CC ("", ANDROID_CC1PLUS_SPEC) - -+#undef ASM_SPEC -+#define ASM_SPEC \ -+ LINUX_OR_ANDROID_CC (DEFAULT_ASM_SPEC, \ -+ DEFAULT_ASM_SPEC " " ANDROID_ASM_SPEC) -+ - #undef LIB_SPEC - #define LIB_SPEC \ - LINUX_OR_ANDROID_LD (GNU_USER_TARGET_LIB_SPEC, \ ---- a/gcc/config/i386/gnu-user.h -+++ b/gcc/config/i386/gnu-user.h -@@ -65,9 +65,14 @@ - When the -shared link option is used a final link is not being - done. */ - -+#undef ANDROID_TARGET_CC1_SPEC -+#define ANDROID_TARGET_CC1_SPEC \ -+ " -mssse3 -fno-short-enums " \ -+ - #undef ASM_SPEC - #define ASM_SPEC \ -- "--32 %{!mno-sse2avx:%{mavx:-msse2avx}} %{msse2avx:%{!mavx:-msse2avx}}" -+ "--32 %{!mno-sse2avx:%{mavx:-msse2avx}} %{msse2avx:%{!mavx:-msse2avx}} " \ -+ LINUX_OR_ANDROID_CC ("", ANDROID_ASM_SPEC) - - #undef SUBTARGET_EXTRA_SPECS - #define SUBTARGET_EXTRA_SPECS \ ---- a/gcc/config/i386/gnu-user64.h -+++ b/gcc/config/i386/gnu-user64.h -@@ -46,6 +46,11 @@ - #define SPEC_X32 "mx32" - #endif - -+#undef ANDROID_TARGET_CC1_SPEC -+#define ANDROID_TARGET_CC1_SPEC \ -+ "%{m32:-mssse3 -fno-short-enums}" \ -+ "%{!m32:-msse4.2 -mpopcnt}" -+ - #undef ASM_SPEC - #define ASM_SPEC "%{" SPEC_32 ":--32} \ - %{" SPEC_64 ":--64} \ ---- a/gcc/config/i386/linux-common.h -+++ b/gcc/config/i386/linux-common.h -@@ -30,7 +30,13 @@ - #undef CC1_SPEC - #define CC1_SPEC \ - LINUX_OR_ANDROID_CC (GNU_USER_TARGET_CC1_SPEC, \ -- GNU_USER_TARGET_CC1_SPEC " " ANDROID_CC1_SPEC) -+ GNU_USER_TARGET_CC1_SPEC \ -+ ANDROID_TARGET_CC1_SPEC \ -+ " " \ -+ ANDROID_CC1_SPEC("-fPIC")) -+ -+#define CC1PLUS_SPEC \ -+ LINUX_OR_ANDROID_CC ("", ANDROID_CC1PLUS_SPEC) - - #undef LINK_SPEC - #define LINK_SPEC \ ---- a/gcc/config/linux-android.h -+++ b/gcc/config/linux-android.h -@@ -38,15 +38,18 @@ - "%{" NOANDROID "|tno-android-ld:" LINUX_SPEC ";:" ANDROID_SPEC "}" - - #define ANDROID_LINK_SPEC \ -- "%{shared: -Bsymbolic}" -+ "%{shared: -Bsymbolic} -z noexecstack -z relro -z now" - --#define ANDROID_CC1_SPEC \ -+#define ANDROID_CC1_SPEC(ANDROID_PIC_DEFAULT) \ - "%{!mglibc:%{!muclibc:%{!mbionic: -mbionic}}} " \ -- "%{!fno-pic:%{!fno-PIC:%{!fpic:%{!fPIC: -fPIC}}}}" -+ "%{!fno-pic:%{!fno-PIC:%{!fpic:%{!fPIC: " ANDROID_PIC_DEFAULT "}}}}" - - #define ANDROID_CC1PLUS_SPEC \ -- "%{!fexceptions:%{!fno-exceptions: -fno-exceptions}} " \ -- "%{!frtti:%{!fno-rtti: -fno-rtti}}" -+ "%{!fexceptions:%{!fno-exceptions: -fexceptions}} " \ -+ "%{!frtti:%{!fno-rtti: -frtti}}" -+ -+#define ANDROID_ASM_SPEC \ -+ "--noexecstack" - - #define ANDROID_LIB_SPEC \ - "%{!static: -ldl}" ---- /dev/null -+++ b/gcc/config/mips/android.h -@@ -0,0 +1,49 @@ -+/* Target macros for mips*-*android* targets. -+ Copyright (C) 2014 Free Software Foundation, Inc. -+ -+This file is part of GCC. -+ -+GCC is free software; you can redistribute it and/or modify -+it under the terms of the GNU General Public License as published by -+the Free Software Foundation; either version 3, or (at your option) -+any later version. -+ -+GCC is distributed in the hope that it will be useful, -+but WITHOUT ANY WARRANTY; without even the implied warranty of -+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+GNU General Public License for more details. -+ -+You should have received a copy of the GNU General Public License -+along with GCC; see the file COPYING3. If not see -+. */ -+ -+#undef DRIVER_SELF_SPECS -+#define DRIVER_SELF_SPECS \ -+ /* Make sure a -mips option is present. This helps us to pick \ -+ the right multilib, and also makes the later specs easier \ -+ to write. */ \ -+ MIPS_ISA_LEVEL_SPEC, \ -+ \ -+ /* Infer the default float setting from -march. */ \ -+ MIPS_ARCH_FLOAT_SPEC, \ -+ \ -+ /* Infer the -msynci setting from -march if not explicitly set. */ \ -+ MIPS_ISA_SYNCI_SPEC, \ -+ \ -+ /* If no ABI option is specified, infer one from the ISA level \ -+ or -mgp setting. */ \ -+ "%{!mabi=*: %{" MIPS_32BIT_OPTION_SPEC ": -mabi=32;: -mabi=64}}", \ -+ \ -+ /* If no FP ABI option is specified, infer one from the \ -+ ABI/ISA level unless there is a conflicting option. */ \ -+ "%{!msoft-float: %{!msingle-float: %{!mfp*: %{!mmsa: %{mabi=32: %{" \ -+ MIPS_FPXX_OPTION_SPEC ": -mfpxx}}}}}}", \ -+ \ -+ /* If no odd-spreg option is specified, infer one from the ISA. */ \ -+ "%{!modd-spreg: %{mabi=32: %{mips32r6: -mno-odd-spreg}}}", \ -+ \ -+ /* Base SPECs. */ \ -+ BASE_DRIVER_SELF_SPECS, \ -+ \ -+ /* Use the standard linux specs for everything else. */ \ -+ LINUX_DRIVER_SELF_SPECS ---- a/gcc/config/mips/gnu-user.h -+++ b/gcc/config/mips/gnu-user.h -@@ -36,6 +36,7 @@ - /* The GNU C++ standard library requires this. */ \ - if (c_dialect_cxx ()) \ - builtin_define ("_GNU_SOURCE"); \ -+ ANDROID_TARGET_OS_CPP_BUILTINS(); \ - } while (0) - - #undef SUBTARGET_CPP_SPEC -@@ -71,7 +72,8 @@ - - #undef SUBTARGET_ASM_SPEC - #define SUBTARGET_ASM_SPEC \ -- "%{!mno-abicalls:%{mplt:-call_nonpic;:-KPIC}}" -+ "%{!mno-abicalls:%{mplt:-call_nonpic;:-KPIC}} " \ -+ LINUX_OR_ANDROID_CC ("", ANDROID_ASM_SPEC) - - /* The MIPS assembler has different syntax for .set. We set it to - .dummy to trap any errors. */ -@@ -120,7 +122,7 @@ - #endif - - #define LINUX_DRIVER_SELF_SPECS \ -- NO_SHARED_SPECS \ -+ LINUX_OR_ANDROID_CC(NO_SHARED_SPECS, "") \ - MARCH_MTUNE_NATIVE_SPECS, \ - /* -mplt has no effect without -mno-shared. Simplify later \ - specs handling by removing a redundant option. */ \ ---- a/gcc/config/mips/linux-common.h -+++ b/gcc/config/mips/linux-common.h -@@ -35,7 +35,7 @@ - #undef SUBTARGET_CC1_SPEC - #define SUBTARGET_CC1_SPEC \ - LINUX_OR_ANDROID_CC (GNU_USER_TARGET_CC1_SPEC, \ -- GNU_USER_TARGET_CC1_SPEC " " ANDROID_CC1_SPEC) -+ GNU_USER_TARGET_CC1_SPEC " " ANDROID_CC1_SPEC("-fpic")) - - #undef CC1PLUS_SPEC - #define CC1PLUS_SPEC \ ---- /dev/null -+++ b/gcc/config/mips/t-linux-android -@@ -0,0 +1,3 @@ -+MULTILIB_OPTIONS = mips32r2/mips32r6 -+MULTILIB_DIRNAMES = mips-r2 mips-r6 -+MULTILIB_OSDIRNAMES = ../libr2 ../libr6 ---- /dev/null -+++ b/gcc/config/mips/t-linux-android64 -@@ -0,0 +1,4 @@ -+MULTILIB_OPTIONS = mabi=32 mips32/mips32r2/mips32r6/mips64r2/mips64r6 -+MULTILIB_DIRNAMES = 32 mips-r1 mips-r2 mips-r6 mips64-r2 mips64-r6 -+MULTILIB_OSDIRNAMES = ../lib ../lib ../libr2 ../libr6 ../lib64r2 ../lib64 -+MULTILIB_REQUIRED = mabi=32/mips32 mabi=32/mips32r2 mabi=32/mips32r6 mips64r2 mips64r6 ---- a/libgcc/gthr-posix.h -+++ b/libgcc/gthr-posix.h -@@ -32,6 +32,19 @@ - #define __GTHREADS 1 - #define __GTHREADS_CXX0X 1 - -+/* The following should normally be in a different header file, -+ * but I couldn't find the right location. The point of the macro -+ * definition below is to prevent libsupc++ and libstdc++ to reference -+ * weak symbols in their static C++ constructors. Such code crashes -+ * when a shared object linked statically to these libraries is -+ * loaded on Android 2.1 (Eclair) and older platform releases, due -+ * to a dynamic linker bug. -+ */ -+#ifdef __ANDROID__ -+#undef GTHREAD_USE_WEAK -+#define GTHREAD_USE_WEAK 0 -+#endif -+ - #include - - #if ((defined(_LIBOBJC) || defined(_LIBOBJC_WEAK)) \ ---- a/libstdc++-v3/configure -+++ b/libstdc++-v3/configure -@@ -78389,6 +78389,12 @@ - /* end confdefs.h. */ - #include - int lk; -+#if !defined(SYS_gettid) -+#define SYS_gettid __NR_gettid -+#endif -+#if !defined(SYS_futex) -+#define SYS_futex __NR_futex -+#endif - int - main () - { -@@ -78447,6 +78453,12 @@ - /* end confdefs.h. */ - #include - int lk; -+#if !defined(SYS_gettid) -+#define SYS_gettid __NR_gettid -+#endif -+#if !defined(SYS_futex) -+#define SYS_futex __NR_futex -+#endif - int - main () - { ---- a/libstdc++-v3/include/bits/locale_facets.h -+++ b/libstdc++-v3/include/bits/locale_facets.h -@@ -47,6 +47,20 @@ - #include - #include - -+#if !__clang__ && __GNUC__ == 4 && __GNUC_MINOR__ == 9 && __i386__ -+// CrystaX: for some reason, x86 gcc-4.9 makes ctype::do_widen() and -+// ctype::_M_widen_init() methods working wrong if optimization enabled. -+// For ctype::do_widen(), values of passed arguments (__lo, __hi and __to) -+// are completely messed up and don't correspond to passed values. In case if -+// we disable optimization for those methods, things become correct so we apply -+// this workaround here for a time. -+// TODO: figure out what exactly wrong here - is it bug in GCC optimization -+// algorithm or smth else? -+#define __CRYSTAX_X86_DONT_OPTIMIZE __attribute__((optimize(0))) -+#else -+#define __CRYSTAX_X86_DONT_OPTIMIZE -+#endif -+ - namespace std _GLIBCXX_VISIBILITY(default) - { - _GLIBCXX_BEGIN_NAMESPACE_VERSION -@@ -1102,7 +1116,7 @@ - * @return @a __hi. - */ - virtual const char* -- do_widen(const char* __lo, const char* __hi, char_type* __to) const -+ do_widen(const char* __lo, const char* __hi, char_type* __to) const __CRYSTAX_X86_DONT_OPTIMIZE - { - __builtin_memcpy(__to, __lo, __hi - __lo); - return __hi; -@@ -1163,7 +1177,7 @@ - - private: - void _M_narrow_init() const; -- void _M_widen_init() const; -+ void _M_widen_init() const __CRYSTAX_X86_DONT_OPTIMIZE; - }; - - #ifdef _GLIBCXX_USE_WCHAR_T ---- a/libstdc++-v3/libsupc++/guard.cc -+++ b/libstdc++-v3/libsupc++/guard.cc -@@ -33,7 +33,12 @@ - #if defined(__GTHREADS) && defined(__GTHREAD_HAS_COND) \ - && (ATOMIC_INT_LOCK_FREE > 1) && defined(_GLIBCXX_HAVE_LINUX_FUTEX) - # include -+#if defined(__ANDROID__) -+# include -+# define SYS_futex __NR_futex -+#else - # include -+#endif - # include - # define _GLIBCXX_USE_FUTEX - # define _GLIBCXX_FUTEX_WAIT 0 diff --git a/packages/gcc-linaro/6.4-2017.08/0022-crystax.patch b/packages/gcc-linaro/6.4-2017.08/0022-crystax.patch deleted file mode 100644 index f1f9eb1..0000000 --- a/packages/gcc-linaro/6.4-2017.08/0022-crystax.patch +++ /dev/null @@ -1,27 +0,0 @@ -commit 9f057b62caafe08c968103d39b5df82486a175c2 -Author: Dmitry Moskalchuk -Date: Thu Aug 13 16:11:54 2015 +0300 - - [android] Add additional multilib option: mfloat-abi=hard - - Signed-off-by: Dmitry Moskalchuk - ---- - gcc/config/arm/t-linux-androideabi | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - ---- a/gcc/config/arm/t-linux-androideabi -+++ b/gcc/config/arm/t-linux-androideabi -@@ -1,8 +1,9 @@ --MULTILIB_OPTIONS = march=armv7-a mthumb --MULTILIB_DIRNAMES = armv7-a thumb --MULTILIB_EXCEPTIONS = -+MULTILIB_OPTIONS = march=armv7-a mthumb mfloat-abi=hard -+MULTILIB_DIRNAMES = armv7-a thumb hard -+MULTILIB_EXCEPTIONS = mfloat-abi=hard* mthumb/mfloat-abi=hard* - MULTILIB_MATCHES = - MULTILIB_OSDIRNAMES = -+MULTILIB_EXTRA_OPTS = Wl,--no-warn-mismatch - - # The "special" multilib can be used to build native applications for Android, - # as opposed to native shared libraries that are then called via JNI. diff --git a/packages/gcc-linaro/6.4-2017.08/0023-crystax.patch b/packages/gcc-linaro/6.4-2017.08/0023-crystax.patch deleted file mode 100644 index f6dc725..0000000 --- a/packages/gcc-linaro/6.4-2017.08/0023-crystax.patch +++ /dev/null @@ -1,293 +0,0 @@ -commit 44a81ebb7698dac41ffa7acd5e0cc1578e5ab1fd -Author: H.J. Lu -Date: Mon Apr 14 15:59:47 2014 -0700 - - [android] Always enable --eh-frame-hdr for static executable - - See 5e6cdf76af295c9a39b695ca228cff675e8ff4ae and - 23e3137ee2897464b051599b85a09f130d3ad05d - - Change-Id: Ibda473188e5a10f2a0592f2494ad00ad1f91e04b - Signed-off-by: Dmitry Moskalchuk - ---- - gcc/config.in | 6 +++++ - gcc/config/alpha/elf.h | 4 +++ - gcc/config/freebsd.h | 4 +++ - gcc/config/gnu-user.h | 4 +++ - gcc/config/openbsd.h | 4 +++ - gcc/config/rs6000/sysv4.h | 6 ++++- - gcc/config/sol2.h | 4 +++ - gcc/configure | 36 +++++++++++++++++++++++++++++++++ - gcc/configure.ac | 29 ++++++++++++++++++++++++++ - gcc/testsuite/g++.dg/eh/spec3-static.C | 25 ++++++++++++++++++++++ - libgcc/crtstuff.c | 11 ++++++---- - 11 files changed, 128 insertions(+), 5 deletions(-) - ---- a/gcc/config.in -+++ b/gcc/config.in -@@ -2144,6 +2144,12 @@ - #endif - - -+/* Define if your system supports PT_GNU_EH_FRAME for static executable. */ -+#ifndef USED_FOR_TARGET -+#undef USE_EH_FRAME_HDR_FOR_STATIC -+#endif -+ -+ - /* Define to 1 if the 'long long' type is wider than 'long' but still - efficiently supported by the host hardware. */ - #ifndef USED_FOR_TARGET ---- a/gcc/config/alpha/elf.h -+++ b/gcc/config/alpha/elf.h -@@ -168,5 +168,9 @@ - I imagine that other systems will catch up. In the meantime, it - doesn't harm to make sure that the data exists to be used later. */ - #if defined(HAVE_LD_EH_FRAME_HDR) -+#ifdef USE_EH_FRAME_HDR_FOR_STATIC -+#define LINK_EH_SPEC "--eh-frame-hdr " -+#else - #define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " - #endif -+#endif ---- a/gcc/config/freebsd.h -+++ b/gcc/config/freebsd.h -@@ -45,8 +45,12 @@ - #define LIB_SPEC FBSD_LIB_SPEC - - #if defined(HAVE_LD_EH_FRAME_HDR) -+#ifdef USE_EH_FRAME_HDR_FOR_STATIC -+#define LINK_EH_SPEC "--eh-frame-hdr " -+#else - #define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " - #endif -+#endif - - #ifdef TARGET_LIBC_PROVIDES_SSP - #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ ---- a/gcc/config/gnu-user.h -+++ b/gcc/config/gnu-user.h -@@ -118,8 +118,12 @@ - #define LIB_SPEC GNU_USER_TARGET_LIB_SPEC - - #if defined(HAVE_LD_EH_FRAME_HDR) -+#ifdef USE_EH_FRAME_HDR_FOR_STATIC -+#define LINK_EH_SPEC "--eh-frame-hdr " -+#else - #define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " - #endif -+#endif - - #undef LINK_GCC_C_SEQUENCE_SPEC - #define LINK_GCC_C_SEQUENCE_SPEC \ ---- a/gcc/config/openbsd.h -+++ b/gcc/config/openbsd.h -@@ -136,8 +136,12 @@ - #define LIB_SPEC OBSD_LIB_SPEC - - #if defined(HAVE_LD_EH_FRAME_HDR) -+#ifdef USE_EH_FRAME_HDR_FOR_STATIC -+#define LINK_EH_SPEC "--eh-frame-hdr " -+#else - #define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " - #endif -+#endif - - #undef LIB_SPEC - #define LIB_SPEC OBSD_LIB_SPEC ---- a/gcc/config/rs6000/sysv4.h -+++ b/gcc/config/rs6000/sysv4.h -@@ -800,7 +800,11 @@ - -dynamic-linker " GNU_USER_DYNAMIC_LINKER "}}" - - #if defined(HAVE_LD_EH_FRAME_HDR) --# define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " -+# ifdef USE_EH_FRAME_HDR_FOR_STATIC -+# define LINK_EH_SPEC "--eh-frame-hdr " -+# else -+# define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " -+# endif - #endif - - #define CPP_OS_LINUX_SPEC "-D__unix__ -D__gnu_linux__ -D__linux__ \ ---- a/gcc/config/sol2.h -+++ b/gcc/config/sol2.h -@@ -347,7 +347,11 @@ - /* Solaris 11 build 135+ implements dl_iterate_phdr. GNU ld needs - --eh-frame-hdr to create the required .eh_frame_hdr sections. */ - #if defined(HAVE_LD_EH_FRAME_HDR) && defined(TARGET_DL_ITERATE_PHDR) -+#ifdef USE_EH_FRAME_HDR_FOR_STATIC -+#define LINK_EH_SPEC "--eh-frame-hdr " -+#else - #define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " -+#endif - #endif /* HAVE_LD_EH_FRAME && TARGET_DL_ITERATE_PHDR */ - #endif - ---- a/gcc/configure -+++ b/gcc/configure -@@ -934,6 +934,7 @@ - enable_fix_cortex_a53_843419 - with_glibc_version - enable_gnu_unique_object -+enable_eh_frame_hdr_for_static - enable_linker_build_id - enable_default_ssp - with_long_double_128 -@@ -1670,6 +1671,9 @@ - --enable-gnu-unique-object - enable the use of the @gnu_unique_object ELF - extension on glibc systems -+ --enable-eh-frame-hdr-for-static -+ enable linker PT_GNU_EH_FRAME support for static -+ executable - --enable-linker-build-id - compiler will always pass --build-id to linker - --enable-default-ssp enable Stack Smashing Protection as default -@@ -27786,6 +27790,38 @@ - - $as_echo "#define HAVE_LD_EH_FRAME_HDR 1" >>confdefs.h - -+ # Check whether --enable-eh-frame-hdr-for-static was given. -+if test "${enable_eh_frame_hdr_for_static+set}" = set; then : -+ enableval=$enable_eh_frame_hdr_for_static; case $enable_eh_frame_hdr_for_static in -+ yes | no) ;; -+ *) as_fn_error "'$enable_eh_frame_hdr_for_static' is an invalid -+value for --enable-eh-frame-hdr-for-static. -+Valid choices are 'yes' and 'no'." "$LINENO" 5 ;; -+ esac -+else -+ # Only support for glibc 2.3.0 or higher with AT_PHDR/AT_PHNUM from -+# Linux kernel. -+ if test x$host = x$build -a x$host = x$target && -+ ldd --version 2>&1 >/dev/null && -+ glibcver=`ldd --version 2>/dev/null | sed 's/.* //;q'`; then -+ glibcmajor=`expr "$glibcver" : "\([0-9]*\)"` -+ glibcminor=`expr "$glibcver" : "[2-9]*\.\([0-9]*\)"` -+ glibcnum=`expr $glibcmajor \* 1000 + $glibcminor` -+ if test "$glibcnum" -ge 2003 ; then -+ auvx=`LD_SHOW_AUXV=1 ldd 2>/dev/null` -+ if echo "$auvx" | grep AT_PHDR > /dev/null && -+ echo "$auvx" | grep AT_PHNUM > /dev/null; then -+ enable_eh_frame_hdr_for_static=yes -+ fi -+ fi -+ fi -+fi -+ -+ if test x$enable_eh_frame_hdr_for_static = xyes; then -+ -+$as_echo "#define USE_EH_FRAME_HDR_FOR_STATIC 1" >>confdefs.h -+ -+ fi - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_ld_eh_frame_hdr" >&5 - $as_echo "$gcc_cv_ld_eh_frame_hdr" >&6; } ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -4861,6 +4861,35 @@ - if test x"$gcc_cv_ld_eh_frame_hdr" = xyes; then - AC_DEFINE(HAVE_LD_EH_FRAME_HDR, 1, - [Define if your linker supports .eh_frame_hdr.]) -+ AC_ARG_ENABLE(eh-frame-hdr-for-static, -+ [AS_HELP_STRING([--enable-eh-frame-hdr-for-static], -+ [enable linker PT_GNU_EH_FRAME support for static executable])], -+ [case $enable_eh_frame_hdr_for_static in -+ yes | no) ;; -+ *) AC_MSG_ERROR(['$enable_eh_frame_hdr_for_static' is an invalid -+value for --enable-eh-frame-hdr-for-static. -+Valid choices are 'yes' and 'no'.]) ;; -+ esac], -+# Only support for glibc 2.3.0 or higher with AT_PHDR/AT_PHNUM from -+# Linux kernel. -+ [[if test x$host = x$build -a x$host = x$target && -+ ldd --version 2>&1 >/dev/null && -+ glibcver=`ldd --version 2>/dev/null | sed 's/.* //;q'`; then -+ glibcmajor=`expr "$glibcver" : "\([0-9]*\)"` -+ glibcminor=`expr "$glibcver" : "[2-9]*\.\([0-9]*\)"` -+ glibcnum=`expr $glibcmajor \* 1000 + $glibcminor` -+ if test "$glibcnum" -ge 2003 ; then -+ auvx=`LD_SHOW_AUXV=1 ldd 2>/dev/null` -+ if echo "$auvx" | grep AT_PHDR > /dev/null && -+ echo "$auvx" | grep AT_PHNUM > /dev/null; then -+ enable_eh_frame_hdr_for_static=yes -+ fi -+ fi -+ fi]]) -+ if test x$enable_eh_frame_hdr_for_static = xyes; then -+ AC_DEFINE(USE_EH_FRAME_HDR_FOR_STATIC, 1, -+[Define if your system supports PT_GNU_EH_FRAME for static executable.]) -+ fi - fi - AC_MSG_RESULT($gcc_cv_ld_eh_frame_hdr) - ---- /dev/null -+++ b/gcc/testsuite/g++.dg/eh/spec3-static.C -@@ -0,0 +1,25 @@ -+// PR c++/4381 -+// Test that exception-specs work properly for classes with virtual bases. -+ -+// { dg-do run } -+// { dg-options "-static" } -+ -+class Base {}; -+ -+struct A : virtual public Base -+{ -+ A() {} -+}; -+ -+struct B {}; -+ -+void func() throw (B,A) -+{ -+ throw A(); -+} -+ -+int main(void) -+{ -+ try { func(); } -+ catch (A& a) { } -+} ---- a/libgcc/crtstuff.c -+++ b/libgcc/crtstuff.c -@@ -88,7 +88,8 @@ - #if defined(OBJECT_FORMAT_ELF) \ - && !defined(OBJECT_FORMAT_FLAT) \ - && defined(HAVE_LD_EH_FRAME_HDR) \ -- && !defined(inhibit_libc) && !defined(CRTSTUFFT_O) \ -+ && !defined(inhibit_libc) \ -+ && (defined(USE_EH_FRAME_HDR_FOR_STATIC) || !defined(CRTSTUFFT_O)) \ - && defined(BSD_DL_ITERATE_PHDR_AVAILABLE) - #include - # define USE_PT_GNU_EH_FRAME -@@ -97,7 +98,8 @@ - #if defined(OBJECT_FORMAT_ELF) \ - && !defined(OBJECT_FORMAT_FLAT) \ - && defined(HAVE_LD_EH_FRAME_HDR) && defined(TARGET_DL_ITERATE_PHDR) \ -- && !defined(inhibit_libc) && !defined(CRTSTUFFT_O) \ -+ && !defined(inhibit_libc) \ -+ && (defined(USE_EH_FRAME_HDR_FOR_STATIC) || !defined(CRTSTUFFT_O)) \ - && defined(__sun__) && defined(__svr4__) - #include - # define USE_PT_GNU_EH_FRAME -@@ -106,7 +108,8 @@ - #if defined(OBJECT_FORMAT_ELF) \ - && !defined(OBJECT_FORMAT_FLAT) \ - && defined(HAVE_LD_EH_FRAME_HDR) \ -- && !defined(inhibit_libc) && !defined(CRTSTUFFT_O) \ -+ && !defined(inhibit_libc) \ -+ && (defined(USE_EH_FRAME_HDR_FOR_STATIC) || !defined(CRTSTUFFT_O)) \ - && defined(__GLIBC__) && __GLIBC__ >= 2 - #include - /* uClibc pretends to be glibc 2.2 and DT_CONFIG is defined in its link.h. -@@ -121,7 +124,7 @@ - #if defined(OBJECT_FORMAT_ELF) \ - && !defined(OBJECT_FORMAT_FLAT) \ - && defined(HAVE_LD_EH_FRAME_HDR) \ -- && !defined(CRTSTUFFT_O) \ -+ && (defined(USE_EH_FRAME_HDR_FOR_STATIC) || !defined(CRTSTUFFT_O)) \ - && defined(inhibit_libc) \ - && (defined(__GLIBC__) || defined(__gnu_linux__) || defined(__GNU__)) - /* On systems using glibc, an inhibit_libc build of libgcc is only diff --git a/packages/gcc-linaro/6.4-2017.08/0024-crystax.patch b/packages/gcc-linaro/6.4-2017.08/0024-crystax.patch deleted file mode 100644 index e547647..0000000 --- a/packages/gcc-linaro/6.4-2017.08/0024-crystax.patch +++ /dev/null @@ -1,22 +0,0 @@ -commit 778a9ef107f51544d583f110e92b75f4d9d79117 -Author: Dmitry Moskalchuk -Date: Thu Aug 20 19:11:07 2015 +0300 - - [android] Don't use PIE copyrelocs for x86/x86_64 - - Signed-off-by: Dmitry Moskalchuk - ---- - gcc/config/i386/i386.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/gcc/config/i386/i386.c -+++ b/gcc/config/i386/i386.c -@@ -14684,6 +14684,7 @@ - else if (!SYMBOL_REF_FAR_ADDR_P (op0) - && (SYMBOL_REF_LOCAL_P (op0) - || (HAVE_LD_PIE_COPYRELOC -+ && !TARGET_HAS_BIONIC - && flag_pie - && !SYMBOL_REF_WEAK (op0) - && !SYMBOL_REF_FUNCTION_P (op0))) diff --git a/packages/gcc-linaro/6.4-2017.08/0025-crystax.patch b/packages/gcc-linaro/6.4-2017.08/0025-crystax.patch deleted file mode 100644 index 8f2eb43..0000000 --- a/packages/gcc-linaro/6.4-2017.08/0025-crystax.patch +++ /dev/null @@ -1,26 +0,0 @@ -commit dbeae1190cabad83999f2540523f045acc1bb4ec -Author: Dmitry Moskalchuk -Date: Fri Aug 21 17:41:59 2015 +0300 - - [android] Always use gthr-posix.h instead of gthr-default.h - - Signed-off-by: Dmitry Moskalchuk - ---- - libgcc/gthr.h | 4 ++++ - 1 file changed, 4 insertions(+) - ---- 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 - - #ifndef HIDE_EXPORTS - #pragma GCC visibility pop diff --git a/packages/gcc-linaro/6.4-2017.08/0026-crystax.patch b/packages/gcc-linaro/6.4-2017.08/0026-crystax.patch deleted file mode 100644 index f555f27..0000000 --- a/packages/gcc-linaro/6.4-2017.08/0026-crystax.patch +++ /dev/null @@ -1,33 +0,0 @@ -commit 8a66d422721ae5999737d7825701ff22097d287b -Author: Andrew Hsieh -Date: Mon Apr 14 21:05:51 2014 -0700 - - [android] Fix ARM generates insufficient alignment for NEON vst/vld - - See d909af3e2469aad87d5c3e79b93c778fd26c03a9 - - Change-Id: Ie1de9f946f397196bb6f1623f5add86933739484 - Signed-off-by: Dmitry Moskalchuk - ---- - gcc/config/arm/arm.c | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - ---- a/gcc/config/arm/arm.c -+++ b/gcc/config/arm/arm.c -@@ -22178,9 +22178,13 @@ - memsize = MEM_SIZE (x); - - /* 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; diff --git a/packages/gcc-linaro/6.4-2017.08/0027-crystax.patch b/packages/gcc-linaro/6.4-2017.08/0027-crystax.patch deleted file mode 100644 index 8c21a1c..0000000 --- a/packages/gcc-linaro/6.4-2017.08/0027-crystax.patch +++ /dev/null @@ -1,23 +0,0 @@ -commit 89d27bc45ee7325dcfff6748da0f8b9c1dc1f234 -Author: Dmitry Moskalchuk -Date: Sat Aug 22 09:55:55 2015 +0300 - - [android][i386] Remove throw() declaration from posix_memalign() proto - - Signed-off-by: Dmitry Moskalchuk - ---- - gcc/config/i386/pmm_malloc.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/gcc/config/i386/pmm_malloc.h -+++ b/gcc/config/i386/pmm_malloc.h -@@ -31,7 +31,7 @@ - #ifndef __cplusplus - extern int posix_memalign (void **, size_t, size_t); - #else --extern "C" int posix_memalign (void **, size_t, size_t) throw (); -+extern "C" int posix_memalign (void **, size_t, size_t); - #endif - - static __inline void * diff --git a/packages/gcc-linaro/6.4-2017.08/0028-crystax.patch b/packages/gcc-linaro/6.4-2017.08/0028-crystax.patch deleted file mode 100644 index ccb81fd..0000000 --- a/packages/gcc-linaro/6.4-2017.08/0028-crystax.patch +++ /dev/null @@ -1,34 +0,0 @@ -commit 9ae82f7cfc1073820092dd9f957559667e77db0d -Author: Dmitry Moskalchuk -Date: Tue Aug 25 09:36:42 2015 +0300 - - [android] Explicitly make _Unwind_Resume visible for arm64/mips64 - - Signed-off-by: Dmitry Moskalchuk - ---- - gcc/config/aarch64/aarch64-linux-android.h | 4 ++++ - gcc/config/mips/linux-common.h | 4 ++++ - 2 files changed, 8 insertions(+) - ---- a/gcc/config/aarch64/aarch64-linux-android.h -+++ b/gcc/config/aarch64/aarch64-linux-android.h -@@ -56,4 +56,8 @@ - #define ENDFILE_SPEC \ - LINUX_OR_ANDROID_LD (GNU_USER_TARGET_ENDFILE_SPEC, ANDROID_ENDFILE_SPEC) - -+#ifdef IN_LIBGCC2 -+#define LIBGCC2_UNWIND_ATTRIBUTE __attribute__((visibility("default"))) -+#endif -+ - #endif /* GCC_AARCH64_LINUX_ANDROID_H */ ---- a/gcc/config/mips/linux-common.h -+++ b/gcc/config/mips/linux-common.h -@@ -62,3 +62,7 @@ - - /* The default value isn't sufficient in 64-bit mode. */ - #define STACK_CHECK_PROTECT (TARGET_64BIT ? 16 * 1024 : 12 * 1024) -+ -+#ifdef IN_LIBGCC2 -+#define LIBGCC2_UNWIND_ATTRIBUTE __attribute__((visibility("default"))) -+#endif diff --git a/packages/gcc-linaro/6.4-2017.08/chksum b/packages/gcc-linaro/6.4-2017.08/chksum deleted file mode 100644 index 611129e..0000000 --- a/packages/gcc-linaro/6.4-2017.08/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 gcc-linaro-6.4-2017.08.tar.xz 313e1f8738705e2d5f5ab8b3a1b13066 -sha1 gcc-linaro-6.4-2017.08.tar.xz 3d9abc6669bb812d856379baa6ba86256bc351d6 -sha256 gcc-linaro-6.4-2017.08.tar.xz 4188a8c799186a5759decead1cdf1139e82e5215cdb468d5ff7070010968bde0 -sha512 gcc-linaro-6.4-2017.08.tar.xz ff5c01fa5d0dd958db1960973225d88089c4defb6928cdbf84457857626de0a6141a989d6a138faa52950aaa663b43fdb1498a3cefdcc4a0e05a26c01dcc1551 diff --git a/packages/gcc-linaro/6.4-2017.08/version.desc b/packages/gcc-linaro/6.4-2017.08/version.desc deleted file mode 100644 index e69de29..0000000 diff --git a/packages/gcc-linaro/6.4-2017.11/0000-libtool-leave-framework-alone.patch b/packages/gcc-linaro/6.4-2017.11/0000-libtool-leave-framework-alone.patch new file mode 100644 index 0000000..1a86e41 --- /dev/null +++ b/packages/gcc-linaro/6.4-2017.11/0000-libtool-leave-framework-alone.patch @@ -0,0 +1,18 @@ +--- + libtool-ldflags | 5 +++++ + 1 file changed, 5 insertions(+) + +--- a/libtool-ldflags ++++ b/libtool-ldflags +@@ -36,6 +36,11 @@ + for arg + do + case $arg in ++ -framework) ++ # libtool handles this option. It should not be prefixed with ++ # -Xcompiler, as that would split it from the argument that ++ # follows. ++ ;; + -f*|--*|-static-lib*|-shared-lib*|-B*) + # Libtool does not ascribe any special meaning options + # that begin with -f or with a double-dash. So, it will diff --git a/packages/gcc-linaro/6.4-2017.11/0001-uclibc-conf.patch b/packages/gcc-linaro/6.4-2017.11/0001-uclibc-conf.patch new file mode 100644 index 0000000..aef750a --- /dev/null +++ b/packages/gcc-linaro/6.4-2017.11/0001-uclibc-conf.patch @@ -0,0 +1,17 @@ +--- + contrib/regression/objs-gcc.sh | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/contrib/regression/objs-gcc.sh ++++ b/contrib/regression/objs-gcc.sh +@@ -106,6 +106,10 @@ + then + make all-gdb all-dejagnu all-ld || exit 1 + make install-gdb install-dejagnu install-ld || exit 1 ++elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ] ++ then ++ make all-gdb all-dejagnu all-ld || exit 1 ++ make install-gdb install-dejagnu install-ld || exit 1 + elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then + make bootstrap || exit 1 + make install || exit 1 diff --git a/packages/gcc-linaro/6.4-2017.11/0002-missing-execinfo_h.patch b/packages/gcc-linaro/6.4-2017.11/0002-missing-execinfo_h.patch new file mode 100644 index 0000000..c90222a --- /dev/null +++ b/packages/gcc-linaro/6.4-2017.11/0002-missing-execinfo_h.patch @@ -0,0 +1,15 @@ +--- + boehm-gc/include/gc.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/boehm-gc/include/gc.h ++++ b/boehm-gc/include/gc.h +@@ -503,7 +503,7 @@ + #if defined(__linux__) || defined(__GLIBC__) + # include + # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \ +- && !defined(__ia64__) ++ && !defined(__ia64__) && !defined(__UCLIBC__) + # ifndef GC_HAVE_BUILTIN_BACKTRACE + # define GC_HAVE_BUILTIN_BACKTRACE + # endif diff --git a/packages/gcc-linaro/6.4-2017.11/0003-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch b/packages/gcc-linaro/6.4-2017.11/0003-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch new file mode 100644 index 0000000..fe0f146 --- /dev/null +++ b/packages/gcc-linaro/6.4-2017.11/0003-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch @@ -0,0 +1,163 @@ +--- + config/gcc-plugin.m4 | 18 +++++++++++++----- + gcc/configure | 22 +++++++++++++++------- + libcc1/configure | 22 +++++++++++++++------- + 3 files changed, 43 insertions(+), 19 deletions(-) + +--- a/config/gcc-plugin.m4 ++++ b/config/gcc-plugin.m4 +@@ -20,6 +20,9 @@ + + pluginlibs= + ++ PICFLAG="-fPIC" ++ UNDEFINEDPREAMBLE="extern int X;" ++ UNDEFINEDCODE="return X == 0;" + case "${host}" in + *-*-darwin*) + if test x$build = x$host; then +@@ -30,6 +33,11 @@ + export_sym_check= + fi + ;; ++ *-*-mingw*|*-*-cygwin*|*-*-msys*) ++ PICFLAG="" ++ UNDEFINEDPREAMBLE="" ++ UNDEFINEDCODE="" ++ ;; + *) + if test x$build = x$host; then + export_sym_check="objdump${exeext} -T" +@@ -81,17 +89,17 @@ + case "${host}" in + *-*-darwin*) + CFLAGS=`echo $CFLAGS | sed s/-mdynamic-no-pic//g` +- CFLAGS="$CFLAGS -fPIC" ++ CFLAGS="$CFLAGS ${PICFLAG}" + LDFLAGS="$LDFLAGS -shared -undefined dynamic_lookup" + ;; + *) +- CFLAGS="$CFLAGS -fPIC" +- LDFLAGS="$LDFLAGS -fPIC -shared" ++ CFLAGS="$CFLAGS ${PICFLAG}" ++ LDFLAGS="$LDFLAGS ${PICFLAG} -shared" + ;; + esac +- AC_MSG_CHECKING([for -fPIC -shared]) ++ AC_MSG_CHECKING([for ${PICFLAG} -shared]) + AC_TRY_LINK( +- [extern int X;],[return X == 0;], ++ [${UNDEFINEDPREAMBLE}],[${UNDEFINEDCODE}], + [AC_MSG_RESULT([yes]); have_pic_shared=yes], + [AC_MSG_RESULT([no]); have_pic_shared=no]) + if test x"$have_pic_shared" != x"yes" -o x"$ac_cv_search_dlopen" = x"no"; then +--- a/gcc/configure ++++ b/gcc/configure +@@ -29200,6 +29200,9 @@ + + pluginlibs= + ++ PICFLAG="-fPIC" ++ UNDEFINEDPREAMBLE="extern int X;" ++ UNDEFINEDCODE="return X == 0;" + case "${host}" in + *-*-darwin*) + if test x$build = x$host; then +@@ -29210,6 +29213,11 @@ + export_sym_check= + fi + ;; ++ *-*-mingw*|*-*-cygwin*|*-*-msys*) ++ PICFLAG="" ++ UNDEFINEDPREAMBLE="" ++ UNDEFINEDCODE="" ++ ;; + *) + if test x$build = x$host; then + export_sym_check="objdump${exeext} -T" +@@ -29322,23 +29330,23 @@ + case "${host}" in + *-*-darwin*) + CFLAGS=`echo $CFLAGS | sed s/-mdynamic-no-pic//g` +- CFLAGS="$CFLAGS -fPIC" ++ CFLAGS="$CFLAGS ${PICFLAG}" + LDFLAGS="$LDFLAGS -shared -undefined dynamic_lookup" + ;; + *) +- CFLAGS="$CFLAGS -fPIC" +- LDFLAGS="$LDFLAGS -fPIC -shared" ++ CFLAGS="$CFLAGS ${PICFLAG}" ++ LDFLAGS="$LDFLAGS ${PICFLAG} -shared" + ;; + esac +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -fPIC -shared" >&5 +-$as_echo_n "checking for -fPIC -shared... " >&6; } ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${PICFLAG} -shared" >&5 ++$as_echo_n "checking for ${PICFLAG} -shared... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ +-extern int X; ++${UNDEFINEDPREAMBLE} + int + main () + { +-return X == 0; ++${UNDEFINEDCODE} + ; + return 0; + } +--- a/libcc1/configure ++++ b/libcc1/configure +@@ -14531,6 +14531,9 @@ + + pluginlibs= + ++ PICFLAG="-fPIC" ++ UNDEFINEDPREAMBLE="extern int X;" ++ UNDEFINEDCODE="return X == 0;" + case "${host}" in + *-*-darwin*) + if test x$build = x$host; then +@@ -14541,6 +14544,11 @@ + export_sym_check= + fi + ;; ++ *-*-mingw*|*-*-cygwin*|*-*-msys*) ++ PICFLAG="" ++ UNDEFINEDPREAMBLE="" ++ UNDEFINEDCODE="" ++ ;; + *) + if test x$build = x$host; then + export_sym_check="objdump${exeext} -T" +@@ -14653,23 +14661,23 @@ + case "${host}" in + *-*-darwin*) + CFLAGS=`echo $CFLAGS | sed s/-mdynamic-no-pic//g` +- CFLAGS="$CFLAGS -fPIC" ++ CFLAGS="$CFLAGS ${PICFLAG}" + LDFLAGS="$LDFLAGS -shared -undefined dynamic_lookup" + ;; + *) +- CFLAGS="$CFLAGS -fPIC" +- LDFLAGS="$LDFLAGS -fPIC -shared" ++ CFLAGS="$CFLAGS ${PICFLAG}" ++ LDFLAGS="$LDFLAGS ${PICFLAG} -shared" + ;; + esac +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -fPIC -shared" >&5 +-$as_echo_n "checking for -fPIC -shared... " >&6; } ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${PICFLAG} -shared" >&5 ++$as_echo_n "checking for ${PICFLAG} -shared... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ +-extern int X; ++${UNDEFINEDPREAMBLE} + int + main () + { +-return X == 0; ++${UNDEFINEDCODE} + ; + return 0; + } diff --git a/packages/gcc-linaro/6.4-2017.11/0004-gcc-plugin-POSIX-include-sys-select-h.patch b/packages/gcc-linaro/6.4-2017.11/0004-gcc-plugin-POSIX-include-sys-select-h.patch new file mode 100644 index 0000000..5f9a07a --- /dev/null +++ b/packages/gcc-linaro/6.4-2017.11/0004-gcc-plugin-POSIX-include-sys-select-h.patch @@ -0,0 +1,14 @@ +--- + libcc1/connection.cc | 1 + + 1 file changed, 1 insertion(+) + +--- a/libcc1/connection.cc ++++ b/libcc1/connection.cc +@@ -21,6 +21,7 @@ + #include + #include + #include ++#include + #include + #include + #include "marshall.hh" diff --git a/packages/gcc-linaro/6.4-2017.11/0005-arm-softfloat-libgcc.patch b/packages/gcc-linaro/6.4-2017.11/0005-arm-softfloat-libgcc.patch new file mode 100644 index 0000000..350857d --- /dev/null +++ b/packages/gcc-linaro/6.4-2017.11/0005-arm-softfloat-libgcc.patch @@ -0,0 +1,31 @@ +--- + gcc/config/arm/linux-elf.h | 2 +- + libgcc/config/arm/t-linux | 7 ++++++- + 2 files changed, 7 insertions(+), 2 deletions(-) + +--- a/gcc/config/arm/linux-elf.h ++++ b/gcc/config/arm/linux-elf.h +@@ -60,7 +60,7 @@ + %{shared:-lc} \ + %{!shared:%{profile:-lc_p}%{!profile:-lc}}" + +-#define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc" ++#define LIBGCC_SPEC "-lgcc" + + #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" + +--- a/libgcc/config/arm/t-linux ++++ b/libgcc/config/arm/t-linux +@@ -1,6 +1,11 @@ + LIB1ASMSRC = arm/lib1funcs.S + LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \ +- _ctzsi2 _arm_addsubdf3 _arm_addsubsf3 ++ _ctzsi2 _arm_addsubdf3 _arm_addsubsf3 \ ++ _arm_addsubdf3 _arm_addsubsf3 \ ++ _arm_negdf2 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 \ ++ _arm_fixdfsi _arm_fixunsdfsi _arm_truncdfsf2 \ ++ _arm_negsf2 _arm_muldivsf3 _arm_cmpsf2 _arm_unordsf2 \ ++ _arm_fixsfsi _arm_fixunssfsi + + # Just for these, we omit the frame pointer since it makes such a big + # difference. diff --git a/packages/gcc-linaro/6.4-2017.11/0006-arm_unbreak_armv4t.patch b/packages/gcc-linaro/6.4-2017.11/0006-arm_unbreak_armv4t.patch new file mode 100644 index 0000000..7c37445 --- /dev/null +++ b/packages/gcc-linaro/6.4-2017.11/0006-arm_unbreak_armv4t.patch @@ -0,0 +1,17 @@ +http://sourceware.org/ml/crossgcc/2008-05/msg00009.html + +--- + gcc/config/arm/linux-eabi.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/gcc/config/arm/linux-eabi.h ++++ b/gcc/config/arm/linux-eabi.h +@@ -45,7 +45,7 @@ + The ARM10TDMI core is the default for armv5t, so set + SUBTARGET_CPU_DEFAULT to achieve this. */ + #undef SUBTARGET_CPU_DEFAULT +-#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi ++#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi + + /* TARGET_BIG_ENDIAN_DEFAULT is set in + config.gcc for big endian configurations. */ diff --git a/packages/gcc-linaro/6.4-2017.11/0007-cilk-wchar.patch b/packages/gcc-linaro/6.4-2017.11/0007-cilk-wchar.patch new file mode 100644 index 0000000..300837f --- /dev/null +++ b/packages/gcc-linaro/6.4-2017.11/0007-cilk-wchar.patch @@ -0,0 +1,54 @@ +[PATCH] cilk: fix build without wchar + +When building against uClibc with wchar support disabled, WCHAR_MIN and +WCHAR_MAX are not defined leading to compilation errors. + +Fix it by only including the wchar code if available. + +Signed-off-by: Peter Korsgaard +--- + libcilkrts/include/cilk/reducer_min_max.h | 8 ++++++++ + 1 file changed, 8 insertions(+) + +--- a/libcilkrts/include/cilk/reducer_min_max.h ++++ b/libcilkrts/include/cilk/reducer_min_max.h +@@ -3154,7 +3154,9 @@ + CILK_C_REDUCER_MAX_INSTANCE(char, char, CHAR_MIN) + CILK_C_REDUCER_MAX_INSTANCE(unsigned char, uchar, 0) + CILK_C_REDUCER_MAX_INSTANCE(signed char, schar, SCHAR_MIN) ++#ifdef WCHAR_MIN + CILK_C_REDUCER_MAX_INSTANCE(wchar_t, wchar_t, WCHAR_MIN) ++#endif + CILK_C_REDUCER_MAX_INSTANCE(short, short, SHRT_MIN) + CILK_C_REDUCER_MAX_INSTANCE(unsigned short, ushort, 0) + CILK_C_REDUCER_MAX_INSTANCE(int, int, INT_MIN) +@@ -3306,7 +3308,9 @@ + CILK_C_REDUCER_MAX_INDEX_INSTANCE(char, char, CHAR_MIN) + CILK_C_REDUCER_MAX_INDEX_INSTANCE(unsigned char, uchar, 0) + CILK_C_REDUCER_MAX_INDEX_INSTANCE(signed char, schar, SCHAR_MIN) ++#ifdef WCHAR_MIN + CILK_C_REDUCER_MAX_INDEX_INSTANCE(wchar_t, wchar_t, WCHAR_MIN) ++#endif + CILK_C_REDUCER_MAX_INDEX_INSTANCE(short, short, SHRT_MIN) + CILK_C_REDUCER_MAX_INDEX_INSTANCE(unsigned short, ushort, 0) + CILK_C_REDUCER_MAX_INDEX_INSTANCE(int, int, INT_MIN) +@@ -3432,7 +3436,9 @@ + CILK_C_REDUCER_MIN_INSTANCE(char, char, CHAR_MAX) + CILK_C_REDUCER_MIN_INSTANCE(unsigned char, uchar, CHAR_MAX) + CILK_C_REDUCER_MIN_INSTANCE(signed char, schar, SCHAR_MAX) ++#ifdef WCHAR_MAX + CILK_C_REDUCER_MIN_INSTANCE(wchar_t, wchar_t, WCHAR_MAX) ++#endif + CILK_C_REDUCER_MIN_INSTANCE(short, short, SHRT_MAX) + CILK_C_REDUCER_MIN_INSTANCE(unsigned short, ushort, USHRT_MAX) + CILK_C_REDUCER_MIN_INSTANCE(int, int, INT_MAX) +@@ -3584,7 +3590,9 @@ + CILK_C_REDUCER_MIN_INDEX_INSTANCE(char, char, CHAR_MAX) + CILK_C_REDUCER_MIN_INDEX_INSTANCE(unsigned char, uchar, CHAR_MAX) + CILK_C_REDUCER_MIN_INDEX_INSTANCE(signed char, schar, SCHAR_MAX) ++#ifdef WCHAR_MAX + CILK_C_REDUCER_MIN_INDEX_INSTANCE(wchar_t, wchar_t, WCHAR_MAX) ++#endif + CILK_C_REDUCER_MIN_INDEX_INSTANCE(short, short, SHRT_MAX) + CILK_C_REDUCER_MIN_INDEX_INSTANCE(unsigned short, ushort, USHRT_MAX) + CILK_C_REDUCER_MIN_INDEX_INSTANCE(int, int, INT_MAX) diff --git a/packages/gcc-linaro/6.4-2017.11/0008-fix-m68k-compile.patch b/packages/gcc-linaro/6.4-2017.11/0008-fix-m68k-compile.patch new file mode 100644 index 0000000..9437f25 --- /dev/null +++ b/packages/gcc-linaro/6.4-2017.11/0008-fix-m68k-compile.patch @@ -0,0 +1,18 @@ +remove unused header, which breaks the toolchain building + +Signed-off-by: Waldemar Brodkorb + +--- + libgcc/config/m68k/linux-atomic.c | 1 - + 1 file changed, 1 deletion(-) + +--- a/libgcc/config/m68k/linux-atomic.c ++++ b/libgcc/config/m68k/linux-atomic.c +@@ -33,7 +33,6 @@ + using the kernel helper defined below. There is no support for + 64-bit operations yet. */ + +-#include + #include + + #ifndef __NR_atomic_cmpxchg_32 diff --git a/packages/gcc-linaro/6.4-2017.11/0009-fix-m68k-uclinux.patch b/packages/gcc-linaro/6.4-2017.11/0009-fix-m68k-uclinux.patch new file mode 100644 index 0000000..20d7c4a --- /dev/null +++ b/packages/gcc-linaro/6.4-2017.11/0009-fix-m68k-uclinux.patch @@ -0,0 +1,21 @@ +avoids internal compiler error while compiling linux-atomic.c +See here: +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53833 + +Signed-off-by: Waldemar Brodkorb + +--- + libgcc/config.host | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/libgcc/config.host ++++ b/libgcc/config.host +@@ -824,7 +824,7 @@ + m68k*-*-openbsd*) + ;; + m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux with uClibc +- tmake_file="$tmake_file m68k/t-floatlib m68k/t-linux" ++ tmake_file="$tmake_file m68k/t-floatlib" + md_unwind_header=m68k/linux-unwind.h + ;; + m68k-*-linux*) # Motorola m68k's running GNU/Linux diff --git a/packages/gcc-linaro/6.4-2017.11/0010-libgcc-mkmap-symver-support-skip_underscore.patch b/packages/gcc-linaro/6.4-2017.11/0010-libgcc-mkmap-symver-support-skip_underscore.patch new file mode 100644 index 0000000..c6421d0 --- /dev/null +++ b/packages/gcc-linaro/6.4-2017.11/0010-libgcc-mkmap-symver-support-skip_underscore.patch @@ -0,0 +1,55 @@ +From ae9c3e354440c4a0f105a9eabfb2f77be085ebc1 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Thu, 18 Aug 2016 17:59:16 +0200 +Subject: [PATCH] libgcc/mkmap-symver: support skip_underscore + +Some platforms, such as Blackfin, have a special prefix for assembly +symbols as opposed to C symbols. For this reason, a function named +"foo()" in C will in fact be visible as a symbol called "_foo" in the +ELF binary. + +The current linker version script logic in libgcc doesn't take into +account this situation properly. The Blackfin specific +libgcc/config/bfin/libgcc-glibc.ver has an additional "_" in front of +every symbol so that it matches the output of "nm" (which gets parsed to +produce the final linker version script). But due to this additional +"_", ld no longer matches with the symbols since "ld" does the matching +with the original symbol name, not the one prefixed with "_". + +Due to this, none of the symbols in libgcc/config/bfin/libgcc-glibc.ver +are actually matched with symbols in libgcc. This causes all libgcc +symbols to be left as "LOCAL", which causes lots of "undefined +reference" whenever some C or C++ code that calls a function of libgcc +is compiled. + +To address this, this commit introduces a "skip_underscore" variable to +the mkmap-symver script. It tells mkmap-symver to ignore the leading +underscore from the "nm" output. + +Note that this new argument is different from the existing +"leading_underscore" argument, which *adds* an additional underscore to +the generated linker version script. + +Having this functionality paves the way to using the generic linker +version information for Blackfin, instead of using a custom one. + +Signed-off-by: Thomas Petazzoni +--- + libgcc/mkmap-symver.awk | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +--- a/libgcc/mkmap-symver.awk ++++ b/libgcc/mkmap-symver.awk +@@ -47,7 +47,11 @@ + + state == "nm" && NF == 3 { + split ($3, s, "@") +- def[s[1]] = 1; ++ if (skip_underscore) ++ symname = substr(s[1], 2); ++ else ++ symname = s[1]; ++ def[symname] = 1; + sawsymbol = 1; + next; + } diff --git a/packages/gcc-linaro/6.4-2017.11/0011-libgcc-config-bfin-use-the-generic-linker-version-in.patch b/packages/gcc-linaro/6.4-2017.11/0011-libgcc-config-bfin-use-the-generic-linker-version-in.patch new file mode 100644 index 0000000..ac75cfa --- /dev/null +++ b/packages/gcc-linaro/6.4-2017.11/0011-libgcc-config-bfin-use-the-generic-linker-version-in.patch @@ -0,0 +1,1937 @@ +From 56d606931716de30a89a40dc69a9282c1b4e2880 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Thu, 18 Aug 2016 18:04:06 +0200 +Subject: [PATCH] libgcc/config/bfin: use the generic linker version + information + +This commit makes the Blackfin platform use the generic linker version +information, rather than a completely duplicated file, specific for the +Blackfin architecture. + +This is made possible using the newly introduced skip_underscore +variable of the mkmap-symver script. + +This also allows to get a correct linker version file, with symbol names +matching the ones found in libgcc. Thanks to this, the necessary symbols +are marked "GLOBAL" instead of "LOCAL", which makes them visible at link +time, and solves a large number of "undefined reference" +issues. Indeed, the Blackfin specific linker version script had an extra +underscore in front of all symbols, which meant none of them matched the +symbols in libgcc, and therefore all libgcc symbols were marked as +"LOCAL", making them invisible for linking. + +Signed-off-by: Thomas Petazzoni +--- + libgcc/config/bfin/libgcc-glibc.ver | 1894 ------------------------------------ + libgcc/config/bfin/t-linux | 3 + 2 files changed, 4 insertions(+), 1893 deletions(-) + +--- a/libgcc/config/bfin/libgcc-glibc.ver ++++ b/libgcc/config/bfin/libgcc-glibc.ver +@@ -16,1898 +16,8 @@ + # along with GCC; see the file COPYING3. If not see + # . + +-GCC_3.0 { +- # libgcc1 integer symbols +- ___absvsi2 +- ___addvsi3 +- ___ashlsi3 +- ___ashrsi3 +- ___divsi3 +- ___lshrsi3 +- ___modsi3 +- ___mulsi3 +- ___mulvsi3 +- ___negvsi2 +- ___subvsi3 +- ___udivsi3 +- ___umodsi3 +- +- # libgcc1 floating point symbols +- ___addsf3 +- ___adddf3 +- ___addxf3 +- ___addtf3 +- ___divsf3 +- ___divdf3 +- ___divxf3 +- ___divtf3 +- ___eqsf2 +- ___eqdf2 +- ___eqxf2 +- ___eqtf2 +- ___extenddfxf2 +- ___extenddftf2 +- ___extendsfdf2 +- ___extendsfxf2 +- ___extendsftf2 +- ___fixsfsi +- ___fixdfsi +- ___fixxfsi +- ___fixtfsi +- ___floatsisf +- ___floatsidf +- ___floatsixf +- ___floatsitf +- ___gesf2 +- ___gedf2 +- ___gexf2 +- ___getf2 +- ___gtsf2 +- ___gtdf2 +- ___gtxf2 +- ___gttf2 +- ___lesf2 +- ___ledf2 +- ___lexf2 +- ___letf2 +- ___ltsf2 +- ___ltdf2 +- ___ltxf2 +- ___lttf2 +- ___mulsf3 +- ___muldf3 +- ___mulxf3 +- ___multf3 +- ___negsf2 +- ___negdf2 +- ___negxf2 +- ___negtf2 +- ___nesf2 +- ___nedf2 +- ___nexf2 +- ___netf2 +- ___subsf3 +- ___subdf3 +- ___subxf3 +- ___subtf3 +- ___truncdfsf2 +- ___truncxfsf2 +- ___trunctfsf2 +- ___truncxfdf2 +- ___trunctfdf2 +- +- # libgcc2 DImode arithmetic (for 32-bit targets). +- ___absvdi2 +- ___addvdi3 +- ___ashldi3 +- ___ashrdi3 +- ___cmpdi2 +- ___divdi3 +- ___ffsdi2 +- ___fixdfdi +- ___fixsfdi +- ___fixtfdi +- ___fixxfdi +- ___fixunsdfdi +- ___fixunsdfsi +- ___fixunssfsi +- ___fixunssfdi +- ___fixunstfdi +- ___fixunstfsi +- ___fixunsxfdi +- ___fixunsxfsi +- ___floatdidf +- ___floatdisf +- ___floatdixf +- ___floatditf +- ___lshrdi3 +- ___moddi3 +- ___muldi3 +- ___mulvdi3 +- ___negdi2 +- ___negvdi2 +- ___subvdi3 +- ___ucmpdi2 +- ___udivdi3 +- ___udivmoddi4 +- ___umoddi3 +- +- # libgcc2 TImode arithmetic (for 64-bit targets). +- ___ashlti3 +- ___ashrti3 +- ___cmpti2 +- ___divti3 +- ___ffsti2 +- ___fixdfti +- ___fixsfti +- ___fixtfti +- ___fixxfti +- ___lshrti3 +- ___modti3 +- ___multi3 +- ___negti2 +- ___ucmpti2 +- ___udivmodti4 +- ___udivti3 +- ___umodti3 +- ___fixunsdfti +- ___fixunssfti +- ___fixunstfti +- ___fixunsxfti +- ___floattidf +- ___floattisf +- ___floattixf +- ___floattitf +- +- # Used to deal with trampoline initialization on some platforms +- ___clear_cache +- +- # EH symbols +- __Unwind_DeleteException +- __Unwind_Find_FDE +- __Unwind_ForcedUnwind +- __Unwind_GetGR +- __Unwind_GetIP +- __Unwind_GetLanguageSpecificData +- __Unwind_GetRegionStart +- __Unwind_GetTextRelBase +- __Unwind_GetDataRelBase +- __Unwind_RaiseException +- __Unwind_Resume +- __Unwind_SetGR +- __Unwind_SetIP +- ___deregister_frame +- ___deregister_frame_info +- ___deregister_frame_info_bases +- ___register_frame +- ___register_frame_info +- ___register_frame_info_bases +- ___register_frame_info_table +- ___register_frame_info_table_bases +- ___register_frame_table +- +- # SjLj EH symbols +- __Unwind_SjLj_Register +- __Unwind_SjLj_Unregister +- __Unwind_SjLj_RaiseException +- __Unwind_SjLj_ForcedUnwind +- __Unwind_SjLj_Resume +-} +- +-%inherit GCC_3.3 GCC_3.0 +-GCC_3.3 { +- __Unwind_FindEnclosingFunction +- __Unwind_GetCFA +- __Unwind_Backtrace +- __Unwind_Resume_or_Rethrow +- __Unwind_SjLj_Resume_or_Rethrow +-} +- +-%inherit GCC_3.3.1 GCC_3.3 +-GCC_3.3.1 { +- ___gcc_personality_sj0 +- ___gcc_personality_v0 +-} +- +-%inherit GCC_3.3.2 GCC_3.3.1 +-GCC_3.3.2 { +-} +-%inherit GCC_3.3.4 GCC_3.3.2 +-GCC_3.3.4 { +- ___unorddf2 +- ___unordsf2 +-} +- +-%inherit GCC_3.4 GCC_3.3.4 +-GCC_3.4 { +- # bit scanning and counting built-ins +- ___clzsi2 +- ___clzdi2 +- ___clzti2 +- ___ctzsi2 +- ___ctzdi2 +- ___ctzti2 +- ___popcountsi2 +- ___popcountdi2 +- ___popcountti2 +- ___paritysi2 +- ___paritydi2 +- ___parityti2 +-} +- +-%inherit GCC_3.4.2 GCC_3.4 +-GCC_3.4.2 { +- # Used to deal with trampoline initialization on some platforms +- ___enable_execute_stack +- ___trampoline_setup +-} +- +-%inherit GCC_3.4.4 GCC_3.4.2 +-GCC_3.4.4 { +- # libgcc2 TImode arithmetic (for 64-bit targets). +- ___absvti2 +- ___addvti3 +- ___mulvti3 +- ___negvti2 +- ___subvti3 +-} +- +-%inherit GCC_4.0.0 GCC_3.4.4 +-GCC_4.0.0 { +- # libgcc2 __builtin_powi helpers. +- ___powisf2 +- ___powidf2 +- ___powixf2 +- ___powitf2 +- +- # c99 compliant complex arithmetic +- ___divsc3 +- ___divdc3 +- ___divxc3 +- ___divtc3 +- ___mulsc3 +- ___muldc3 +- ___mulxc3 +- ___multc3 +-} +- + %inherit GCC_4.1.0 GCC_4.0.0 + GCC_4.1.0 { +- ___smulsi3_highpart +- ___umulsi3_highpart +-} +- +-%inherit GCC_4.2.0 GCC_4.1.0 +-GCC_4.2.0 { +- # unsigned-to-floating conversions +- ___floatunsisf +- ___floatunsidf +- ___floatunsixf +- ___floatunsitf +- ___floatundidf +- ___floatundisf +- ___floatundixf +- ___floatunditf +- ___floatuntidf +- ___floatuntisf +- ___floatuntixf +- ___floatuntitf +- __Unwind_GetIPInfo +-} +- +-%inherit GCC_4.3.0 GCC_4.2.0 +-GCC_4.3.0 { +- # byte swapping routines +- ___bswapsi2 +- ___bswapdi2 +- ___emutls_get_address +- ___emutls_register_common +- ___ffssi2 +- ___extendxftf2 +- ___trunctfxf2 +- +- # fixed-point routines +- ___addqq3 +- ___addhq3 +- ___addsq3 +- ___adddq3 +- ___addtq3 +- ___adduqq3 +- ___adduhq3 +- ___addusq3 +- ___addudq3 +- ___addutq3 +- ___addha3 +- ___addsa3 +- ___addda3 +- ___addta3 +- ___adduha3 +- ___addusa3 +- ___adduda3 +- ___adduta3 +- ___ssaddqq3 +- ___ssaddhq3 +- ___ssaddsq3 +- ___ssadddq3 +- ___ssaddtq3 +- ___ssaddha3 +- ___ssaddsa3 +- ___ssaddda3 +- ___ssaddta3 +- ___usadduqq3 +- ___usadduhq3 +- ___usaddusq3 +- ___usaddudq3 +- ___usaddutq3 +- ___usadduha3 +- ___usaddusa3 +- ___usadduda3 +- ___usadduta3 +- ___subqq3 +- ___subhq3 +- ___subsq3 +- ___subdq3 +- ___subtq3 +- ___subuqq3 +- ___subuhq3 +- ___subusq3 +- ___subudq3 +- ___subutq3 +- ___subha3 +- ___subsa3 +- ___subda3 +- ___subta3 +- ___subuha3 +- ___subusa3 +- ___subuda3 +- ___subuta3 +- ___sssubqq3 +- ___sssubhq3 +- ___sssubsq3 +- ___sssubdq3 +- ___sssubtq3 +- ___sssubha3 +- ___sssubsa3 +- ___sssubda3 +- ___sssubta3 +- ___ussubuqq3 +- ___ussubuhq3 +- ___ussubusq3 +- ___ussubudq3 +- ___ussubutq3 +- ___ussubuha3 +- ___ussubusa3 +- ___ussubuda3 +- ___ussubuta3 +- ___mulqq3 +- ___mulhq3 +- ___mulsq3 +- ___muldq3 +- ___multq3 +- ___muluqq3 +- ___muluhq3 +- ___mulusq3 +- ___muludq3 +- ___mulutq3 +- ___mulha3 +- ___mulsa3 +- ___mulda3 +- ___multa3 +- ___muluha3 +- ___mulusa3 +- ___muluda3 +- ___muluta3 +- ___ssmulqq3 +- ___ssmulhq3 +- ___ssmulsq3 +- ___ssmuldq3 +- ___ssmultq3 +- ___ssmulha3 +- ___ssmulsa3 +- ___ssmulda3 +- ___ssmulta3 +- ___usmuluqq3 +- ___usmuluhq3 +- ___usmulusq3 +- ___usmuludq3 +- ___usmulutq3 +- ___usmuluha3 +- ___usmulusa3 +- ___usmuluda3 +- ___usmuluta3 +- ___divqq3 +- ___divhq3 +- ___divsq3 +- ___divdq3 +- ___divtq3 +- ___divha3 +- ___divsa3 +- ___divda3 +- ___divta3 +- ___udivuqq3 +- ___udivuhq3 +- ___udivusq3 +- ___udivudq3 +- ___udivutq3 +- ___udivuha3 +- ___udivusa3 +- ___udivuda3 +- ___udivuta3 +- ___ssdivqq3 +- ___ssdivhq3 +- ___ssdivsq3 +- ___ssdivdq3 +- ___ssdivtq3 +- ___ssdivha3 +- ___ssdivsa3 +- ___ssdivda3 +- ___ssdivta3 +- ___usdivuqq3 +- ___usdivuhq3 +- ___usdivusq3 +- ___usdivudq3 +- ___usdivutq3 +- ___usdivuha3 +- ___usdivusa3 +- ___usdivuda3 +- ___usdivuta3 +- ___negqq2 +- ___neghq2 +- ___negsq2 +- ___negdq2 +- ___negtq2 +- ___neguqq2 +- ___neguhq2 +- ___negusq2 +- ___negudq2 +- ___negutq2 +- ___negha2 +- ___negsa2 +- ___negda2 +- ___negta2 +- ___neguha2 +- ___negusa2 +- ___neguda2 +- ___neguta2 +- ___ssnegqq2 +- ___ssneghq2 +- ___ssnegsq2 +- ___ssnegdq2 +- ___ssnegtq2 +- ___ssnegha2 +- ___ssnegsa2 +- ___ssnegda2 +- ___ssnegta2 +- ___usneguqq2 +- ___usneguhq2 +- ___usnegusq2 +- ___usnegudq2 +- ___usnegutq2 +- ___usneguha2 +- ___usnegusa2 +- ___usneguda2 +- ___usneguta2 +- ___ashlqq3 +- ___ashlhq3 +- ___ashlsq3 +- ___ashldq3 +- ___ashltq3 +- ___ashluqq3 +- ___ashluhq3 +- ___ashlusq3 +- ___ashludq3 +- ___ashlutq3 +- ___ashlha3 +- ___ashlsa3 +- ___ashlda3 +- ___ashlta3 +- ___ashluha3 +- ___ashlusa3 +- ___ashluda3 +- ___ashluta3 +- ___ashrqq3 +- ___ashrhq3 +- ___ashrsq3 +- ___ashrdq3 +- ___ashrtq3 +- ___ashrha3 +- ___ashrsa3 +- ___ashrda3 +- ___ashrta3 +- ___lshruqq3 +- ___lshruhq3 +- ___lshrusq3 +- ___lshrudq3 +- ___lshrutq3 +- ___lshruha3 +- ___lshrusa3 +- ___lshruda3 +- ___lshruta3 +- ___ssashlqq3 +- ___ssashlhq3 +- ___ssashlsq3 +- ___ssashldq3 +- ___ssashltq3 +- ___ssashlha3 +- ___ssashlsa3 +- ___ssashlda3 +- ___ssashlta3 +- ___usashluqq3 +- ___usashluhq3 +- ___usashlusq3 +- ___usashludq3 +- ___usashlutq3 +- ___usashluha3 +- ___usashlusa3 +- ___usashluda3 +- ___usashluta3 +- ___cmpqq2 +- ___cmphq2 +- ___cmpsq2 +- ___cmpdq2 +- ___cmptq2 +- ___cmpuqq2 +- ___cmpuhq2 +- ___cmpusq2 +- ___cmpudq2 +- ___cmputq2 +- ___cmpha2 +- ___cmpsa2 +- ___cmpda2 +- ___cmpta2 +- ___cmpuha2 +- ___cmpusa2 +- ___cmpuda2 +- ___cmputa2 +- ___fractqqhq2 +- ___fractqqsq2 +- ___fractqqdq2 +- ___fractqqtq2 +- ___fractqqha +- ___fractqqsa +- ___fractqqda +- ___fractqqta +- ___fractqquqq +- ___fractqquhq +- ___fractqqusq +- ___fractqqudq +- ___fractqqutq +- ___fractqquha +- ___fractqqusa +- ___fractqquda +- ___fractqquta +- ___fractqqqi +- ___fractqqhi +- ___fractqqsi +- ___fractqqdi +- ___fractqqti +- ___fractqqsf +- ___fractqqdf +- ___fracthqqq2 +- ___fracthqsq2 +- ___fracthqdq2 +- ___fracthqtq2 +- ___fracthqha +- ___fracthqsa +- ___fracthqda +- ___fracthqta +- ___fracthquqq +- ___fracthquhq +- ___fracthqusq +- ___fracthqudq +- ___fracthqutq +- ___fracthquha +- ___fracthqusa +- ___fracthquda +- ___fracthquta +- ___fracthqqi +- ___fracthqhi +- ___fracthqsi +- ___fracthqdi +- ___fracthqti +- ___fracthqsf +- ___fracthqdf +- ___fractsqqq2 +- ___fractsqhq2 +- ___fractsqdq2 +- ___fractsqtq2 +- ___fractsqha +- ___fractsqsa +- ___fractsqda +- ___fractsqta +- ___fractsquqq +- ___fractsquhq +- ___fractsqusq +- ___fractsqudq +- ___fractsqutq +- ___fractsquha +- ___fractsqusa +- ___fractsquda +- ___fractsquta +- ___fractsqqi +- ___fractsqhi +- ___fractsqsi +- ___fractsqdi +- ___fractsqti +- ___fractsqsf +- ___fractsqdf +- ___fractdqqq2 +- ___fractdqhq2 +- ___fractdqsq2 +- ___fractdqtq2 +- ___fractdqha +- ___fractdqsa +- ___fractdqda +- ___fractdqta +- ___fractdquqq +- ___fractdquhq +- ___fractdqusq +- ___fractdqudq +- ___fractdqutq +- ___fractdquha +- ___fractdqusa +- ___fractdquda +- ___fractdquta +- ___fractdqqi +- ___fractdqhi +- ___fractdqsi +- ___fractdqdi +- ___fractdqti +- ___fractdqsf +- ___fractdqdf +- ___fracttqqq2 +- ___fracttqhq2 +- ___fracttqsq2 +- ___fracttqdq2 +- ___fracttqha +- ___fracttqsa +- ___fracttqda +- ___fracttqta +- ___fracttquqq +- ___fracttquhq +- ___fracttqusq +- ___fracttqudq +- ___fracttqutq +- ___fracttquha +- ___fracttqusa +- ___fracttquda +- ___fracttquta +- ___fracttqqi +- ___fracttqhi +- ___fracttqsi +- ___fracttqdi +- ___fracttqti +- ___fracttqsf +- ___fracttqdf +- ___fracthaqq +- ___fracthahq +- ___fracthasq +- ___fracthadq +- ___fracthatq +- ___fracthasa2 +- ___fracthada2 +- ___fracthata2 +- ___fracthauqq +- ___fracthauhq +- ___fracthausq +- ___fracthaudq +- ___fracthautq +- ___fracthauha +- ___fracthausa +- ___fracthauda +- ___fracthauta +- ___fracthaqi +- ___fracthahi +- ___fracthasi +- ___fracthadi +- ___fracthati +- ___fracthasf +- ___fracthadf +- ___fractsaqq +- ___fractsahq +- ___fractsasq +- ___fractsadq +- ___fractsatq +- ___fractsaha2 +- ___fractsada2 +- ___fractsata2 +- ___fractsauqq +- ___fractsauhq +- ___fractsausq +- ___fractsaudq +- ___fractsautq +- ___fractsauha +- ___fractsausa +- ___fractsauda +- ___fractsauta +- ___fractsaqi +- ___fractsahi +- ___fractsasi +- ___fractsadi +- ___fractsati +- ___fractsasf +- ___fractsadf +- ___fractdaqq +- ___fractdahq +- ___fractdasq +- ___fractdadq +- ___fractdatq +- ___fractdaha2 +- ___fractdasa2 +- ___fractdata2 +- ___fractdauqq +- ___fractdauhq +- ___fractdausq +- ___fractdaudq +- ___fractdautq +- ___fractdauha +- ___fractdausa +- ___fractdauda +- ___fractdauta +- ___fractdaqi +- ___fractdahi +- ___fractdasi +- ___fractdadi +- ___fractdati +- ___fractdasf +- ___fractdadf +- ___fracttaqq +- ___fracttahq +- ___fracttasq +- ___fracttadq +- ___fracttatq +- ___fracttaha2 +- ___fracttasa2 +- ___fracttada2 +- ___fracttauqq +- ___fracttauhq +- ___fracttausq +- ___fracttaudq +- ___fracttautq +- ___fracttauha +- ___fracttausa +- ___fracttauda +- ___fracttauta +- ___fracttaqi +- ___fracttahi +- ___fracttasi +- ___fracttadi +- ___fracttati +- ___fracttasf +- ___fracttadf +- ___fractuqqqq +- ___fractuqqhq +- ___fractuqqsq +- ___fractuqqdq +- ___fractuqqtq +- ___fractuqqha +- ___fractuqqsa +- ___fractuqqda +- ___fractuqqta +- ___fractuqquhq2 +- ___fractuqqusq2 +- ___fractuqqudq2 +- ___fractuqqutq2 +- ___fractuqquha +- ___fractuqqusa +- ___fractuqquda +- ___fractuqquta +- ___fractuqqqi +- ___fractuqqhi +- ___fractuqqsi +- ___fractuqqdi +- ___fractuqqti +- ___fractuqqsf +- ___fractuqqdf +- ___fractuhqqq +- ___fractuhqhq +- ___fractuhqsq +- ___fractuhqdq +- ___fractuhqtq +- ___fractuhqha +- ___fractuhqsa +- ___fractuhqda +- ___fractuhqta +- ___fractuhquqq2 +- ___fractuhqusq2 +- ___fractuhqudq2 +- ___fractuhqutq2 +- ___fractuhquha +- ___fractuhqusa +- ___fractuhquda +- ___fractuhquta +- ___fractuhqqi +- ___fractuhqhi +- ___fractuhqsi +- ___fractuhqdi +- ___fractuhqti +- ___fractuhqsf +- ___fractuhqdf +- ___fractusqqq +- ___fractusqhq +- ___fractusqsq +- ___fractusqdq +- ___fractusqtq +- ___fractusqha +- ___fractusqsa +- ___fractusqda +- ___fractusqta +- ___fractusquqq2 +- ___fractusquhq2 +- ___fractusqudq2 +- ___fractusqutq2 +- ___fractusquha +- ___fractusqusa +- ___fractusquda +- ___fractusquta +- ___fractusqqi +- ___fractusqhi +- ___fractusqsi +- ___fractusqdi +- ___fractusqti +- ___fractusqsf +- ___fractusqdf +- ___fractudqqq +- ___fractudqhq +- ___fractudqsq +- ___fractudqdq +- ___fractudqtq +- ___fractudqha +- ___fractudqsa +- ___fractudqda +- ___fractudqta +- ___fractudquqq2 +- ___fractudquhq2 +- ___fractudqusq2 +- ___fractudqutq2 +- ___fractudquha +- ___fractudqusa +- ___fractudquda +- ___fractudquta +- ___fractudqqi +- ___fractudqhi +- ___fractudqsi +- ___fractudqdi +- ___fractudqti +- ___fractudqsf +- ___fractudqdf +- ___fractutqqq +- ___fractutqhq +- ___fractutqsq +- ___fractutqdq +- ___fractutqtq +- ___fractutqha +- ___fractutqsa +- ___fractutqda +- ___fractutqta +- ___fractutquqq2 +- ___fractutquhq2 +- ___fractutqusq2 +- ___fractutqudq2 +- ___fractutquha +- ___fractutqusa +- ___fractutquda +- ___fractutquta +- ___fractutqqi +- ___fractutqhi +- ___fractutqsi +- ___fractutqdi +- ___fractutqti +- ___fractutqsf +- ___fractutqdf +- ___fractuhaqq +- ___fractuhahq +- ___fractuhasq +- ___fractuhadq +- ___fractuhatq +- ___fractuhaha +- ___fractuhasa +- ___fractuhada +- ___fractuhata +- ___fractuhauqq +- ___fractuhauhq +- ___fractuhausq +- ___fractuhaudq +- ___fractuhautq +- ___fractuhausa2 +- ___fractuhauda2 +- ___fractuhauta2 +- ___fractuhaqi +- ___fractuhahi +- ___fractuhasi +- ___fractuhadi +- ___fractuhati +- ___fractuhasf +- ___fractuhadf +- ___fractusaqq +- ___fractusahq +- ___fractusasq +- ___fractusadq +- ___fractusatq +- ___fractusaha +- ___fractusasa +- ___fractusada +- ___fractusata +- ___fractusauqq +- ___fractusauhq +- ___fractusausq +- ___fractusaudq +- ___fractusautq +- ___fractusauha2 +- ___fractusauda2 +- ___fractusauta2 +- ___fractusaqi +- ___fractusahi +- ___fractusasi +- ___fractusadi +- ___fractusati +- ___fractusasf +- ___fractusadf +- ___fractudaqq +- ___fractudahq +- ___fractudasq +- ___fractudadq +- ___fractudatq +- ___fractudaha +- ___fractudasa +- ___fractudada +- ___fractudata +- ___fractudauqq +- ___fractudauhq +- ___fractudausq +- ___fractudaudq +- ___fractudautq +- ___fractudauha2 +- ___fractudausa2 +- ___fractudauta2 +- ___fractudaqi +- ___fractudahi +- ___fractudasi +- ___fractudadi +- ___fractudati +- ___fractudasf +- ___fractudadf +- ___fractutaqq +- ___fractutahq +- ___fractutasq +- ___fractutadq +- ___fractutatq +- ___fractutaha +- ___fractutasa +- ___fractutada +- ___fractutata +- ___fractutauqq +- ___fractutauhq +- ___fractutausq +- ___fractutaudq +- ___fractutautq +- ___fractutauha2 +- ___fractutausa2 +- ___fractutauda2 +- ___fractutaqi +- ___fractutahi +- ___fractutasi +- ___fractutadi +- ___fractutati +- ___fractutasf +- ___fractutadf +- ___fractqiqq +- ___fractqihq +- ___fractqisq +- ___fractqidq +- ___fractqitq +- ___fractqiha +- ___fractqisa +- ___fractqida +- ___fractqita +- ___fractqiuqq +- ___fractqiuhq +- ___fractqiusq +- ___fractqiudq +- ___fractqiutq +- ___fractqiuha +- ___fractqiusa +- ___fractqiuda +- ___fractqiuta +- ___fracthiqq +- ___fracthihq +- ___fracthisq +- ___fracthidq +- ___fracthitq +- ___fracthiha +- ___fracthisa +- ___fracthida +- ___fracthita +- ___fracthiuqq +- ___fracthiuhq +- ___fracthiusq +- ___fracthiudq +- ___fracthiutq +- ___fracthiuha +- ___fracthiusa +- ___fracthiuda +- ___fracthiuta +- ___fractsiqq +- ___fractsihq +- ___fractsisq +- ___fractsidq +- ___fractsitq +- ___fractsiha +- ___fractsisa +- ___fractsida +- ___fractsita +- ___fractsiuqq +- ___fractsiuhq +- ___fractsiusq +- ___fractsiudq +- ___fractsiutq +- ___fractsiuha +- ___fractsiusa +- ___fractsiuda +- ___fractsiuta +- ___fractdiqq +- ___fractdihq +- ___fractdisq +- ___fractdidq +- ___fractditq +- ___fractdiha +- ___fractdisa +- ___fractdida +- ___fractdita +- ___fractdiuqq +- ___fractdiuhq +- ___fractdiusq +- ___fractdiudq +- ___fractdiutq +- ___fractdiuha +- ___fractdiusa +- ___fractdiuda +- ___fractdiuta +- ___fracttiqq +- ___fracttihq +- ___fracttisq +- ___fracttidq +- ___fracttitq +- ___fracttiha +- ___fracttisa +- ___fracttida +- ___fracttita +- ___fracttiuqq +- ___fracttiuhq +- ___fracttiusq +- ___fracttiudq +- ___fracttiutq +- ___fracttiuha +- ___fracttiusa +- ___fracttiuda +- ___fracttiuta +- ___fractsfqq +- ___fractsfhq +- ___fractsfsq +- ___fractsfdq +- ___fractsftq +- ___fractsfha +- ___fractsfsa +- ___fractsfda +- ___fractsfta +- ___fractsfuqq +- ___fractsfuhq +- ___fractsfusq +- ___fractsfudq +- ___fractsfutq +- ___fractsfuha +- ___fractsfusa +- ___fractsfuda +- ___fractsfuta +- ___fractdfqq +- ___fractdfhq +- ___fractdfsq +- ___fractdfdq +- ___fractdftq +- ___fractdfha +- ___fractdfsa +- ___fractdfda +- ___fractdfta +- ___fractdfuqq +- ___fractdfuhq +- ___fractdfusq +- ___fractdfudq +- ___fractdfutq +- ___fractdfuha +- ___fractdfusa +- ___fractdfuda +- ___fractdfuta +- ___satfractqqhq2 +- ___satfractqqsq2 +- ___satfractqqdq2 +- ___satfractqqtq2 +- ___satfractqqha +- ___satfractqqsa +- ___satfractqqda +- ___satfractqqta +- ___satfractqquqq +- ___satfractqquhq +- ___satfractqqusq +- ___satfractqqudq +- ___satfractqqutq +- ___satfractqquha +- ___satfractqqusa +- ___satfractqquda +- ___satfractqquta +- ___satfracthqqq2 +- ___satfracthqsq2 +- ___satfracthqdq2 +- ___satfracthqtq2 +- ___satfracthqha +- ___satfracthqsa +- ___satfracthqda +- ___satfracthqta +- ___satfracthquqq +- ___satfracthquhq +- ___satfracthqusq +- ___satfracthqudq +- ___satfracthqutq +- ___satfracthquha +- ___satfracthqusa +- ___satfracthquda +- ___satfracthquta +- ___satfractsqqq2 +- ___satfractsqhq2 +- ___satfractsqdq2 +- ___satfractsqtq2 +- ___satfractsqha +- ___satfractsqsa +- ___satfractsqda +- ___satfractsqta +- ___satfractsquqq +- ___satfractsquhq +- ___satfractsqusq +- ___satfractsqudq +- ___satfractsqutq +- ___satfractsquha +- ___satfractsqusa +- ___satfractsquda +- ___satfractsquta +- ___satfractdqqq2 +- ___satfractdqhq2 +- ___satfractdqsq2 +- ___satfractdqtq2 +- ___satfractdqha +- ___satfractdqsa +- ___satfractdqda +- ___satfractdqta +- ___satfractdquqq +- ___satfractdquhq +- ___satfractdqusq +- ___satfractdqudq +- ___satfractdqutq +- ___satfractdquha +- ___satfractdqusa +- ___satfractdquda +- ___satfractdquta +- ___satfracttqqq2 +- ___satfracttqhq2 +- ___satfracttqsq2 +- ___satfracttqdq2 +- ___satfracttqha +- ___satfracttqsa +- ___satfracttqda +- ___satfracttqta +- ___satfracttquqq +- ___satfracttquhq +- ___satfracttqusq +- ___satfracttqudq +- ___satfracttqutq +- ___satfracttquha +- ___satfracttqusa +- ___satfracttquda +- ___satfracttquta +- ___satfracthaqq +- ___satfracthahq +- ___satfracthasq +- ___satfracthadq +- ___satfracthatq +- ___satfracthasa2 +- ___satfracthada2 +- ___satfracthata2 +- ___satfracthauqq +- ___satfracthauhq +- ___satfracthausq +- ___satfracthaudq +- ___satfracthautq +- ___satfracthauha +- ___satfracthausa +- ___satfracthauda +- ___satfracthauta +- ___satfractsaqq +- ___satfractsahq +- ___satfractsasq +- ___satfractsadq +- ___satfractsatq +- ___satfractsaha2 +- ___satfractsada2 +- ___satfractsata2 +- ___satfractsauqq +- ___satfractsauhq +- ___satfractsausq +- ___satfractsaudq +- ___satfractsautq +- ___satfractsauha +- ___satfractsausa +- ___satfractsauda +- ___satfractsauta +- ___satfractdaqq +- ___satfractdahq +- ___satfractdasq +- ___satfractdadq +- ___satfractdatq +- ___satfractdaha2 +- ___satfractdasa2 +- ___satfractdata2 +- ___satfractdauqq +- ___satfractdauhq +- ___satfractdausq +- ___satfractdaudq +- ___satfractdautq +- ___satfractdauha +- ___satfractdausa +- ___satfractdauda +- ___satfractdauta +- ___satfracttaqq +- ___satfracttahq +- ___satfracttasq +- ___satfracttadq +- ___satfracttatq +- ___satfracttaha2 +- ___satfracttasa2 +- ___satfracttada2 +- ___satfracttauqq +- ___satfracttauhq +- ___satfracttausq +- ___satfracttaudq +- ___satfracttautq +- ___satfracttauha +- ___satfracttausa +- ___satfracttauda +- ___satfracttauta +- ___satfractuqqqq +- ___satfractuqqhq +- ___satfractuqqsq +- ___satfractuqqdq +- ___satfractuqqtq +- ___satfractuqqha +- ___satfractuqqsa +- ___satfractuqqda +- ___satfractuqqta +- ___satfractuqquhq2 +- ___satfractuqqusq2 +- ___satfractuqqudq2 +- ___satfractuqqutq2 +- ___satfractuqquha +- ___satfractuqqusa +- ___satfractuqquda +- ___satfractuqquta +- ___satfractuhqqq +- ___satfractuhqhq +- ___satfractuhqsq +- ___satfractuhqdq +- ___satfractuhqtq +- ___satfractuhqha +- ___satfractuhqsa +- ___satfractuhqda +- ___satfractuhqta +- ___satfractuhquqq2 +- ___satfractuhqusq2 +- ___satfractuhqudq2 +- ___satfractuhqutq2 +- ___satfractuhquha +- ___satfractuhqusa +- ___satfractuhquda +- ___satfractuhquta +- ___satfractusqqq +- ___satfractusqhq +- ___satfractusqsq +- ___satfractusqdq +- ___satfractusqtq +- ___satfractusqha +- ___satfractusqsa +- ___satfractusqda +- ___satfractusqta +- ___satfractusquqq2 +- ___satfractusquhq2 +- ___satfractusqudq2 +- ___satfractusqutq2 +- ___satfractusquha +- ___satfractusqusa +- ___satfractusquda +- ___satfractusquta +- ___satfractudqqq +- ___satfractudqhq +- ___satfractudqsq +- ___satfractudqdq +- ___satfractudqtq +- ___satfractudqha +- ___satfractudqsa +- ___satfractudqda +- ___satfractudqta +- ___satfractudquqq2 +- ___satfractudquhq2 +- ___satfractudqusq2 +- ___satfractudqutq2 +- ___satfractudquha +- ___satfractudqusa +- ___satfractudquda +- ___satfractudquta +- ___satfractutqqq +- ___satfractutqhq +- ___satfractutqsq +- ___satfractutqdq +- ___satfractutqtq +- ___satfractutqha +- ___satfractutqsa +- ___satfractutqda +- ___satfractutqta +- ___satfractutquqq2 +- ___satfractutquhq2 +- ___satfractutqusq2 +- ___satfractutqudq2 +- ___satfractutquha +- ___satfractutqusa +- ___satfractutquda +- ___satfractutquta +- ___satfractuhaqq +- ___satfractuhahq +- ___satfractuhasq +- ___satfractuhadq +- ___satfractuhatq +- ___satfractuhaha +- ___satfractuhasa +- ___satfractuhada +- ___satfractuhata +- ___satfractuhauqq +- ___satfractuhauhq +- ___satfractuhausq +- ___satfractuhaudq +- ___satfractuhautq +- ___satfractuhausa2 +- ___satfractuhauda2 +- ___satfractuhauta2 +- ___satfractusaqq +- ___satfractusahq +- ___satfractusasq +- ___satfractusadq +- ___satfractusatq +- ___satfractusaha +- ___satfractusasa +- ___satfractusada +- ___satfractusata +- ___satfractusauqq +- ___satfractusauhq +- ___satfractusausq +- ___satfractusaudq +- ___satfractusautq +- ___satfractusauha2 +- ___satfractusauda2 +- ___satfractusauta2 +- ___satfractudaqq +- ___satfractudahq +- ___satfractudasq +- ___satfractudadq +- ___satfractudatq +- ___satfractudaha +- ___satfractudasa +- ___satfractudada +- ___satfractudata +- ___satfractudauqq +- ___satfractudauhq +- ___satfractudausq +- ___satfractudaudq +- ___satfractudautq +- ___satfractudauha2 +- ___satfractudausa2 +- ___satfractudauta2 +- ___satfractutaqq +- ___satfractutahq +- ___satfractutasq +- ___satfractutadq +- ___satfractutatq +- ___satfractutaha +- ___satfractutasa +- ___satfractutada +- ___satfractutata +- ___satfractutauqq +- ___satfractutauhq +- ___satfractutausq +- ___satfractutaudq +- ___satfractutautq +- ___satfractutauha2 +- ___satfractutausa2 +- ___satfractutauda2 +- ___satfractqiqq +- ___satfractqihq +- ___satfractqisq +- ___satfractqidq +- ___satfractqitq +- ___satfractqiha +- ___satfractqisa +- ___satfractqida +- ___satfractqita +- ___satfractqiuqq +- ___satfractqiuhq +- ___satfractqiusq +- ___satfractqiudq +- ___satfractqiutq +- ___satfractqiuha +- ___satfractqiusa +- ___satfractqiuda +- ___satfractqiuta +- ___satfracthiqq +- ___satfracthihq +- ___satfracthisq +- ___satfracthidq +- ___satfracthitq +- ___satfracthiha +- ___satfracthisa +- ___satfracthida +- ___satfracthita +- ___satfracthiuqq +- ___satfracthiuhq +- ___satfracthiusq +- ___satfracthiudq +- ___satfracthiutq +- ___satfracthiuha +- ___satfracthiusa +- ___satfracthiuda +- ___satfracthiuta +- ___satfractsiqq +- ___satfractsihq +- ___satfractsisq +- ___satfractsidq +- ___satfractsitq +- ___satfractsiha +- ___satfractsisa +- ___satfractsida +- ___satfractsita +- ___satfractsiuqq +- ___satfractsiuhq +- ___satfractsiusq +- ___satfractsiudq +- ___satfractsiutq +- ___satfractsiuha +- ___satfractsiusa +- ___satfractsiuda +- ___satfractsiuta +- ___satfractdiqq +- ___satfractdihq +- ___satfractdisq +- ___satfractdidq +- ___satfractditq +- ___satfractdiha +- ___satfractdisa +- ___satfractdida +- ___satfractdita +- ___satfractdiuqq +- ___satfractdiuhq +- ___satfractdiusq +- ___satfractdiudq +- ___satfractdiutq +- ___satfractdiuha +- ___satfractdiusa +- ___satfractdiuda +- ___satfractdiuta +- ___satfracttiqq +- ___satfracttihq +- ___satfracttisq +- ___satfracttidq +- ___satfracttitq +- ___satfracttiha +- ___satfracttisa +- ___satfracttida +- ___satfracttita +- ___satfracttiuqq +- ___satfracttiuhq +- ___satfracttiusq +- ___satfracttiudq +- ___satfracttiutq +- ___satfracttiuha +- ___satfracttiusa +- ___satfracttiuda +- ___satfracttiuta +- ___satfractsfqq +- ___satfractsfhq +- ___satfractsfsq +- ___satfractsfdq +- ___satfractsftq +- ___satfractsfha +- ___satfractsfsa +- ___satfractsfda +- ___satfractsfta +- ___satfractsfuqq +- ___satfractsfuhq +- ___satfractsfusq +- ___satfractsfudq +- ___satfractsfutq +- ___satfractsfuha +- ___satfractsfusa +- ___satfractsfuda +- ___satfractsfuta +- ___satfractdfqq +- ___satfractdfhq +- ___satfractdfsq +- ___satfractdfdq +- ___satfractdftq +- ___satfractdfha +- ___satfractdfsa +- ___satfractdfda +- ___satfractdfta +- ___satfractdfuqq +- ___satfractdfuhq +- ___satfractdfusq +- ___satfractdfudq +- ___satfractdfutq +- ___satfractdfuha +- ___satfractdfusa +- ___satfractdfuda +- ___satfractdfuta +- ___fractunsqqqi +- ___fractunsqqhi +- ___fractunsqqsi +- ___fractunsqqdi +- ___fractunsqqti +- ___fractunshqqi +- ___fractunshqhi +- ___fractunshqsi +- ___fractunshqdi +- ___fractunshqti +- ___fractunssqqi +- ___fractunssqhi +- ___fractunssqsi +- ___fractunssqdi +- ___fractunssqti +- ___fractunsdqqi +- ___fractunsdqhi +- ___fractunsdqsi +- ___fractunsdqdi +- ___fractunsdqti +- ___fractunstqqi +- ___fractunstqhi +- ___fractunstqsi +- ___fractunstqdi +- ___fractunstqti +- ___fractunshaqi +- ___fractunshahi +- ___fractunshasi +- ___fractunshadi +- ___fractunshati +- ___fractunssaqi +- ___fractunssahi +- ___fractunssasi +- ___fractunssadi +- ___fractunssati +- ___fractunsdaqi +- ___fractunsdahi +- ___fractunsdasi +- ___fractunsdadi +- ___fractunsdati +- ___fractunstaqi +- ___fractunstahi +- ___fractunstasi +- ___fractunstadi +- ___fractunstati +- ___fractunsuqqqi +- ___fractunsuqqhi +- ___fractunsuqqsi +- ___fractunsuqqdi +- ___fractunsuqqti +- ___fractunsuhqqi +- ___fractunsuhqhi +- ___fractunsuhqsi +- ___fractunsuhqdi +- ___fractunsuhqti +- ___fractunsusqqi +- ___fractunsusqhi +- ___fractunsusqsi +- ___fractunsusqdi +- ___fractunsusqti +- ___fractunsudqqi +- ___fractunsudqhi +- ___fractunsudqsi +- ___fractunsudqdi +- ___fractunsudqti +- ___fractunsutqqi +- ___fractunsutqhi +- ___fractunsutqsi +- ___fractunsutqdi +- ___fractunsutqti +- ___fractunsuhaqi +- ___fractunsuhahi +- ___fractunsuhasi +- ___fractunsuhadi +- ___fractunsuhati +- ___fractunsusaqi +- ___fractunsusahi +- ___fractunsusasi +- ___fractunsusadi +- ___fractunsusati +- ___fractunsudaqi +- ___fractunsudahi +- ___fractunsudasi +- ___fractunsudadi +- ___fractunsudati +- ___fractunsutaqi +- ___fractunsutahi +- ___fractunsutasi +- ___fractunsutadi +- ___fractunsutati +- ___fractunsqiqq +- ___fractunsqihq +- ___fractunsqisq +- ___fractunsqidq +- ___fractunsqitq +- ___fractunsqiha +- ___fractunsqisa +- ___fractunsqida +- ___fractunsqita +- ___fractunsqiuqq +- ___fractunsqiuhq +- ___fractunsqiusq +- ___fractunsqiudq +- ___fractunsqiutq +- ___fractunsqiuha +- ___fractunsqiusa +- ___fractunsqiuda +- ___fractunsqiuta +- ___fractunshiqq +- ___fractunshihq +- ___fractunshisq +- ___fractunshidq +- ___fractunshitq +- ___fractunshiha +- ___fractunshisa +- ___fractunshida +- ___fractunshita +- ___fractunshiuqq +- ___fractunshiuhq +- ___fractunshiusq +- ___fractunshiudq +- ___fractunshiutq +- ___fractunshiuha +- ___fractunshiusa +- ___fractunshiuda +- ___fractunshiuta +- ___fractunssiqq +- ___fractunssihq +- ___fractunssisq +- ___fractunssidq +- ___fractunssitq +- ___fractunssiha +- ___fractunssisa +- ___fractunssida +- ___fractunssita +- ___fractunssiuqq +- ___fractunssiuhq +- ___fractunssiusq +- ___fractunssiudq +- ___fractunssiutq +- ___fractunssiuha +- ___fractunssiusa +- ___fractunssiuda +- ___fractunssiuta +- ___fractunsdiqq +- ___fractunsdihq +- ___fractunsdisq +- ___fractunsdidq +- ___fractunsditq +- ___fractunsdiha +- ___fractunsdisa +- ___fractunsdida +- ___fractunsdita +- ___fractunsdiuqq +- ___fractunsdiuhq +- ___fractunsdiusq +- ___fractunsdiudq +- ___fractunsdiutq +- ___fractunsdiuha +- ___fractunsdiusa +- ___fractunsdiuda +- ___fractunsdiuta +- ___fractunstiqq +- ___fractunstihq +- ___fractunstisq +- ___fractunstidq +- ___fractunstitq +- ___fractunstiha +- ___fractunstisa +- ___fractunstida +- ___fractunstita +- ___fractunstiuqq +- ___fractunstiuhq +- ___fractunstiusq +- ___fractunstiudq +- ___fractunstiutq +- ___fractunstiuha +- ___fractunstiusa +- ___fractunstiuda +- ___fractunstiuta +- ___satfractunsqiqq +- ___satfractunsqihq +- ___satfractunsqisq +- ___satfractunsqidq +- ___satfractunsqitq +- ___satfractunsqiha +- ___satfractunsqisa +- ___satfractunsqida +- ___satfractunsqita +- ___satfractunsqiuqq +- ___satfractunsqiuhq +- ___satfractunsqiusq +- ___satfractunsqiudq +- ___satfractunsqiutq +- ___satfractunsqiuha +- ___satfractunsqiusa +- ___satfractunsqiuda +- ___satfractunsqiuta +- ___satfractunshiqq +- ___satfractunshihq +- ___satfractunshisq +- ___satfractunshidq +- ___satfractunshitq +- ___satfractunshiha +- ___satfractunshisa +- ___satfractunshida +- ___satfractunshita +- ___satfractunshiuqq +- ___satfractunshiuhq +- ___satfractunshiusq +- ___satfractunshiudq +- ___satfractunshiutq +- ___satfractunshiuha +- ___satfractunshiusa +- ___satfractunshiuda +- ___satfractunshiuta +- ___satfractunssiqq +- ___satfractunssihq +- ___satfractunssisq +- ___satfractunssidq +- ___satfractunssitq +- ___satfractunssiha +- ___satfractunssisa +- ___satfractunssida +- ___satfractunssita +- ___satfractunssiuqq +- ___satfractunssiuhq +- ___satfractunssiusq +- ___satfractunssiudq +- ___satfractunssiutq +- ___satfractunssiuha +- ___satfractunssiusa +- ___satfractunssiuda +- ___satfractunssiuta +- ___satfractunsdiqq +- ___satfractunsdihq +- ___satfractunsdisq +- ___satfractunsdidq +- ___satfractunsditq +- ___satfractunsdiha +- ___satfractunsdisa +- ___satfractunsdida +- ___satfractunsdita +- ___satfractunsdiuqq +- ___satfractunsdiuhq +- ___satfractunsdiusq +- ___satfractunsdiudq +- ___satfractunsdiutq +- ___satfractunsdiuha +- ___satfractunsdiusa +- ___satfractunsdiuda +- ___satfractunsdiuta +- ___satfractunstiqq +- ___satfractunstihq +- ___satfractunstisq +- ___satfractunstidq +- ___satfractunstitq +- ___satfractunstiha +- ___satfractunstisa +- ___satfractunstida +- ___satfractunstita +- ___satfractunstiuqq +- ___satfractunstiuhq +- ___satfractunstiusq +- ___satfractunstiudq +- ___satfractunstiutq +- ___satfractunstiuha +- ___satfractunstiusa +- ___satfractunstiuda +- ___satfractunstiuta +-} +- +-%inherit GCC_4.4.0 GCC_4.3.0 +-GCC_4.4.0 { +- ___sync_fetch_and_add_1 +- ___sync_fetch_and_sub_1 +- ___sync_fetch_and_or_1 +- ___sync_fetch_and_and_1 +- ___sync_fetch_and_xor_1 +- ___sync_fetch_and_nand_1 +- ___sync_add_and_fetch_1 +- ___sync_sub_and_fetch_1 +- ___sync_or_and_fetch_1 +- ___sync_and_and_fetch_1 +- ___sync_xor_and_fetch_1 +- ___sync_nand_and_fetch_1 +- ___sync_bool_compare_and_swap_1 +- ___sync_val_compare_and_swap_1 +- ___sync_lock_test_and_set_1 +- +- ___sync_fetch_and_add_2 +- ___sync_fetch_and_sub_2 +- ___sync_fetch_and_or_2 +- ___sync_fetch_and_and_2 +- ___sync_fetch_and_xor_2 +- ___sync_fetch_and_nand_2 +- ___sync_add_and_fetch_2 +- ___sync_sub_and_fetch_2 +- ___sync_or_and_fetch_2 +- ___sync_and_and_fetch_2 +- ___sync_xor_and_fetch_2 +- ___sync_nand_and_fetch_2 +- ___sync_bool_compare_and_swap_2 +- ___sync_val_compare_and_swap_2 +- ___sync_lock_test_and_set_2 +- +- ___sync_fetch_and_add_4 +- ___sync_fetch_and_sub_4 +- ___sync_fetch_and_or_4 +- ___sync_fetch_and_and_4 +- ___sync_fetch_and_xor_4 +- ___sync_fetch_and_nand_4 +- ___sync_add_and_fetch_4 +- ___sync_sub_and_fetch_4 +- ___sync_or_and_fetch_4 +- ___sync_and_and_fetch_4 +- ___sync_xor_and_fetch_4 +- ___sync_nand_and_fetch_4 +- ___sync_bool_compare_and_swap_4 +- ___sync_val_compare_and_swap_4 +- ___sync_lock_test_and_set_4 +- +- ___sync_fetch_and_add_8 +- ___sync_fetch_and_sub_8 +- ___sync_fetch_and_or_8 +- ___sync_fetch_and_and_8 +- ___sync_fetch_and_xor_8 +- ___sync_fetch_and_nand_8 +- ___sync_add_and_fetch_8 +- ___sync_sub_and_fetch_8 +- ___sync_or_and_fetch_8 +- ___sync_and_and_fetch_8 +- ___sync_xor_and_fetch_8 +- ___sync_nand_and_fetch_8 +- ___sync_bool_compare_and_swap_8 +- ___sync_val_compare_and_swap_8 +- ___sync_lock_test_and_set_8 +- +- ___sync_fetch_and_add_16 +- ___sync_fetch_and_sub_16 +- ___sync_fetch_and_or_16 +- ___sync_fetch_and_and_16 +- ___sync_fetch_and_xor_16 +- ___sync_fetch_and_nand_16 +- ___sync_add_and_fetch_16 +- ___sync_sub_and_fetch_16 +- ___sync_or_and_fetch_16 +- ___sync_and_and_fetch_16 +- ___sync_xor_and_fetch_16 +- ___sync_nand_and_fetch_16 +- ___sync_bool_compare_and_swap_16 +- ___sync_val_compare_and_swap_16 +- ___sync_lock_test_and_set_16 +- +- ___sync_synchronize +-} +- +-%inherit GCC_4.5.0 GCC_4.4.0 +-GCC_4.5.0 { +- ___unordxf2 +- ___unordtf2 ++ __smulsi3_highpart ++ __umulsi3_highpart + } +--- a/libgcc/config/bfin/t-linux ++++ b/libgcc/config/bfin/t-linux +@@ -1 +1,2 @@ +-SHLIB_MAPFILES = $(srcdir)/config/bfin/libgcc-glibc.ver ++SHLIB_MAPFILES += $(srcdir)/config/bfin/libgcc-glibc.ver ++SHLIB_MKMAP_OPTS = -v skip_underscore=1 diff --git a/packages/gcc-linaro/6.4-2017.11/0012-libgcc-fix-DWARF-compilation-with-FDPIC-targets.patch b/packages/gcc-linaro/6.4-2017.11/0012-libgcc-fix-DWARF-compilation-with-FDPIC-targets.patch new file mode 100644 index 0000000..f0ada67 --- /dev/null +++ b/packages/gcc-linaro/6.4-2017.11/0012-libgcc-fix-DWARF-compilation-with-FDPIC-targets.patch @@ -0,0 +1,54 @@ +From 9d9f97ca5d1ceba66677bf406c9b31027dc1f22e Mon Sep 17 00:00:00 2001 +From: Waldemar Brodkorb +Date: Fri, 19 Aug 2016 13:54:46 +0200 +Subject: [PATCH] libgcc: fix DWARF compilation with FDPIC targets + +The build of unwind-dw2-fde-dip.c currently fails for FDPIC targets with +the following error: + +libgcc/unwind-dw2-fde-dip.c:167:31: error: storage size of 'load_base' isn't known + struct elf32_fdpic_loadaddr load_base; + +This patch addresses that by defining load_base with the appropriate +type on FDPIC targets. It has been tested on FRV and Blackfin. + +Fixes PR gcc/68468. + +Signed-off-by: Waldemar Brodkorb +Signed-off-by: Thomas Petazzoni +--- + libgcc/unwind-dw2-fde-dip.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +--- a/libgcc/unwind-dw2-fde-dip.c ++++ b/libgcc/unwind-dw2-fde-dip.c +@@ -124,7 +124,11 @@ + { + _Unwind_Ptr pc_low; + _Unwind_Ptr pc_high; ++#if defined __FRV_FDPIC__ || defined __BFIN_FDPIC__ ++ struct elf32_fdpic_loadaddr load_base; ++#else + _Unwind_Ptr load_base; ++#endif + const ElfW(Phdr) *p_eh_frame_hdr; + const ElfW(Phdr) *p_dynamic; + struct frame_hdr_cache_element *link; +@@ -163,7 +167,7 @@ + struct unw_eh_callback_data *data = (struct unw_eh_callback_data *) ptr; + const ElfW(Phdr) *phdr, *p_eh_frame_hdr, *p_dynamic; + long n, match; +-#ifdef __FRV_FDPIC__ ++#if defined __FRV_FDPIC__ || defined __BFIN_FDPIC__ + struct elf32_fdpic_loadaddr load_base; + #else + _Unwind_Ptr load_base; +@@ -347,7 +351,7 @@ + break; + } + } +-# elif defined __FRV_FDPIC__ && defined __linux__ ++# elif (defined __FRV_FDPIC__ || defined __BFIN_FDPIC__) && defined __linux__ + data->dbase = load_base.got_value; + # else + # error What is DW_EH_PE_datarel base on this platform? diff --git a/packages/gcc-linaro/6.4-2017.11/0013-bfin-define-REENTRANT.patch b/packages/gcc-linaro/6.4-2017.11/0013-bfin-define-REENTRANT.patch new file mode 100644 index 0000000..633084b --- /dev/null +++ b/packages/gcc-linaro/6.4-2017.11/0013-bfin-define-REENTRANT.patch @@ -0,0 +1,20 @@ +enable _REENTRANT when -lpthread is used + +Signed-off-by: Waldemar Brodkorb + +--- + gcc/config/bfin/linux.h | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/gcc/config/bfin/linux.h ++++ b/gcc/config/bfin/linux.h +@@ -38,6 +38,9 @@ + "%{static:--start-group} %{mfast-fp:-lbffastfp} %G %L %{static:--end-group} \ + %{!static:%{mfast-fp:-lbffastfp} %G}" + ++#undef CPP_SPEC ++#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}" ++ + #undef LINK_SPEC + #define LINK_SPEC "\ + %{mfdpic: -m elf32bfinfd -z text} %{shared} %{pie} \ diff --git a/packages/gcc-linaro/6.4-2017.11/0014-libgfortran-missing-include.patch b/packages/gcc-linaro/6.4-2017.11/0014-libgfortran-missing-include.patch new file mode 100644 index 0000000..701e7b4 --- /dev/null +++ b/packages/gcc-linaro/6.4-2017.11/0014-libgfortran-missing-include.patch @@ -0,0 +1,14 @@ +--- + libgfortran/io/close.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/libgfortran/io/close.c ++++ b/libgfortran/io/close.c +@@ -25,6 +25,7 @@ + #include "io.h" + #include "unix.h" + #include ++#include + + typedef enum + { CLOSE_DELETE, CLOSE_KEEP, CLOSE_UNSPECIFIED } diff --git a/packages/gcc-linaro/6.4-2017.11/0015-nios2-bad-multilib-default.patch b/packages/gcc-linaro/6.4-2017.11/0015-nios2-bad-multilib-default.patch new file mode 100644 index 0000000..4acc491 --- /dev/null +++ b/packages/gcc-linaro/6.4-2017.11/0015-nios2-bad-multilib-default.patch @@ -0,0 +1,31 @@ +--- + gcc/config/nios2/nios2.h | 4 ++-- + gcc/config/nios2/t-nios2 | 3 +-- + 2 files changed, 3 insertions(+), 4 deletions(-) + +--- a/gcc/config/nios2/nios2.h ++++ b/gcc/config/nios2/nios2.h +@@ -63,11 +63,11 @@ + #if TARGET_ENDIAN_DEFAULT == 0 + # define ASM_SPEC "%{!meb:-EL} %{meb:-EB} %{march=*:-march=%*}" + # define LINK_SPEC_ENDIAN "%{!meb:-EL} %{meb:-EB}" +-# define MULTILIB_DEFAULTS { "EL" } ++# define MULTILIB_DEFAULTS { "mel" } + #else + # define ASM_SPEC "%{!mel:-EB} %{mel:-EL} %{march=*:-march=%*}" + # define LINK_SPEC_ENDIAN "%{!mel:-EB} %{mel:-EL}" +-# define MULTILIB_DEFAULTS { "EB" } ++# define MULTILIB_DEFAULTS { "meb" } + #endif + + #define LINK_SPEC LINK_SPEC_ENDIAN \ +--- a/gcc/config/nios2/t-nios2 ++++ b/gcc/config/nios2/t-nios2 +@@ -22,6 +22,5 @@ + # MULTILIB_DIRNAMES = nomul mulx fpu-60-1 fpu-60-2 + # MULTILIB_EXCEPTIONS = + +-# MULTILIB_OPTIONS += EL/EB ++# MULTILIB_OPTIONS += mel/meb + # MULTILIB_DIRNAMES += le be +-# MULTILIB_MATCHES += EL=mel EB=meb diff --git a/packages/gcc-linaro/6.4-2017.11/0016-libgcc-disable-split-stack-nothreads.patch b/packages/gcc-linaro/6.4-2017.11/0016-libgcc-disable-split-stack-nothreads.patch new file mode 100644 index 0000000..df91a9f --- /dev/null +++ b/packages/gcc-linaro/6.4-2017.11/0016-libgcc-disable-split-stack-nothreads.patch @@ -0,0 +1,17 @@ +disable split-stack for non-thread builds + +Signed-off-by: Waldemar Brodkorb + +--- + libgcc/config/t-stack | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/libgcc/config/t-stack ++++ b/libgcc/config/t-stack +@@ -1,4 +1,6 @@ + # Makefile fragment to provide generic support for -fsplit-stack. + # This should be used in config.host for any host which supports + # -fsplit-stack. ++ifeq ($(enable_threads),yes) + LIB2ADD_ST += $(srcdir)/generic-morestack.c $(srcdir)/generic-morestack-thread.c ++endif diff --git a/packages/gcc-linaro/6.4-2017.11/0017-uclinux-enable-threads.patch b/packages/gcc-linaro/6.4-2017.11/0017-uclinux-enable-threads.patch new file mode 100644 index 0000000..8e4e0a2 --- /dev/null +++ b/packages/gcc-linaro/6.4-2017.11/0017-uclinux-enable-threads.patch @@ -0,0 +1,22 @@ +Enable POSIX threads for uClinux targets +Reported upstream: +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71721 + +Signed-off-by: Waldemar Brodkorb + +--- + gcc/config.gcc | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/gcc/config.gcc ++++ b/gcc/config.gcc +@@ -838,6 +838,9 @@ + *-*-uclinux*) + extra_options="$extra_options gnu-user.opt" + use_gcc_stdint=wrap ++ case ${enable_threads} in ++ "" | yes | posix) thread_file='posix' ;; ++ esac + tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC SINGLE_LIBC" + ;; + *-*-rdos*) diff --git a/packages/gcc-linaro/6.4-2017.11/0018-bionic-ndk.patch b/packages/gcc-linaro/6.4-2017.11/0018-bionic-ndk.patch new file mode 100644 index 0000000..474dd8c --- /dev/null +++ b/packages/gcc-linaro/6.4-2017.11/0018-bionic-ndk.patch @@ -0,0 +1,60 @@ +commit d38d37bdfe24b7ce1bdcb55642fb6b904718e68f +Author: Howard Chu +Date: Tue Apr 25 19:02:18 2017 -0700 + + Fix ctype for newer NDK headers + +--- + libstdc++-v3/config/os/bionic/ctype_base.h | 34 +++++++++++++++++++---------- + 1 file changed, 23 insertions(+), 11 deletions(-) + +--- a/libstdc++-v3/config/os/bionic/ctype_base.h ++++ b/libstdc++-v3/config/os/bionic/ctype_base.h +@@ -28,6 +28,18 @@ + + // Information as gleaned from /usr/include/ctype.h + ++// _CTYPE prefix was added in NDK r14 unified headers ++#ifndef _CTYPE_U ++#define _CTYPE_U _U ++#define _CTYPE_L _L ++#define _CTYPE_D _N ++#define _CTYPE_S _S ++#define _CTYPE_P _P ++#define _CTYPE_C _C ++#define _CTYPE_X _X ++#define _CTYPE_B _B ++#endif ++ + namespace std _GLIBCXX_VISIBILITY(default) + { + _GLIBCXX_BEGIN_NAMESPACE_VERSION +@@ -41,17 +53,17 @@ + // NB: Offsets into ctype::_M_table force a particular size + // on the mask type. Because of this, we don't use an enum. + typedef char mask; +- static const mask upper = _U; +- static const mask lower = _L; +- static const mask alpha = _U | _L; +- static const mask digit = _N; +- static const mask xdigit = _X | _N; +- static const mask space = _S; +- static const mask print = _P | _U | _L | _N | _B; +- static const mask graph = _P | _U | _L | _N; +- static const mask cntrl = _C; +- static const mask punct = _P; +- static const mask alnum = _U | _L | _N; ++ static const mask upper = _CTYPE_U; ++ static const mask lower = _CTYPE_L; ++ static const mask alpha = _CTYPE_U | _CTYPE_L; ++ static const mask digit = _CTYPE_D; ++ static const mask xdigit = _CTYPE_X | _CTYPE_D; ++ static const mask space = _CTYPE_S; ++ static const mask print = _CTYPE_P | _CTYPE_U | _CTYPE_L | _CTYPE_D | _CTYPE_B; ++ static const mask graph = _CTYPE_P | _CTYPE_U | _CTYPE_L | _CTYPE_D; ++ static const mask cntrl = _CTYPE_C; ++ static const mask punct = _CTYPE_P; ++ static const mask alnum = _CTYPE_U | _CTYPE_L | _CTYPE_D; + #if __cplusplus >= 201103L + static const mask blank = space; + #endif diff --git a/packages/gcc-linaro/6.4-2017.11/0019-bionic-errno.patch b/packages/gcc-linaro/6.4-2017.11/0019-bionic-errno.patch new file mode 100644 index 0000000..0a1a632 --- /dev/null +++ b/packages/gcc-linaro/6.4-2017.11/0019-bionic-errno.patch @@ -0,0 +1,21 @@ +commit 6cd4ad106ef87a3c58b0c3478e78409b47000de0 +Author: Howard Chu +Date: Tue Apr 25 20:17:03 2017 -0700 + + Fix, errno is volatile int + +--- + libstdc++-v3/src/filesystem/dir.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/libstdc++-v3/src/filesystem/dir.cc ++++ b/libstdc++-v3/src/filesystem/dir.cc +@@ -146,7 +146,7 @@ + + int err = std::exchange(errno, 0); + const auto entp = readdir(dirp); +- std::swap(errno, err); ++ std::swap((int&)errno, err); + + if (entp) + { diff --git a/packages/gcc-linaro/6.4-2017.11/0020-crystax.patch b/packages/gcc-linaro/6.4-2017.11/0020-crystax.patch new file mode 100644 index 0000000..461be72 --- /dev/null +++ b/packages/gcc-linaro/6.4-2017.11/0020-crystax.patch @@ -0,0 +1,530 @@ +commit 080803512c8f6f87c2f1f711170d54033144d628 +Author: Dmitry Moskalchuk +Date: Wed Jul 29 11:28:29 2015 +0300 + + [android] Apply Android-related modifications + + Signed-off-by: Dmitry Moskalchuk + +[Edited: keep libstdc++, drop libcrystax-related modifications] +--- + gcc/config.gcc | 17 +++++++- + gcc/config/aarch64/aarch64-linux-android.h | 59 +++++++++++++++++++++++++++++ + gcc/config/aarch64/aarch64-linux.h | 9 +++- + gcc/config/arm/arm.h | 3 - + gcc/config/arm/arm.md | 2 + gcc/config/arm/arm.opt | 4 + + gcc/config/arm/elf.h | 10 ++-- + gcc/config/arm/linux-eabi.h | 7 ++- + gcc/config/i386/gnu-user.h | 7 ++- + gcc/config/i386/gnu-user64.h | 5 ++ + gcc/config/i386/linux-common.h | 8 +++ + gcc/config/linux-android.h | 13 +++--- + gcc/config/mips/android.h | 49 ++++++++++++++++++++++++ + gcc/config/mips/gnu-user.h | 6 +- + gcc/config/mips/linux-common.h | 2 + gcc/config/mips/t-linux-android | 3 + + gcc/config/mips/t-linux-android64 | 4 + + libgcc/gthr-posix.h | 13 ++++++ + libstdc++-v3/configure | 12 +++++ + libstdc++-v3/include/bits/locale_facets.h | 18 +++++++- + libstdc++-v3/libsupc++/guard.cc | 5 ++ + 21 files changed, 235 insertions(+), 21 deletions(-) + +--- a/gcc/config.gcc ++++ b/gcc/config.gcc +@@ -955,13 +955,17 @@ + tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-freebsd" + ;; + aarch64*-*-linux*) +- tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h" ++ tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h" + tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-linux.h" ++ extra_options="${extra_options} linux-android.opt" + tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-linux" + case $target in + aarch64_be-*) + tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1" + ;; ++ aarch64*-*-linux-android*) ++ tm_file="${tm_file} aarch64/aarch64-linux-android.h" ++ ;; + esac + aarch64_multilibs="${with_multilib_list}" + if test "$aarch64_multilibs" = "default"; then +@@ -2076,6 +2080,17 @@ + tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/linux.h mips/linux-common.h" + extra_options="${extra_options} linux-android.opt" + case ${target} in ++ mips64*android*) ++ default_mips_arch=mips64r6 ++ default_mips_abi=64 ++ tm_file="${tm_file} mips/android.h" ++ tmake_file="${tmake_file} mips/t-linux-android64" ++ ;; ++ mips*android*) ++ default_mips_arch=mips32 ++ tm_file="${tm_file} mips/android.h" ++ tmake_file="$tmake_file mips/t-linux-android" ++ ;; + mipsisa32r6*) + default_mips_arch=mips32r6 + ;; +--- /dev/null ++++ b/gcc/config/aarch64/aarch64-linux-android.h +@@ -0,0 +1,59 @@ ++/* Machine description for AArch64 architecture. ++ Copyright (C) 2014 Free Software Foundation, Inc. ++ ++ This file is part of GCC. ++ ++ GCC is free software; you can redistribute it and/or modify it ++ under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 3, or (at your option) ++ any later version. ++ ++ GCC is distributed in the hope that it will be useful, but ++ WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with GCC; see the file COPYING3. If not see ++ . */ ++ ++#ifndef GCC_AARCH64_LINUX_ANDROID_H ++#define GCC_AARCH64_LINUX_ANDROID_H ++ ++ ++#undef TARGET_OS_CPP_BUILTINS ++#define TARGET_OS_CPP_BUILTINS() \ ++ do \ ++ { \ ++ GNU_USER_TARGET_OS_CPP_BUILTINS(); \ ++ ANDROID_TARGET_OS_CPP_BUILTINS(); \ ++ } \ ++ while (0) ++ ++#undef LINK_SPEC ++#define LINK_SPEC \ ++ LINUX_OR_ANDROID_LD (LINUX_TARGET_LINK_SPEC, \ ++ LINUX_TARGET_LINK_SPEC " " ANDROID_LINK_SPEC) ++ ++#undef CC1_SPEC ++#define CC1_SPEC \ ++ LINUX_OR_ANDROID_CC (GNU_USER_TARGET_CC1_SPEC, \ ++ GNU_USER_TARGET_CC1_SPEC " " ANDROID_CC1_SPEC("-fpic")) ++ ++#define CC1PLUS_SPEC \ ++ LINUX_OR_ANDROID_CC ("", ANDROID_CC1PLUS_SPEC) ++ ++#undef LIB_SPEC ++#define LIB_SPEC \ ++ LINUX_OR_ANDROID_LD (GNU_USER_TARGET_LIB_SPEC, \ ++ GNU_USER_TARGET_NO_PTHREADS_LIB_SPEC " " ANDROID_LIB_SPEC) ++ ++#undef STARTFILE_SPEC ++#define STARTFILE_SPEC \ ++ LINUX_OR_ANDROID_LD (GNU_USER_TARGET_STARTFILE_SPEC, ANDROID_STARTFILE_SPEC) ++ ++#undef ENDFILE_SPEC ++#define ENDFILE_SPEC \ ++ LINUX_OR_ANDROID_LD (GNU_USER_TARGET_ENDFILE_SPEC, ANDROID_ENDFILE_SPEC) ++ ++#endif /* GCC_AARCH64_LINUX_ANDROID_H */ +--- a/gcc/config/aarch64/aarch64-linux.h ++++ b/gcc/config/aarch64/aarch64-linux.h +@@ -21,7 +21,14 @@ + #ifndef GCC_AARCH64_LINUX_H + #define GCC_AARCH64_LINUX_H + +-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" ++#ifndef RUNTIME_ROOT_PREFIX ++#define RUNTIME_ROOT_PREFIX "" ++#endif ++#define GLIBC_DYNAMIC_LINKER RUNTIME_ROOT_PREFIX "/lib/ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" ++#ifdef BIONIC_DYNAMIC_LINKER ++#undef BIONIC_DYNAMIC_LINKER ++#endif ++#define BIONIC_DYNAMIC_LINKER RUNTIME_ROOT_PREFIX "/system/bin/linker64" + + #undef MUSL_DYNAMIC_LINKER + #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" +--- a/gcc/config/arm/arm.h ++++ b/gcc/config/arm/arm.h +@@ -1922,10 +1922,11 @@ + + #define CASE_VECTOR_PC_RELATIVE (TARGET_THUMB2 \ + || (TARGET_THUMB1 \ ++ && !inline_thumb1_jump_table \ + && (optimize_size || flag_pic))) + + #define CASE_VECTOR_SHORTEN_MODE(min, max, body) \ +- (TARGET_THUMB1 \ ++ (TARGET_THUMB1 && !inline_thumb1_jump_table \ + ? (min >= 0 && max < 512 \ + ? (ADDR_DIFF_VEC_FLAGS (body).offset_unsigned = 1, QImode) \ + : min >= -256 && max < 256 \ +--- a/gcc/config/arm/arm.md ++++ b/gcc/config/arm/arm.md +@@ -8657,7 +8657,7 @@ + (match_operand:SI 2 "const_int_operand" "") ; total range + (match_operand:SI 3 "" "") ; table label + (match_operand:SI 4 "" "")] ; Out of range label +- "(TARGET_32BIT || optimize_size || flag_pic) && !target_pure_code" ++ "(TARGET_32BIT || ((optimize_size || flag_pic) && !inline_thumb1_jump_table)) && !target_pure_code" + " + { + enum insn_code code; +--- a/gcc/config/arm/arm.opt ++++ b/gcc/config/arm/arm.opt +@@ -193,6 +193,10 @@ + Target Report Mask(INTERWORK) + Support calls between Thumb and ARM instruction sets. + ++minline-thumb1-jumptable ++Target Report Var(inline_thumb1_jump_table) ++Inline Thumb1 Jump table code ++ + mtls-dialect= + Target RejectNegative Joined Enum(tls_type) Var(target_tls_dialect) Init(TLS_GNU) + Specify thread local storage scheme. +--- a/gcc/config/arm/elf.h ++++ b/gcc/config/arm/elf.h +@@ -56,8 +56,7 @@ + #undef SUBSUBTARGET_EXTRA_SPECS + #define SUBSUBTARGET_EXTRA_SPECS + +-#ifndef ASM_SPEC +-#define ASM_SPEC "\ ++#define DEFAULT_ASM_SPEC "\ + %{mbig-endian:-EB} \ + %{mlittle-endian:-EL} \ + %(asm_cpu_spec) \ +@@ -66,6 +65,9 @@ + %{mthumb-interwork:-mthumb-interwork} \ + %{mfloat-abi=*} %{mfpu=*} \ + %(subtarget_extra_asm_spec)" ++ ++#ifndef ASM_SPEC ++#define ASM_SPEC DEFAULT_ASM_SPEC + #endif + + /* The ARM uses @ are a comment character so we need to redefine +@@ -95,8 +97,8 @@ + the code more efficient, but for Thumb-1 it's better to put them out of + band unless we are generating compressed tables. */ + #define JUMP_TABLES_IN_TEXT_SECTION \ +- ((TARGET_32BIT || (TARGET_THUMB && (optimize_size || flag_pic))) \ +- && !target_pure_code) ++ ((TARGET_32BIT || (TARGET_THUMB && !inline_thumb1_jump_table \ ++ && (optimize_size || flag_pic))) && !target_pure_code) + + #ifndef LINK_SPEC + #define LINK_SPEC "%{mbig-endian:-EB} %{mlittle-endian:-EL} -X" +--- a/gcc/config/arm/linux-eabi.h ++++ b/gcc/config/arm/linux-eabi.h +@@ -108,11 +108,16 @@ + #define CC1_SPEC \ + LINUX_OR_ANDROID_CC (GNU_USER_TARGET_CC1_SPEC " " ASAN_CC1_SPEC, \ + GNU_USER_TARGET_CC1_SPEC " " ASAN_CC1_SPEC " " \ +- ANDROID_CC1_SPEC) ++ ANDROID_CC1_SPEC("-fpic")) + + #define CC1PLUS_SPEC \ + LINUX_OR_ANDROID_CC ("", ANDROID_CC1PLUS_SPEC) + ++#undef ASM_SPEC ++#define ASM_SPEC \ ++ LINUX_OR_ANDROID_CC (DEFAULT_ASM_SPEC, \ ++ DEFAULT_ASM_SPEC " " ANDROID_ASM_SPEC) ++ + #undef LIB_SPEC + #define LIB_SPEC \ + LINUX_OR_ANDROID_LD (GNU_USER_TARGET_LIB_SPEC, \ +--- a/gcc/config/i386/gnu-user.h ++++ b/gcc/config/i386/gnu-user.h +@@ -65,9 +65,14 @@ + When the -shared link option is used a final link is not being + done. */ + ++#undef ANDROID_TARGET_CC1_SPEC ++#define ANDROID_TARGET_CC1_SPEC \ ++ " -mssse3 -fno-short-enums " \ ++ + #undef ASM_SPEC + #define ASM_SPEC \ +- "--32 %{!mno-sse2avx:%{mavx:-msse2avx}} %{msse2avx:%{!mavx:-msse2avx}}" ++ "--32 %{!mno-sse2avx:%{mavx:-msse2avx}} %{msse2avx:%{!mavx:-msse2avx}} " \ ++ LINUX_OR_ANDROID_CC ("", ANDROID_ASM_SPEC) + + #undef SUBTARGET_EXTRA_SPECS + #define SUBTARGET_EXTRA_SPECS \ +--- a/gcc/config/i386/gnu-user64.h ++++ b/gcc/config/i386/gnu-user64.h +@@ -46,6 +46,11 @@ + #define SPEC_X32 "mx32" + #endif + ++#undef ANDROID_TARGET_CC1_SPEC ++#define ANDROID_TARGET_CC1_SPEC \ ++ "%{m32:-mssse3 -fno-short-enums}" \ ++ "%{!m32:-msse4.2 -mpopcnt}" ++ + #undef ASM_SPEC + #define ASM_SPEC "%{" SPEC_32 ":--32} \ + %{" SPEC_64 ":--64} \ +--- a/gcc/config/i386/linux-common.h ++++ b/gcc/config/i386/linux-common.h +@@ -30,7 +30,13 @@ + #undef CC1_SPEC + #define CC1_SPEC \ + LINUX_OR_ANDROID_CC (GNU_USER_TARGET_CC1_SPEC, \ +- GNU_USER_TARGET_CC1_SPEC " " ANDROID_CC1_SPEC) ++ GNU_USER_TARGET_CC1_SPEC \ ++ ANDROID_TARGET_CC1_SPEC \ ++ " " \ ++ ANDROID_CC1_SPEC("-fPIC")) ++ ++#define CC1PLUS_SPEC \ ++ LINUX_OR_ANDROID_CC ("", ANDROID_CC1PLUS_SPEC) + + #undef LINK_SPEC + #define LINK_SPEC \ +--- a/gcc/config/linux-android.h ++++ b/gcc/config/linux-android.h +@@ -38,15 +38,18 @@ + "%{" NOANDROID "|tno-android-ld:" LINUX_SPEC ";:" ANDROID_SPEC "}" + + #define ANDROID_LINK_SPEC \ +- "%{shared: -Bsymbolic}" ++ "%{shared: -Bsymbolic} -z noexecstack -z relro -z now" + +-#define ANDROID_CC1_SPEC \ ++#define ANDROID_CC1_SPEC(ANDROID_PIC_DEFAULT) \ + "%{!mglibc:%{!muclibc:%{!mbionic: -mbionic}}} " \ +- "%{!fno-pic:%{!fno-PIC:%{!fpic:%{!fPIC: -fPIC}}}}" ++ "%{!fno-pic:%{!fno-PIC:%{!fpic:%{!fPIC: " ANDROID_PIC_DEFAULT "}}}}" + + #define ANDROID_CC1PLUS_SPEC \ +- "%{!fexceptions:%{!fno-exceptions: -fno-exceptions}} " \ +- "%{!frtti:%{!fno-rtti: -fno-rtti}}" ++ "%{!fexceptions:%{!fno-exceptions: -fexceptions}} " \ ++ "%{!frtti:%{!fno-rtti: -frtti}}" ++ ++#define ANDROID_ASM_SPEC \ ++ "--noexecstack" + + #define ANDROID_LIB_SPEC \ + "%{!static: -ldl}" +--- /dev/null ++++ b/gcc/config/mips/android.h +@@ -0,0 +1,49 @@ ++/* Target macros for mips*-*android* targets. ++ Copyright (C) 2014 Free Software Foundation, Inc. ++ ++This file is part of GCC. ++ ++GCC is free software; you can redistribute it and/or modify ++it under the terms of the GNU General Public License as published by ++the Free Software Foundation; either version 3, or (at your option) ++any later version. ++ ++GCC is distributed in the hope that it will be useful, ++but WITHOUT ANY WARRANTY; without even the implied warranty of ++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++GNU General Public License for more details. ++ ++You should have received a copy of the GNU General Public License ++along with GCC; see the file COPYING3. If not see ++. */ ++ ++#undef DRIVER_SELF_SPECS ++#define DRIVER_SELF_SPECS \ ++ /* Make sure a -mips option is present. This helps us to pick \ ++ the right multilib, and also makes the later specs easier \ ++ to write. */ \ ++ MIPS_ISA_LEVEL_SPEC, \ ++ \ ++ /* Infer the default float setting from -march. */ \ ++ MIPS_ARCH_FLOAT_SPEC, \ ++ \ ++ /* Infer the -msynci setting from -march if not explicitly set. */ \ ++ MIPS_ISA_SYNCI_SPEC, \ ++ \ ++ /* If no ABI option is specified, infer one from the ISA level \ ++ or -mgp setting. */ \ ++ "%{!mabi=*: %{" MIPS_32BIT_OPTION_SPEC ": -mabi=32;: -mabi=64}}", \ ++ \ ++ /* If no FP ABI option is specified, infer one from the \ ++ ABI/ISA level unless there is a conflicting option. */ \ ++ "%{!msoft-float: %{!msingle-float: %{!mfp*: %{!mmsa: %{mabi=32: %{" \ ++ MIPS_FPXX_OPTION_SPEC ": -mfpxx}}}}}}", \ ++ \ ++ /* If no odd-spreg option is specified, infer one from the ISA. */ \ ++ "%{!modd-spreg: %{mabi=32: %{mips32r6: -mno-odd-spreg}}}", \ ++ \ ++ /* Base SPECs. */ \ ++ BASE_DRIVER_SELF_SPECS, \ ++ \ ++ /* Use the standard linux specs for everything else. */ \ ++ LINUX_DRIVER_SELF_SPECS +--- a/gcc/config/mips/gnu-user.h ++++ b/gcc/config/mips/gnu-user.h +@@ -36,6 +36,7 @@ + /* The GNU C++ standard library requires this. */ \ + if (c_dialect_cxx ()) \ + builtin_define ("_GNU_SOURCE"); \ ++ ANDROID_TARGET_OS_CPP_BUILTINS(); \ + } while (0) + + #undef SUBTARGET_CPP_SPEC +@@ -71,7 +72,8 @@ + + #undef SUBTARGET_ASM_SPEC + #define SUBTARGET_ASM_SPEC \ +- "%{!mno-abicalls:%{mplt:-call_nonpic;:-KPIC}}" ++ "%{!mno-abicalls:%{mplt:-call_nonpic;:-KPIC}} " \ ++ LINUX_OR_ANDROID_CC ("", ANDROID_ASM_SPEC) + + /* The MIPS assembler has different syntax for .set. We set it to + .dummy to trap any errors. */ +@@ -120,7 +122,7 @@ + #endif + + #define LINUX_DRIVER_SELF_SPECS \ +- NO_SHARED_SPECS \ ++ LINUX_OR_ANDROID_CC(NO_SHARED_SPECS, "") \ + MARCH_MTUNE_NATIVE_SPECS, \ + /* -mplt has no effect without -mno-shared. Simplify later \ + specs handling by removing a redundant option. */ \ +--- a/gcc/config/mips/linux-common.h ++++ b/gcc/config/mips/linux-common.h +@@ -35,7 +35,7 @@ + #undef SUBTARGET_CC1_SPEC + #define SUBTARGET_CC1_SPEC \ + LINUX_OR_ANDROID_CC (GNU_USER_TARGET_CC1_SPEC, \ +- GNU_USER_TARGET_CC1_SPEC " " ANDROID_CC1_SPEC) ++ GNU_USER_TARGET_CC1_SPEC " " ANDROID_CC1_SPEC("-fpic")) + + #undef CC1PLUS_SPEC + #define CC1PLUS_SPEC \ +--- /dev/null ++++ b/gcc/config/mips/t-linux-android +@@ -0,0 +1,3 @@ ++MULTILIB_OPTIONS = mips32r2/mips32r6 ++MULTILIB_DIRNAMES = mips-r2 mips-r6 ++MULTILIB_OSDIRNAMES = ../libr2 ../libr6 +--- /dev/null ++++ b/gcc/config/mips/t-linux-android64 +@@ -0,0 +1,4 @@ ++MULTILIB_OPTIONS = mabi=32 mips32/mips32r2/mips32r6/mips64r2/mips64r6 ++MULTILIB_DIRNAMES = 32 mips-r1 mips-r2 mips-r6 mips64-r2 mips64-r6 ++MULTILIB_OSDIRNAMES = ../lib ../lib ../libr2 ../libr6 ../lib64r2 ../lib64 ++MULTILIB_REQUIRED = mabi=32/mips32 mabi=32/mips32r2 mabi=32/mips32r6 mips64r2 mips64r6 +--- a/libgcc/gthr-posix.h ++++ b/libgcc/gthr-posix.h +@@ -32,6 +32,19 @@ + #define __GTHREADS 1 + #define __GTHREADS_CXX0X 1 + ++/* The following should normally be in a different header file, ++ * but I couldn't find the right location. The point of the macro ++ * definition below is to prevent libsupc++ and libstdc++ to reference ++ * weak symbols in their static C++ constructors. Such code crashes ++ * when a shared object linked statically to these libraries is ++ * loaded on Android 2.1 (Eclair) and older platform releases, due ++ * to a dynamic linker bug. ++ */ ++#ifdef __ANDROID__ ++#undef GTHREAD_USE_WEAK ++#define GTHREAD_USE_WEAK 0 ++#endif ++ + #include + + #if ((defined(_LIBOBJC) || defined(_LIBOBJC_WEAK)) \ +--- a/libstdc++-v3/configure ++++ b/libstdc++-v3/configure +@@ -78389,6 +78389,12 @@ + /* end confdefs.h. */ + #include + int lk; ++#if !defined(SYS_gettid) ++#define SYS_gettid __NR_gettid ++#endif ++#if !defined(SYS_futex) ++#define SYS_futex __NR_futex ++#endif + int + main () + { +@@ -78447,6 +78453,12 @@ + /* end confdefs.h. */ + #include + int lk; ++#if !defined(SYS_gettid) ++#define SYS_gettid __NR_gettid ++#endif ++#if !defined(SYS_futex) ++#define SYS_futex __NR_futex ++#endif + int + main () + { +--- a/libstdc++-v3/include/bits/locale_facets.h ++++ b/libstdc++-v3/include/bits/locale_facets.h +@@ -47,6 +47,20 @@ + #include + #include + ++#if !__clang__ && __GNUC__ == 4 && __GNUC_MINOR__ == 9 && __i386__ ++// CrystaX: for some reason, x86 gcc-4.9 makes ctype::do_widen() and ++// ctype::_M_widen_init() methods working wrong if optimization enabled. ++// For ctype::do_widen(), values of passed arguments (__lo, __hi and __to) ++// are completely messed up and don't correspond to passed values. In case if ++// we disable optimization for those methods, things become correct so we apply ++// this workaround here for a time. ++// TODO: figure out what exactly wrong here - is it bug in GCC optimization ++// algorithm or smth else? ++#define __CRYSTAX_X86_DONT_OPTIMIZE __attribute__((optimize(0))) ++#else ++#define __CRYSTAX_X86_DONT_OPTIMIZE ++#endif ++ + namespace std _GLIBCXX_VISIBILITY(default) + { + _GLIBCXX_BEGIN_NAMESPACE_VERSION +@@ -1102,7 +1116,7 @@ + * @return @a __hi. + */ + virtual const char* +- do_widen(const char* __lo, const char* __hi, char_type* __to) const ++ do_widen(const char* __lo, const char* __hi, char_type* __to) const __CRYSTAX_X86_DONT_OPTIMIZE + { + __builtin_memcpy(__to, __lo, __hi - __lo); + return __hi; +@@ -1163,7 +1177,7 @@ + + private: + void _M_narrow_init() const; +- void _M_widen_init() const; ++ void _M_widen_init() const __CRYSTAX_X86_DONT_OPTIMIZE; + }; + + #ifdef _GLIBCXX_USE_WCHAR_T +--- a/libstdc++-v3/libsupc++/guard.cc ++++ b/libstdc++-v3/libsupc++/guard.cc +@@ -33,7 +33,12 @@ + #if defined(__GTHREADS) && defined(__GTHREAD_HAS_COND) \ + && (ATOMIC_INT_LOCK_FREE > 1) && defined(_GLIBCXX_HAVE_LINUX_FUTEX) + # include ++#if defined(__ANDROID__) ++# include ++# define SYS_futex __NR_futex ++#else + # include ++#endif + # include + # define _GLIBCXX_USE_FUTEX + # define _GLIBCXX_FUTEX_WAIT 0 diff --git a/packages/gcc-linaro/6.4-2017.11/0021-crystax.patch b/packages/gcc-linaro/6.4-2017.11/0021-crystax.patch new file mode 100644 index 0000000..f1f9eb1 --- /dev/null +++ b/packages/gcc-linaro/6.4-2017.11/0021-crystax.patch @@ -0,0 +1,27 @@ +commit 9f057b62caafe08c968103d39b5df82486a175c2 +Author: Dmitry Moskalchuk +Date: Thu Aug 13 16:11:54 2015 +0300 + + [android] Add additional multilib option: mfloat-abi=hard + + Signed-off-by: Dmitry Moskalchuk + +--- + gcc/config/arm/t-linux-androideabi | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +--- a/gcc/config/arm/t-linux-androideabi ++++ b/gcc/config/arm/t-linux-androideabi +@@ -1,8 +1,9 @@ +-MULTILIB_OPTIONS = march=armv7-a mthumb +-MULTILIB_DIRNAMES = armv7-a thumb +-MULTILIB_EXCEPTIONS = ++MULTILIB_OPTIONS = march=armv7-a mthumb mfloat-abi=hard ++MULTILIB_DIRNAMES = armv7-a thumb hard ++MULTILIB_EXCEPTIONS = mfloat-abi=hard* mthumb/mfloat-abi=hard* + MULTILIB_MATCHES = + MULTILIB_OSDIRNAMES = ++MULTILIB_EXTRA_OPTS = Wl,--no-warn-mismatch + + # The "special" multilib can be used to build native applications for Android, + # as opposed to native shared libraries that are then called via JNI. diff --git a/packages/gcc-linaro/6.4-2017.11/0022-crystax.patch b/packages/gcc-linaro/6.4-2017.11/0022-crystax.patch new file mode 100644 index 0000000..64d1126 --- /dev/null +++ b/packages/gcc-linaro/6.4-2017.11/0022-crystax.patch @@ -0,0 +1,293 @@ +commit 44a81ebb7698dac41ffa7acd5e0cc1578e5ab1fd +Author: H.J. Lu +Date: Mon Apr 14 15:59:47 2014 -0700 + + [android] Always enable --eh-frame-hdr for static executable + + See 5e6cdf76af295c9a39b695ca228cff675e8ff4ae and + 23e3137ee2897464b051599b85a09f130d3ad05d + + Change-Id: Ibda473188e5a10f2a0592f2494ad00ad1f91e04b + Signed-off-by: Dmitry Moskalchuk + +--- + gcc/config.in | 6 +++++ + gcc/config/alpha/elf.h | 4 +++ + gcc/config/freebsd.h | 4 +++ + gcc/config/gnu-user.h | 4 +++ + gcc/config/openbsd.h | 4 +++ + gcc/config/rs6000/sysv4.h | 6 ++++- + gcc/config/sol2.h | 4 +++ + gcc/configure | 36 +++++++++++++++++++++++++++++++++ + gcc/configure.ac | 29 ++++++++++++++++++++++++++ + gcc/testsuite/g++.dg/eh/spec3-static.C | 25 ++++++++++++++++++++++ + libgcc/crtstuff.c | 11 ++++++---- + 11 files changed, 128 insertions(+), 5 deletions(-) + +--- a/gcc/config.in ++++ b/gcc/config.in +@@ -2144,6 +2144,12 @@ + #endif + + ++/* Define if your system supports PT_GNU_EH_FRAME for static executable. */ ++#ifndef USED_FOR_TARGET ++#undef USE_EH_FRAME_HDR_FOR_STATIC ++#endif ++ ++ + /* Define to 1 if the 'long long' type is wider than 'long' but still + efficiently supported by the host hardware. */ + #ifndef USED_FOR_TARGET +--- a/gcc/config/alpha/elf.h ++++ b/gcc/config/alpha/elf.h +@@ -168,5 +168,9 @@ + I imagine that other systems will catch up. In the meantime, it + doesn't harm to make sure that the data exists to be used later. */ + #if defined(HAVE_LD_EH_FRAME_HDR) ++#ifdef USE_EH_FRAME_HDR_FOR_STATIC ++#define LINK_EH_SPEC "--eh-frame-hdr " ++#else + #define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " + #endif ++#endif +--- a/gcc/config/freebsd.h ++++ b/gcc/config/freebsd.h +@@ -45,8 +45,12 @@ + #define LIB_SPEC FBSD_LIB_SPEC + + #if defined(HAVE_LD_EH_FRAME_HDR) ++#ifdef USE_EH_FRAME_HDR_FOR_STATIC ++#define LINK_EH_SPEC "--eh-frame-hdr " ++#else + #define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " + #endif ++#endif + + #ifdef TARGET_LIBC_PROVIDES_SSP + #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ +--- a/gcc/config/gnu-user.h ++++ b/gcc/config/gnu-user.h +@@ -132,8 +132,12 @@ + #define LIB_SPEC GNU_USER_TARGET_LIB_SPEC + + #if defined(HAVE_LD_EH_FRAME_HDR) ++#ifdef USE_EH_FRAME_HDR_FOR_STATIC ++#define LINK_EH_SPEC "--eh-frame-hdr " ++#else + #define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " + #endif ++#endif + + #undef LINK_GCC_C_SEQUENCE_SPEC + #define LINK_GCC_C_SEQUENCE_SPEC \ +--- a/gcc/config/openbsd.h ++++ b/gcc/config/openbsd.h +@@ -136,8 +136,12 @@ + #define LIB_SPEC OBSD_LIB_SPEC + + #if defined(HAVE_LD_EH_FRAME_HDR) ++#ifdef USE_EH_FRAME_HDR_FOR_STATIC ++#define LINK_EH_SPEC "--eh-frame-hdr " ++#else + #define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " + #endif ++#endif + + #undef LIB_SPEC + #define LIB_SPEC OBSD_LIB_SPEC +--- a/gcc/config/rs6000/sysv4.h ++++ b/gcc/config/rs6000/sysv4.h +@@ -810,7 +810,11 @@ + -dynamic-linker " GNU_USER_DYNAMIC_LINKER "}}" + + #if defined(HAVE_LD_EH_FRAME_HDR) +-# define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " ++# ifdef USE_EH_FRAME_HDR_FOR_STATIC ++# define LINK_EH_SPEC "--eh-frame-hdr " ++# else ++# define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " ++# endif + #endif + + #define CPP_OS_LINUX_SPEC "-D__unix__ -D__gnu_linux__ -D__linux__ \ +--- a/gcc/config/sol2.h ++++ b/gcc/config/sol2.h +@@ -347,7 +347,11 @@ + /* Solaris 11 build 135+ implements dl_iterate_phdr. GNU ld needs + --eh-frame-hdr to create the required .eh_frame_hdr sections. */ + #if defined(HAVE_LD_EH_FRAME_HDR) && defined(TARGET_DL_ITERATE_PHDR) ++#ifdef USE_EH_FRAME_HDR_FOR_STATIC ++#define LINK_EH_SPEC "--eh-frame-hdr " ++#else + #define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " ++#endif + #endif /* HAVE_LD_EH_FRAME && TARGET_DL_ITERATE_PHDR */ + #endif + +--- a/gcc/configure ++++ b/gcc/configure +@@ -934,6 +934,7 @@ + enable_fix_cortex_a53_843419 + with_glibc_version + enable_gnu_unique_object ++enable_eh_frame_hdr_for_static + enable_linker_build_id + enable_default_ssp + with_long_double_128 +@@ -1670,6 +1671,9 @@ + --enable-gnu-unique-object + enable the use of the @gnu_unique_object ELF + extension on glibc systems ++ --enable-eh-frame-hdr-for-static ++ enable linker PT_GNU_EH_FRAME support for static ++ executable + --enable-linker-build-id + compiler will always pass --build-id to linker + --enable-default-ssp enable Stack Smashing Protection as default +@@ -27786,6 +27790,38 @@ + + $as_echo "#define HAVE_LD_EH_FRAME_HDR 1" >>confdefs.h + ++ # Check whether --enable-eh-frame-hdr-for-static was given. ++if test "${enable_eh_frame_hdr_for_static+set}" = set; then : ++ enableval=$enable_eh_frame_hdr_for_static; case $enable_eh_frame_hdr_for_static in ++ yes | no) ;; ++ *) as_fn_error "'$enable_eh_frame_hdr_for_static' is an invalid ++value for --enable-eh-frame-hdr-for-static. ++Valid choices are 'yes' and 'no'." "$LINENO" 5 ;; ++ esac ++else ++ # Only support for glibc 2.3.0 or higher with AT_PHDR/AT_PHNUM from ++# Linux kernel. ++ if test x$host = x$build -a x$host = x$target && ++ ldd --version 2>&1 >/dev/null && ++ glibcver=`ldd --version 2>/dev/null | sed 's/.* //;q'`; then ++ glibcmajor=`expr "$glibcver" : "\([0-9]*\)"` ++ glibcminor=`expr "$glibcver" : "[2-9]*\.\([0-9]*\)"` ++ glibcnum=`expr $glibcmajor \* 1000 + $glibcminor` ++ if test "$glibcnum" -ge 2003 ; then ++ auvx=`LD_SHOW_AUXV=1 ldd 2>/dev/null` ++ if echo "$auvx" | grep AT_PHDR > /dev/null && ++ echo "$auvx" | grep AT_PHNUM > /dev/null; then ++ enable_eh_frame_hdr_for_static=yes ++ fi ++ fi ++ fi ++fi ++ ++ if test x$enable_eh_frame_hdr_for_static = xyes; then ++ ++$as_echo "#define USE_EH_FRAME_HDR_FOR_STATIC 1" >>confdefs.h ++ ++ fi + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_ld_eh_frame_hdr" >&5 + $as_echo "$gcc_cv_ld_eh_frame_hdr" >&6; } +--- a/gcc/configure.ac ++++ b/gcc/configure.ac +@@ -4861,6 +4861,35 @@ + if test x"$gcc_cv_ld_eh_frame_hdr" = xyes; then + AC_DEFINE(HAVE_LD_EH_FRAME_HDR, 1, + [Define if your linker supports .eh_frame_hdr.]) ++ AC_ARG_ENABLE(eh-frame-hdr-for-static, ++ [AS_HELP_STRING([--enable-eh-frame-hdr-for-static], ++ [enable linker PT_GNU_EH_FRAME support for static executable])], ++ [case $enable_eh_frame_hdr_for_static in ++ yes | no) ;; ++ *) AC_MSG_ERROR(['$enable_eh_frame_hdr_for_static' is an invalid ++value for --enable-eh-frame-hdr-for-static. ++Valid choices are 'yes' and 'no'.]) ;; ++ esac], ++# Only support for glibc 2.3.0 or higher with AT_PHDR/AT_PHNUM from ++# Linux kernel. ++ [[if test x$host = x$build -a x$host = x$target && ++ ldd --version 2>&1 >/dev/null && ++ glibcver=`ldd --version 2>/dev/null | sed 's/.* //;q'`; then ++ glibcmajor=`expr "$glibcver" : "\([0-9]*\)"` ++ glibcminor=`expr "$glibcver" : "[2-9]*\.\([0-9]*\)"` ++ glibcnum=`expr $glibcmajor \* 1000 + $glibcminor` ++ if test "$glibcnum" -ge 2003 ; then ++ auvx=`LD_SHOW_AUXV=1 ldd 2>/dev/null` ++ if echo "$auvx" | grep AT_PHDR > /dev/null && ++ echo "$auvx" | grep AT_PHNUM > /dev/null; then ++ enable_eh_frame_hdr_for_static=yes ++ fi ++ fi ++ fi]]) ++ if test x$enable_eh_frame_hdr_for_static = xyes; then ++ AC_DEFINE(USE_EH_FRAME_HDR_FOR_STATIC, 1, ++[Define if your system supports PT_GNU_EH_FRAME for static executable.]) ++ fi + fi + AC_MSG_RESULT($gcc_cv_ld_eh_frame_hdr) + +--- /dev/null ++++ b/gcc/testsuite/g++.dg/eh/spec3-static.C +@@ -0,0 +1,25 @@ ++// PR c++/4381 ++// Test that exception-specs work properly for classes with virtual bases. ++ ++// { dg-do run } ++// { dg-options "-static" } ++ ++class Base {}; ++ ++struct A : virtual public Base ++{ ++ A() {} ++}; ++ ++struct B {}; ++ ++void func() throw (B,A) ++{ ++ throw A(); ++} ++ ++int main(void) ++{ ++ try { func(); } ++ catch (A& a) { } ++} +--- a/libgcc/crtstuff.c ++++ b/libgcc/crtstuff.c +@@ -88,7 +88,8 @@ + #if defined(OBJECT_FORMAT_ELF) \ + && !defined(OBJECT_FORMAT_FLAT) \ + && defined(HAVE_LD_EH_FRAME_HDR) \ +- && !defined(inhibit_libc) && !defined(CRTSTUFFT_O) \ ++ && !defined(inhibit_libc) \ ++ && (defined(USE_EH_FRAME_HDR_FOR_STATIC) || !defined(CRTSTUFFT_O)) \ + && defined(BSD_DL_ITERATE_PHDR_AVAILABLE) + #include + # define USE_PT_GNU_EH_FRAME +@@ -97,7 +98,8 @@ + #if defined(OBJECT_FORMAT_ELF) \ + && !defined(OBJECT_FORMAT_FLAT) \ + && defined(HAVE_LD_EH_FRAME_HDR) && defined(TARGET_DL_ITERATE_PHDR) \ +- && !defined(inhibit_libc) && !defined(CRTSTUFFT_O) \ ++ && !defined(inhibit_libc) \ ++ && (defined(USE_EH_FRAME_HDR_FOR_STATIC) || !defined(CRTSTUFFT_O)) \ + && defined(__sun__) && defined(__svr4__) + #include + # define USE_PT_GNU_EH_FRAME +@@ -106,7 +108,8 @@ + #if defined(OBJECT_FORMAT_ELF) \ + && !defined(OBJECT_FORMAT_FLAT) \ + && defined(HAVE_LD_EH_FRAME_HDR) \ +- && !defined(inhibit_libc) && !defined(CRTSTUFFT_O) \ ++ && !defined(inhibit_libc) \ ++ && (defined(USE_EH_FRAME_HDR_FOR_STATIC) || !defined(CRTSTUFFT_O)) \ + && defined(__GLIBC__) && __GLIBC__ >= 2 + #include + /* uClibc pretends to be glibc 2.2 and DT_CONFIG is defined in its link.h. +@@ -121,7 +124,7 @@ + #if defined(OBJECT_FORMAT_ELF) \ + && !defined(OBJECT_FORMAT_FLAT) \ + && defined(HAVE_LD_EH_FRAME_HDR) \ +- && !defined(CRTSTUFFT_O) \ ++ && (defined(USE_EH_FRAME_HDR_FOR_STATIC) || !defined(CRTSTUFFT_O)) \ + && defined(inhibit_libc) \ + && (defined(__GLIBC__) || defined(__gnu_linux__) || defined(__GNU__)) + /* On systems using glibc, an inhibit_libc build of libgcc is only diff --git a/packages/gcc-linaro/6.4-2017.11/0023-crystax.patch b/packages/gcc-linaro/6.4-2017.11/0023-crystax.patch new file mode 100644 index 0000000..34df80a --- /dev/null +++ b/packages/gcc-linaro/6.4-2017.11/0023-crystax.patch @@ -0,0 +1,22 @@ +commit 778a9ef107f51544d583f110e92b75f4d9d79117 +Author: Dmitry Moskalchuk +Date: Thu Aug 20 19:11:07 2015 +0300 + + [android] Don't use PIE copyrelocs for x86/x86_64 + + Signed-off-by: Dmitry Moskalchuk + +--- + gcc/config/i386/i386.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/gcc/config/i386/i386.c ++++ b/gcc/config/i386/i386.c +@@ -14690,6 +14690,7 @@ + else if (!SYMBOL_REF_FAR_ADDR_P (op0) + && (SYMBOL_REF_LOCAL_P (op0) + || (HAVE_LD_PIE_COPYRELOC ++ && !TARGET_HAS_BIONIC + && flag_pie + && !SYMBOL_REF_WEAK (op0) + && !SYMBOL_REF_FUNCTION_P (op0))) diff --git a/packages/gcc-linaro/6.4-2017.11/0024-crystax.patch b/packages/gcc-linaro/6.4-2017.11/0024-crystax.patch new file mode 100644 index 0000000..8f2eb43 --- /dev/null +++ b/packages/gcc-linaro/6.4-2017.11/0024-crystax.patch @@ -0,0 +1,26 @@ +commit dbeae1190cabad83999f2540523f045acc1bb4ec +Author: Dmitry Moskalchuk +Date: Fri Aug 21 17:41:59 2015 +0300 + + [android] Always use gthr-posix.h instead of gthr-default.h + + Signed-off-by: Dmitry Moskalchuk + +--- + libgcc/gthr.h | 4 ++++ + 1 file changed, 4 insertions(+) + +--- 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 + + #ifndef HIDE_EXPORTS + #pragma GCC visibility pop diff --git a/packages/gcc-linaro/6.4-2017.11/0025-crystax.patch b/packages/gcc-linaro/6.4-2017.11/0025-crystax.patch new file mode 100644 index 0000000..f555f27 --- /dev/null +++ b/packages/gcc-linaro/6.4-2017.11/0025-crystax.patch @@ -0,0 +1,33 @@ +commit 8a66d422721ae5999737d7825701ff22097d287b +Author: Andrew Hsieh +Date: Mon Apr 14 21:05:51 2014 -0700 + + [android] Fix ARM generates insufficient alignment for NEON vst/vld + + See d909af3e2469aad87d5c3e79b93c778fd26c03a9 + + Change-Id: Ie1de9f946f397196bb6f1623f5add86933739484 + Signed-off-by: Dmitry Moskalchuk + +--- + gcc/config/arm/arm.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +--- a/gcc/config/arm/arm.c ++++ b/gcc/config/arm/arm.c +@@ -22178,9 +22178,13 @@ + memsize = MEM_SIZE (x); + + /* 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; diff --git a/packages/gcc-linaro/6.4-2017.11/0026-crystax.patch b/packages/gcc-linaro/6.4-2017.11/0026-crystax.patch new file mode 100644 index 0000000..8c21a1c --- /dev/null +++ b/packages/gcc-linaro/6.4-2017.11/0026-crystax.patch @@ -0,0 +1,23 @@ +commit 89d27bc45ee7325dcfff6748da0f8b9c1dc1f234 +Author: Dmitry Moskalchuk +Date: Sat Aug 22 09:55:55 2015 +0300 + + [android][i386] Remove throw() declaration from posix_memalign() proto + + Signed-off-by: Dmitry Moskalchuk + +--- + gcc/config/i386/pmm_malloc.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/gcc/config/i386/pmm_malloc.h ++++ b/gcc/config/i386/pmm_malloc.h +@@ -31,7 +31,7 @@ + #ifndef __cplusplus + extern int posix_memalign (void **, size_t, size_t); + #else +-extern "C" int posix_memalign (void **, size_t, size_t) throw (); ++extern "C" int posix_memalign (void **, size_t, size_t); + #endif + + static __inline void * diff --git a/packages/gcc-linaro/6.4-2017.11/0027-crystax.patch b/packages/gcc-linaro/6.4-2017.11/0027-crystax.patch new file mode 100644 index 0000000..ccb81fd --- /dev/null +++ b/packages/gcc-linaro/6.4-2017.11/0027-crystax.patch @@ -0,0 +1,34 @@ +commit 9ae82f7cfc1073820092dd9f957559667e77db0d +Author: Dmitry Moskalchuk +Date: Tue Aug 25 09:36:42 2015 +0300 + + [android] Explicitly make _Unwind_Resume visible for arm64/mips64 + + Signed-off-by: Dmitry Moskalchuk + +--- + gcc/config/aarch64/aarch64-linux-android.h | 4 ++++ + gcc/config/mips/linux-common.h | 4 ++++ + 2 files changed, 8 insertions(+) + +--- a/gcc/config/aarch64/aarch64-linux-android.h ++++ b/gcc/config/aarch64/aarch64-linux-android.h +@@ -56,4 +56,8 @@ + #define ENDFILE_SPEC \ + LINUX_OR_ANDROID_LD (GNU_USER_TARGET_ENDFILE_SPEC, ANDROID_ENDFILE_SPEC) + ++#ifdef IN_LIBGCC2 ++#define LIBGCC2_UNWIND_ATTRIBUTE __attribute__((visibility("default"))) ++#endif ++ + #endif /* GCC_AARCH64_LINUX_ANDROID_H */ +--- a/gcc/config/mips/linux-common.h ++++ b/gcc/config/mips/linux-common.h +@@ -62,3 +62,7 @@ + + /* The default value isn't sufficient in 64-bit mode. */ + #define STACK_CHECK_PROTECT (TARGET_64BIT ? 16 * 1024 : 12 * 1024) ++ ++#ifdef IN_LIBGCC2 ++#define LIBGCC2_UNWIND_ATTRIBUTE __attribute__((visibility("default"))) ++#endif diff --git a/packages/gcc-linaro/6.4-2017.11/chksum b/packages/gcc-linaro/6.4-2017.11/chksum new file mode 100644 index 0000000..1531c08 --- /dev/null +++ b/packages/gcc-linaro/6.4-2017.11/chksum @@ -0,0 +1,4 @@ +md5 gcc-linaro-6.4-2017.11.tar.xz 0620b19d8f58828b64c67513fb7c3476 +sha1 gcc-linaro-6.4-2017.11.tar.xz 2f4a43b52e61215a4f4b608dc6a26dcd9fb61796 +sha256 gcc-linaro-6.4-2017.11.tar.xz 3c17387177f15b855070ca42ed7f4f16b6b151b9216a445fd64a4463653492b3 +sha512 gcc-linaro-6.4-2017.11.tar.xz f5f7803f16d4c3ca3f55b4dd8c89f9e2609eb2421ffa520c0adedc657b5bf47a9b1b80be627b7cf052817ffd913ad32423fe2091adcc7975d72149d443da9d01 diff --git a/packages/gcc-linaro/6.4-2017.11/version.desc b/packages/gcc-linaro/6.4-2017.11/version.desc new file mode 100644 index 0000000..e69de29 diff --git a/packages/gcc-linaro/7.1-2017.08/0000-libtool-leave-framework-alone.patch b/packages/gcc-linaro/7.1-2017.08/0000-libtool-leave-framework-alone.patch deleted file mode 100644 index 1a86e41..0000000 --- a/packages/gcc-linaro/7.1-2017.08/0000-libtool-leave-framework-alone.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- - libtool-ldflags | 5 +++++ - 1 file changed, 5 insertions(+) - ---- a/libtool-ldflags -+++ b/libtool-ldflags -@@ -36,6 +36,11 @@ - for arg - do - case $arg in -+ -framework) -+ # libtool handles this option. It should not be prefixed with -+ # -Xcompiler, as that would split it from the argument that -+ # follows. -+ ;; - -f*|--*|-static-lib*|-shared-lib*|-B*) - # Libtool does not ascribe any special meaning options - # that begin with -f or with a double-dash. So, it will diff --git a/packages/gcc-linaro/7.1-2017.08/0001-uclibc-conf.patch b/packages/gcc-linaro/7.1-2017.08/0001-uclibc-conf.patch deleted file mode 100644 index aef750a..0000000 --- a/packages/gcc-linaro/7.1-2017.08/0001-uclibc-conf.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- - contrib/regression/objs-gcc.sh | 4 ++++ - 1 file changed, 4 insertions(+) - ---- a/contrib/regression/objs-gcc.sh -+++ b/contrib/regression/objs-gcc.sh -@@ -106,6 +106,10 @@ - then - make all-gdb all-dejagnu all-ld || exit 1 - make install-gdb install-dejagnu install-ld || exit 1 -+elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ] -+ then -+ make all-gdb all-dejagnu all-ld || exit 1 -+ make install-gdb install-dejagnu install-ld || exit 1 - elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then - make bootstrap || exit 1 - make install || exit 1 diff --git a/packages/gcc-linaro/7.1-2017.08/0002-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch b/packages/gcc-linaro/7.1-2017.08/0002-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch deleted file mode 100644 index 56e05c5..0000000 --- a/packages/gcc-linaro/7.1-2017.08/0002-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch +++ /dev/null @@ -1,163 +0,0 @@ ---- - config/gcc-plugin.m4 | 18 +++++++++++++----- - gcc/configure | 22 +++++++++++++++------- - libcc1/configure | 22 +++++++++++++++------- - 3 files changed, 43 insertions(+), 19 deletions(-) - ---- a/config/gcc-plugin.m4 -+++ b/config/gcc-plugin.m4 -@@ -20,6 +20,9 @@ - - pluginlibs= - -+ PICFLAG="-fPIC" -+ UNDEFINEDPREAMBLE="extern int X;" -+ UNDEFINEDCODE="return X == 0;" - case "${host}" in - *-*-darwin*) - if test x$build = x$host; then -@@ -30,6 +33,11 @@ - export_sym_check= - fi - ;; -+ *-*-mingw*|*-*-cygwin*|*-*-msys*) -+ PICFLAG="" -+ UNDEFINEDPREAMBLE="" -+ UNDEFINEDCODE="" -+ ;; - *) - if test x$build = x$host; then - export_sym_check="objdump${exeext} -T" -@@ -81,17 +89,17 @@ - case "${host}" in - *-*-darwin*) - CFLAGS=`echo $CFLAGS | sed s/-mdynamic-no-pic//g` -- CFLAGS="$CFLAGS -fPIC" -+ CFLAGS="$CFLAGS ${PICFLAG}" - LDFLAGS="$LDFLAGS -shared -undefined dynamic_lookup" - ;; - *) -- CFLAGS="$CFLAGS -fPIC" -- LDFLAGS="$LDFLAGS -fPIC -shared" -+ CFLAGS="$CFLAGS ${PICFLAG}" -+ LDFLAGS="$LDFLAGS ${PICFLAG} -shared" - ;; - esac -- AC_MSG_CHECKING([for -fPIC -shared]) -+ AC_MSG_CHECKING([for ${PICFLAG} -shared]) - AC_TRY_LINK( -- [extern int X;],[return X == 0;], -+ [${UNDEFINEDPREAMBLE}],[${UNDEFINEDCODE}], - [AC_MSG_RESULT([yes]); have_pic_shared=yes], - [AC_MSG_RESULT([no]); have_pic_shared=no]) - if test x"$have_pic_shared" != x"yes" -o x"$ac_cv_search_dlopen" = x"no"; then ---- a/gcc/configure -+++ b/gcc/configure -@@ -29444,6 +29444,9 @@ - - pluginlibs= - -+ PICFLAG="-fPIC" -+ UNDEFINEDPREAMBLE="extern int X;" -+ UNDEFINEDCODE="return X == 0;" - case "${host}" in - *-*-darwin*) - if test x$build = x$host; then -@@ -29454,6 +29457,11 @@ - export_sym_check= - fi - ;; -+ *-*-mingw*|*-*-cygwin*|*-*-msys*) -+ PICFLAG="" -+ UNDEFINEDPREAMBLE="" -+ UNDEFINEDCODE="" -+ ;; - *) - if test x$build = x$host; then - export_sym_check="objdump${exeext} -T" -@@ -29566,23 +29574,23 @@ - case "${host}" in - *-*-darwin*) - CFLAGS=`echo $CFLAGS | sed s/-mdynamic-no-pic//g` -- CFLAGS="$CFLAGS -fPIC" -+ CFLAGS="$CFLAGS ${PICFLAG}" - LDFLAGS="$LDFLAGS -shared -undefined dynamic_lookup" - ;; - *) -- CFLAGS="$CFLAGS -fPIC" -- LDFLAGS="$LDFLAGS -fPIC -shared" -+ CFLAGS="$CFLAGS ${PICFLAG}" -+ LDFLAGS="$LDFLAGS ${PICFLAG} -shared" - ;; - esac -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -fPIC -shared" >&5 --$as_echo_n "checking for -fPIC -shared... " >&6; } -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${PICFLAG} -shared" >&5 -+$as_echo_n "checking for ${PICFLAG} -shared... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ --extern int X; -+${UNDEFINEDPREAMBLE} - int - main () - { --return X == 0; -+${UNDEFINEDCODE} - ; - return 0; - } ---- a/libcc1/configure -+++ b/libcc1/configure -@@ -14553,6 +14553,9 @@ - - pluginlibs= - -+ PICFLAG="-fPIC" -+ UNDEFINEDPREAMBLE="extern int X;" -+ UNDEFINEDCODE="return X == 0;" - case "${host}" in - *-*-darwin*) - if test x$build = x$host; then -@@ -14563,6 +14566,11 @@ - export_sym_check= - fi - ;; -+ *-*-mingw*|*-*-cygwin*|*-*-msys*) -+ PICFLAG="" -+ UNDEFINEDPREAMBLE="" -+ UNDEFINEDCODE="" -+ ;; - *) - if test x$build = x$host; then - export_sym_check="objdump${exeext} -T" -@@ -14675,23 +14683,23 @@ - case "${host}" in - *-*-darwin*) - CFLAGS=`echo $CFLAGS | sed s/-mdynamic-no-pic//g` -- CFLAGS="$CFLAGS -fPIC" -+ CFLAGS="$CFLAGS ${PICFLAG}" - LDFLAGS="$LDFLAGS -shared -undefined dynamic_lookup" - ;; - *) -- CFLAGS="$CFLAGS -fPIC" -- LDFLAGS="$LDFLAGS -fPIC -shared" -+ CFLAGS="$CFLAGS ${PICFLAG}" -+ LDFLAGS="$LDFLAGS ${PICFLAG} -shared" - ;; - esac -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -fPIC -shared" >&5 --$as_echo_n "checking for -fPIC -shared... " >&6; } -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${PICFLAG} -shared" >&5 -+$as_echo_n "checking for ${PICFLAG} -shared... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ --extern int X; -+${UNDEFINEDPREAMBLE} - int - main () - { --return X == 0; -+${UNDEFINEDCODE} - ; - return 0; - } diff --git a/packages/gcc-linaro/7.1-2017.08/0003-gcc-plugin-POSIX-include-sys-select-h.patch b/packages/gcc-linaro/7.1-2017.08/0003-gcc-plugin-POSIX-include-sys-select-h.patch deleted file mode 100644 index 5f9a07a..0000000 --- a/packages/gcc-linaro/7.1-2017.08/0003-gcc-plugin-POSIX-include-sys-select-h.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- - libcc1/connection.cc | 1 + - 1 file changed, 1 insertion(+) - ---- a/libcc1/connection.cc -+++ b/libcc1/connection.cc -@@ -21,6 +21,7 @@ - #include - #include - #include -+#include - #include - #include - #include "marshall.hh" diff --git a/packages/gcc-linaro/7.1-2017.08/0004-arm-softfloat-libgcc.patch b/packages/gcc-linaro/7.1-2017.08/0004-arm-softfloat-libgcc.patch deleted file mode 100644 index d980036..0000000 --- a/packages/gcc-linaro/7.1-2017.08/0004-arm-softfloat-libgcc.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- - gcc/config/arm/linux-elf.h | 2 +- - libgcc/config/arm/t-linux | 7 ++++++- - 2 files changed, 7 insertions(+), 2 deletions(-) - ---- a/gcc/config/arm/linux-elf.h -+++ b/gcc/config/arm/linux-elf.h -@@ -58,7 +58,7 @@ - %{shared:-lc} \ - %{!shared:%{profile:-lc_p}%{!profile:-lc}}" - --#define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc" -+#define LIBGCC_SPEC "-lgcc" - - #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" - ---- a/libgcc/config/arm/t-linux -+++ b/libgcc/config/arm/t-linux -@@ -1,6 +1,11 @@ - LIB1ASMSRC = arm/lib1funcs.S - LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \ -- _ctzsi2 _arm_addsubdf3 _arm_addsubsf3 -+ _ctzsi2 _arm_addsubdf3 _arm_addsubsf3 \ -+ _arm_addsubdf3 _arm_addsubsf3 \ -+ _arm_negdf2 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 \ -+ _arm_fixdfsi _arm_fixunsdfsi _arm_truncdfsf2 \ -+ _arm_negsf2 _arm_muldivsf3 _arm_cmpsf2 _arm_unordsf2 \ -+ _arm_fixsfsi _arm_fixunssfsi - - # Just for these, we omit the frame pointer since it makes such a big - # difference. diff --git a/packages/gcc-linaro/7.1-2017.08/0005-cilk-wchar.patch b/packages/gcc-linaro/7.1-2017.08/0005-cilk-wchar.patch deleted file mode 100644 index d2230cd..0000000 --- a/packages/gcc-linaro/7.1-2017.08/0005-cilk-wchar.patch +++ /dev/null @@ -1,54 +0,0 @@ -[PATCH] cilk: fix build without wchar - -When building against uClibc with wchar support disabled, WCHAR_MIN and -WCHAR_MAX are not defined leading to compilation errors. - -Fix it by only including the wchar code if available. - -Signed-off-by: Peter Korsgaard ---- - libcilkrts/include/cilk/reducer_min_max.h | 8 ++++++++ - 1 file changed, 8 insertions(+) - ---- a/libcilkrts/include/cilk/reducer_min_max.h -+++ b/libcilkrts/include/cilk/reducer_min_max.h -@@ -3289,7 +3289,9 @@ - CILK_C_REDUCER_MAX_INSTANCE(char, char, CHAR_MIN) - CILK_C_REDUCER_MAX_INSTANCE(unsigned char, uchar, 0) - CILK_C_REDUCER_MAX_INSTANCE(signed char, schar, SCHAR_MIN) -+#ifdef WCHAR_MIN - CILK_C_REDUCER_MAX_INSTANCE(wchar_t, wchar_t, WCHAR_MIN) -+#endif - CILK_C_REDUCER_MAX_INSTANCE(short, short, SHRT_MIN) - CILK_C_REDUCER_MAX_INSTANCE(unsigned short, ushort, 0) - CILK_C_REDUCER_MAX_INSTANCE(int, int, INT_MIN) -@@ -3441,7 +3443,9 @@ - CILK_C_REDUCER_MAX_INDEX_INSTANCE(char, char, CHAR_MIN) - CILK_C_REDUCER_MAX_INDEX_INSTANCE(unsigned char, uchar, 0) - CILK_C_REDUCER_MAX_INDEX_INSTANCE(signed char, schar, SCHAR_MIN) -+#ifdef WCHAR_MIN - CILK_C_REDUCER_MAX_INDEX_INSTANCE(wchar_t, wchar_t, WCHAR_MIN) -+#endif - CILK_C_REDUCER_MAX_INDEX_INSTANCE(short, short, SHRT_MIN) - CILK_C_REDUCER_MAX_INDEX_INSTANCE(unsigned short, ushort, 0) - CILK_C_REDUCER_MAX_INDEX_INSTANCE(int, int, INT_MIN) -@@ -3567,7 +3571,9 @@ - CILK_C_REDUCER_MIN_INSTANCE(char, char, CHAR_MAX) - CILK_C_REDUCER_MIN_INSTANCE(unsigned char, uchar, CHAR_MAX) - CILK_C_REDUCER_MIN_INSTANCE(signed char, schar, SCHAR_MAX) -+#ifdef WCHAR_MAX - CILK_C_REDUCER_MIN_INSTANCE(wchar_t, wchar_t, WCHAR_MAX) -+#endif - CILK_C_REDUCER_MIN_INSTANCE(short, short, SHRT_MAX) - CILK_C_REDUCER_MIN_INSTANCE(unsigned short, ushort, USHRT_MAX) - CILK_C_REDUCER_MIN_INSTANCE(int, int, INT_MAX) -@@ -3719,7 +3725,9 @@ - CILK_C_REDUCER_MIN_INDEX_INSTANCE(char, char, CHAR_MAX) - CILK_C_REDUCER_MIN_INDEX_INSTANCE(unsigned char, uchar, CHAR_MAX) - CILK_C_REDUCER_MIN_INDEX_INSTANCE(signed char, schar, SCHAR_MAX) -+#ifdef WCHAR_MAX - CILK_C_REDUCER_MIN_INDEX_INSTANCE(wchar_t, wchar_t, WCHAR_MAX) -+#endif - CILK_C_REDUCER_MIN_INDEX_INSTANCE(short, short, SHRT_MAX) - CILK_C_REDUCER_MIN_INDEX_INSTANCE(unsigned short, ushort, USHRT_MAX) - CILK_C_REDUCER_MIN_INDEX_INSTANCE(int, int, INT_MAX) diff --git a/packages/gcc-linaro/7.1-2017.08/0006-xtensa-fix-PR-target-82181.patch b/packages/gcc-linaro/7.1-2017.08/0006-xtensa-fix-PR-target-82181.patch deleted file mode 100644 index ec9f1f8..0000000 --- a/packages/gcc-linaro/7.1-2017.08/0006-xtensa-fix-PR-target-82181.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 3ed0c49a8d52e88648c7bb9f21a204b23595a6a9 Mon Sep 17 00:00:00 2001 -From: jcmvbkbc -Date: Mon, 11 Sep 2017 21:53:38 +0000 -Subject: [PATCH] xtensa: fix PR target/82181 - -2017-09-11 Max Filippov -gcc/ - Backport from mainline - * config/xtensa/xtensa.c (xtensa_mem_offset): Check that both - words of DImode object are reachable by xtensa_uimm8x4 access. - -Signed-off-by: Max Filippov ---- - gcc/config/xtensa/xtensa.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/gcc/config/xtensa/xtensa.c -+++ b/gcc/config/xtensa/xtensa.c -@@ -605,6 +605,7 @@ - case HImode: - return xtensa_uimm8x2 (v); - -+ case DImode: - case DFmode: - return (xtensa_uimm8x4 (v) && xtensa_uimm8x4 (v + 4)); - diff --git a/packages/gcc-linaro/7.1-2017.08/0007-fix-m68k-uclinux.patch b/packages/gcc-linaro/7.1-2017.08/0007-fix-m68k-uclinux.patch deleted file mode 100644 index 0acbdfc..0000000 --- a/packages/gcc-linaro/7.1-2017.08/0007-fix-m68k-uclinux.patch +++ /dev/null @@ -1,21 +0,0 @@ -avoids internal compiler error while compiling linux-atomic.c -See here: -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53833 - -Signed-off-by: Waldemar Brodkorb - ---- - libgcc/config.host | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/libgcc/config.host -+++ b/libgcc/config.host -@@ -837,7 +837,7 @@ - m68k*-*-openbsd*) - ;; - m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux with uClibc -- tmake_file="$tmake_file m68k/t-floatlib m68k/t-linux" -+ tmake_file="$tmake_file m68k/t-floatlib" - md_unwind_header=m68k/linux-unwind.h - ;; - m68k-*-linux*) # Motorola m68k's running GNU/Linux diff --git a/packages/gcc-linaro/7.1-2017.08/0008-libgfortran-missing-include.patch b/packages/gcc-linaro/7.1-2017.08/0008-libgfortran-missing-include.patch deleted file mode 100644 index 701e7b4..0000000 --- a/packages/gcc-linaro/7.1-2017.08/0008-libgfortran-missing-include.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- - libgfortran/io/close.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/libgfortran/io/close.c -+++ b/libgfortran/io/close.c -@@ -25,6 +25,7 @@ - #include "io.h" - #include "unix.h" - #include -+#include - - typedef enum - { CLOSE_DELETE, CLOSE_KEEP, CLOSE_UNSPECIFIED } diff --git a/packages/gcc-linaro/7.1-2017.08/0009-nios2-bad-multilib-default.patch b/packages/gcc-linaro/7.1-2017.08/0009-nios2-bad-multilib-default.patch deleted file mode 100644 index 4acc491..0000000 --- a/packages/gcc-linaro/7.1-2017.08/0009-nios2-bad-multilib-default.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- - gcc/config/nios2/nios2.h | 4 ++-- - gcc/config/nios2/t-nios2 | 3 +-- - 2 files changed, 3 insertions(+), 4 deletions(-) - ---- a/gcc/config/nios2/nios2.h -+++ b/gcc/config/nios2/nios2.h -@@ -63,11 +63,11 @@ - #if TARGET_ENDIAN_DEFAULT == 0 - # define ASM_SPEC "%{!meb:-EL} %{meb:-EB} %{march=*:-march=%*}" - # define LINK_SPEC_ENDIAN "%{!meb:-EL} %{meb:-EB}" --# define MULTILIB_DEFAULTS { "EL" } -+# define MULTILIB_DEFAULTS { "mel" } - #else - # define ASM_SPEC "%{!mel:-EB} %{mel:-EL} %{march=*:-march=%*}" - # define LINK_SPEC_ENDIAN "%{!mel:-EB} %{mel:-EL}" --# define MULTILIB_DEFAULTS { "EB" } -+# define MULTILIB_DEFAULTS { "meb" } - #endif - - #define LINK_SPEC LINK_SPEC_ENDIAN \ ---- a/gcc/config/nios2/t-nios2 -+++ b/gcc/config/nios2/t-nios2 -@@ -22,6 +22,5 @@ - # MULTILIB_DIRNAMES = nomul mulx fpu-60-1 fpu-60-2 - # MULTILIB_EXCEPTIONS = - --# MULTILIB_OPTIONS += EL/EB -+# MULTILIB_OPTIONS += mel/meb - # MULTILIB_DIRNAMES += le be --# MULTILIB_MATCHES += EL=mel EB=meb diff --git a/packages/gcc-linaro/7.1-2017.08/0010-libgcc-disable-split-stack-nothreads.patch b/packages/gcc-linaro/7.1-2017.08/0010-libgcc-disable-split-stack-nothreads.patch deleted file mode 100644 index df91a9f..0000000 --- a/packages/gcc-linaro/7.1-2017.08/0010-libgcc-disable-split-stack-nothreads.patch +++ /dev/null @@ -1,17 +0,0 @@ -disable split-stack for non-thread builds - -Signed-off-by: Waldemar Brodkorb - ---- - libgcc/config/t-stack | 2 ++ - 1 file changed, 2 insertions(+) - ---- a/libgcc/config/t-stack -+++ b/libgcc/config/t-stack -@@ -1,4 +1,6 @@ - # Makefile fragment to provide generic support for -fsplit-stack. - # This should be used in config.host for any host which supports - # -fsplit-stack. -+ifeq ($(enable_threads),yes) - LIB2ADD_ST += $(srcdir)/generic-morestack.c $(srcdir)/generic-morestack-thread.c -+endif diff --git a/packages/gcc-linaro/7.1-2017.08/0011-bionic-ndk.patch b/packages/gcc-linaro/7.1-2017.08/0011-bionic-ndk.patch deleted file mode 100644 index 474dd8c..0000000 --- a/packages/gcc-linaro/7.1-2017.08/0011-bionic-ndk.patch +++ /dev/null @@ -1,60 +0,0 @@ -commit d38d37bdfe24b7ce1bdcb55642fb6b904718e68f -Author: Howard Chu -Date: Tue Apr 25 19:02:18 2017 -0700 - - Fix ctype for newer NDK headers - ---- - libstdc++-v3/config/os/bionic/ctype_base.h | 34 +++++++++++++++++++---------- - 1 file changed, 23 insertions(+), 11 deletions(-) - ---- a/libstdc++-v3/config/os/bionic/ctype_base.h -+++ b/libstdc++-v3/config/os/bionic/ctype_base.h -@@ -28,6 +28,18 @@ - - // Information as gleaned from /usr/include/ctype.h - -+// _CTYPE prefix was added in NDK r14 unified headers -+#ifndef _CTYPE_U -+#define _CTYPE_U _U -+#define _CTYPE_L _L -+#define _CTYPE_D _N -+#define _CTYPE_S _S -+#define _CTYPE_P _P -+#define _CTYPE_C _C -+#define _CTYPE_X _X -+#define _CTYPE_B _B -+#endif -+ - namespace std _GLIBCXX_VISIBILITY(default) - { - _GLIBCXX_BEGIN_NAMESPACE_VERSION -@@ -41,17 +53,17 @@ - // NB: Offsets into ctype::_M_table force a particular size - // on the mask type. Because of this, we don't use an enum. - typedef char mask; -- static const mask upper = _U; -- static const mask lower = _L; -- static const mask alpha = _U | _L; -- static const mask digit = _N; -- static const mask xdigit = _X | _N; -- static const mask space = _S; -- static const mask print = _P | _U | _L | _N | _B; -- static const mask graph = _P | _U | _L | _N; -- static const mask cntrl = _C; -- static const mask punct = _P; -- static const mask alnum = _U | _L | _N; -+ static const mask upper = _CTYPE_U; -+ static const mask lower = _CTYPE_L; -+ static const mask alpha = _CTYPE_U | _CTYPE_L; -+ static const mask digit = _CTYPE_D; -+ static const mask xdigit = _CTYPE_X | _CTYPE_D; -+ static const mask space = _CTYPE_S; -+ static const mask print = _CTYPE_P | _CTYPE_U | _CTYPE_L | _CTYPE_D | _CTYPE_B; -+ static const mask graph = _CTYPE_P | _CTYPE_U | _CTYPE_L | _CTYPE_D; -+ static const mask cntrl = _CTYPE_C; -+ static const mask punct = _CTYPE_P; -+ static const mask alnum = _CTYPE_U | _CTYPE_L | _CTYPE_D; - #if __cplusplus >= 201103L - static const mask blank = space; - #endif diff --git a/packages/gcc-linaro/7.1-2017.08/0012-bionic-errno.patch b/packages/gcc-linaro/7.1-2017.08/0012-bionic-errno.patch deleted file mode 100644 index 0a1a632..0000000 --- a/packages/gcc-linaro/7.1-2017.08/0012-bionic-errno.patch +++ /dev/null @@ -1,21 +0,0 @@ -commit 6cd4ad106ef87a3c58b0c3478e78409b47000de0 -Author: Howard Chu -Date: Tue Apr 25 20:17:03 2017 -0700 - - Fix, errno is volatile int - ---- - libstdc++-v3/src/filesystem/dir.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/libstdc++-v3/src/filesystem/dir.cc -+++ b/libstdc++-v3/src/filesystem/dir.cc -@@ -146,7 +146,7 @@ - - int err = std::exchange(errno, 0); - const auto entp = readdir(dirp); -- std::swap(errno, err); -+ std::swap((int&)errno, err); - - if (entp) - { diff --git a/packages/gcc-linaro/7.1-2017.08/0013-crystax.patch b/packages/gcc-linaro/7.1-2017.08/0013-crystax.patch deleted file mode 100644 index e53bcb8..0000000 --- a/packages/gcc-linaro/7.1-2017.08/0013-crystax.patch +++ /dev/null @@ -1,529 +0,0 @@ -commit 080803512c8f6f87c2f1f711170d54033144d628 -Author: Dmitry Moskalchuk -Date: Wed Jul 29 11:28:29 2015 +0300 - - [android] Apply Android-related modifications - - Signed-off-by: Dmitry Moskalchuk - -[Edited: keep libstdc++, drop libcrystax-related modifications] ---- - gcc/config.gcc | 17 +++++++- - gcc/config/aarch64/aarch64-linux-android.h | 59 +++++++++++++++++++++++++++++ - gcc/config/aarch64/aarch64-linux.h | 9 +++- - gcc/config/arm/arm.h | 3 - - gcc/config/arm/arm.md | 2 - gcc/config/arm/arm.opt | 4 + - gcc/config/arm/elf.h | 9 ++-- - gcc/config/arm/linux-eabi.h | 7 ++- - gcc/config/i386/gnu-user.h | 7 ++- - gcc/config/i386/gnu-user64.h | 5 ++ - gcc/config/i386/linux-common.h | 8 +++ - gcc/config/linux-android.h | 13 +++--- - gcc/config/mips/android.h | 49 ++++++++++++++++++++++++ - gcc/config/mips/gnu-user.h | 6 +- - gcc/config/mips/linux-common.h | 2 - gcc/config/mips/t-linux-android | 3 + - gcc/config/mips/t-linux-android64 | 4 + - libgcc/gthr-posix.h | 13 ++++++ - libstdc++-v3/configure | 12 +++++ - libstdc++-v3/include/bits/locale_facets.h | 18 +++++++- - libstdc++-v3/libsupc++/guard.cc | 5 ++ - 21 files changed, 235 insertions(+), 20 deletions(-) - ---- a/gcc/config.gcc -+++ b/gcc/config.gcc -@@ -961,13 +961,17 @@ - tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-freebsd" - ;; - aarch64*-*-linux*) -- tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h" -+ tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h" - tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-linux.h" -+ extra_options="${extra_options} linux-android.opt" - tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-linux" - case $target in - aarch64_be-*) - tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1" - ;; -+ aarch64*-*-linux-android*) -+ tm_file="${tm_file} aarch64/aarch64-linux-android.h" -+ ;; - esac - aarch64_multilibs="${with_multilib_list}" - if test "$aarch64_multilibs" = "default"; then -@@ -2074,6 +2078,17 @@ - tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/linux.h mips/linux-common.h" - extra_options="${extra_options} linux-android.opt" - case ${target} in -+ mips64*android*) -+ default_mips_arch=mips64r6 -+ default_mips_abi=64 -+ tm_file="${tm_file} mips/android.h" -+ tmake_file="${tmake_file} mips/t-linux-android64" -+ ;; -+ mips*android*) -+ default_mips_arch=mips32 -+ tm_file="${tm_file} mips/android.h" -+ tmake_file="$tmake_file mips/t-linux-android" -+ ;; - mipsisa32r6*) - default_mips_arch=mips32r6 - ;; ---- /dev/null -+++ b/gcc/config/aarch64/aarch64-linux-android.h -@@ -0,0 +1,59 @@ -+/* Machine description for AArch64 architecture. -+ Copyright (C) 2014 Free Software Foundation, Inc. -+ -+ This file is part of GCC. -+ -+ GCC is free software; you can redistribute it and/or modify it -+ under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 3, or (at your option) -+ any later version. -+ -+ GCC is distributed in the hope that it will be useful, but -+ WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with GCC; see the file COPYING3. If not see -+ . */ -+ -+#ifndef GCC_AARCH64_LINUX_ANDROID_H -+#define GCC_AARCH64_LINUX_ANDROID_H -+ -+ -+#undef TARGET_OS_CPP_BUILTINS -+#define TARGET_OS_CPP_BUILTINS() \ -+ do \ -+ { \ -+ GNU_USER_TARGET_OS_CPP_BUILTINS(); \ -+ ANDROID_TARGET_OS_CPP_BUILTINS(); \ -+ } \ -+ while (0) -+ -+#undef LINK_SPEC -+#define LINK_SPEC \ -+ LINUX_OR_ANDROID_LD (LINUX_TARGET_LINK_SPEC, \ -+ LINUX_TARGET_LINK_SPEC " " ANDROID_LINK_SPEC) -+ -+#undef CC1_SPEC -+#define CC1_SPEC \ -+ LINUX_OR_ANDROID_CC (GNU_USER_TARGET_CC1_SPEC, \ -+ GNU_USER_TARGET_CC1_SPEC " " ANDROID_CC1_SPEC("-fpic")) -+ -+#define CC1PLUS_SPEC \ -+ LINUX_OR_ANDROID_CC ("", ANDROID_CC1PLUS_SPEC) -+ -+#undef LIB_SPEC -+#define LIB_SPEC \ -+ LINUX_OR_ANDROID_LD (GNU_USER_TARGET_LIB_SPEC, \ -+ GNU_USER_TARGET_NO_PTHREADS_LIB_SPEC " " ANDROID_LIB_SPEC) -+ -+#undef STARTFILE_SPEC -+#define STARTFILE_SPEC \ -+ LINUX_OR_ANDROID_LD (GNU_USER_TARGET_STARTFILE_SPEC, ANDROID_STARTFILE_SPEC) -+ -+#undef ENDFILE_SPEC -+#define ENDFILE_SPEC \ -+ LINUX_OR_ANDROID_LD (GNU_USER_TARGET_ENDFILE_SPEC, ANDROID_ENDFILE_SPEC) -+ -+#endif /* GCC_AARCH64_LINUX_ANDROID_H */ ---- a/gcc/config/aarch64/aarch64-linux.h -+++ b/gcc/config/aarch64/aarch64-linux.h -@@ -21,7 +21,14 @@ - #ifndef GCC_AARCH64_LINUX_H - #define GCC_AARCH64_LINUX_H - --#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" -+#ifndef RUNTIME_ROOT_PREFIX -+#define RUNTIME_ROOT_PREFIX "" -+#endif -+#define GLIBC_DYNAMIC_LINKER RUNTIME_ROOT_PREFIX "/lib/ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" -+#ifdef BIONIC_DYNAMIC_LINKER -+#undef BIONIC_DYNAMIC_LINKER -+#endif -+#define BIONIC_DYNAMIC_LINKER RUNTIME_ROOT_PREFIX "/system/bin/linker64" - - #undef MUSL_DYNAMIC_LINKER - #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" ---- a/gcc/config/arm/arm.h -+++ b/gcc/config/arm/arm.h -@@ -1878,10 +1878,11 @@ - - #define CASE_VECTOR_PC_RELATIVE (TARGET_THUMB2 \ - || (TARGET_THUMB1 \ -+ && !inline_thumb1_jump_table \ - && (optimize_size || flag_pic))) - - #define CASE_VECTOR_SHORTEN_MODE(min, max, body) \ -- (TARGET_THUMB1 \ -+ (TARGET_THUMB1 && !inline_thumb1_jump_table \ - ? (min >= 0 && max < 512 \ - ? (ADDR_DIFF_VEC_FLAGS (body).offset_unsigned = 1, QImode) \ - : min >= -256 && max < 256 \ ---- a/gcc/config/arm/arm.md -+++ b/gcc/config/arm/arm.md -@@ -8668,7 +8668,7 @@ - (match_operand:SI 2 "const_int_operand" "") ; total range - (match_operand:SI 3 "" "") ; table label - (match_operand:SI 4 "" "")] ; Out of range label -- "(TARGET_32BIT || optimize_size || flag_pic) && !target_pure_code" -+ "(TARGET_32BIT || ((optimize_size || flag_pic) && !inline_thumb1_jump_table)) && !target_pure_code" - " - { - enum insn_code code; ---- a/gcc/config/arm/arm.opt -+++ b/gcc/config/arm/arm.opt -@@ -193,6 +193,10 @@ - Target Report Mask(INTERWORK) - Support calls between Thumb and ARM instruction sets. - -+minline-thumb1-jumptable -+Target Report Var(inline_thumb1_jump_table) -+Inline Thumb1 Jump table code -+ - mtls-dialect= - Target RejectNegative Joined Enum(tls_type) Var(target_tls_dialect) Init(TLS_GNU) - Specify thread local storage scheme. ---- a/gcc/config/arm/elf.h -+++ b/gcc/config/arm/elf.h -@@ -56,8 +56,7 @@ - #undef SUBSUBTARGET_EXTRA_SPECS - #define SUBSUBTARGET_EXTRA_SPECS - --#ifndef ASM_SPEC --#define ASM_SPEC "\ -+#define DEFAULT_ASM_SPEC "\ - %{mbig-endian:-EB} \ - %{mlittle-endian:-EL} \ - %(asm_cpu_spec) \ -@@ -66,6 +65,9 @@ - %{mthumb-interwork:-mthumb-interwork} \ - %{mfloat-abi=*} %{mfpu=*} \ - %(subtarget_extra_asm_spec)" -+ -+#ifndef ASM_SPEC -+#define ASM_SPEC DEFAULT_ASM_SPEC - #endif - - /* The ARM uses @ are a comment character so we need to redefine -@@ -95,7 +97,8 @@ - the code more efficient, but for Thumb-1 it's better to put them out of - band unless we are generating compressed tables. */ - #define JUMP_TABLES_IN_TEXT_SECTION \ -- ((TARGET_32BIT || (TARGET_THUMB && (optimize_size || flag_pic))) \ -+ ((TARGET_32BIT || (TARGET_THUMB && !inline_thumb1_jump_table \ -+ && (optimize_size || flag_pic))) \ - && !target_pure_code) - - #ifndef LINK_SPEC ---- a/gcc/config/arm/linux-eabi.h -+++ b/gcc/config/arm/linux-eabi.h -@@ -102,11 +102,16 @@ - #define CC1_SPEC \ - LINUX_OR_ANDROID_CC (GNU_USER_TARGET_CC1_SPEC " " ASAN_CC1_SPEC, \ - GNU_USER_TARGET_CC1_SPEC " " ASAN_CC1_SPEC " " \ -- ANDROID_CC1_SPEC) -+ ANDROID_CC1_SPEC("-fpic")) - - #define CC1PLUS_SPEC \ - LINUX_OR_ANDROID_CC ("", ANDROID_CC1PLUS_SPEC) - -+#undef ASM_SPEC -+#define ASM_SPEC \ -+ LINUX_OR_ANDROID_CC (DEFAULT_ASM_SPEC, \ -+ DEFAULT_ASM_SPEC " " ANDROID_ASM_SPEC) -+ - #undef LIB_SPEC - #define LIB_SPEC \ - LINUX_OR_ANDROID_LD (GNU_USER_TARGET_LIB_SPEC, \ ---- a/gcc/config/i386/gnu-user.h -+++ b/gcc/config/i386/gnu-user.h -@@ -65,9 +65,14 @@ - When the -shared link option is used a final link is not being - done. */ - -+#undef ANDROID_TARGET_CC1_SPEC -+#define ANDROID_TARGET_CC1_SPEC \ -+ " -mssse3 -fno-short-enums " \ -+ - #undef ASM_SPEC - #define ASM_SPEC \ -- "--32 %{!mno-sse2avx:%{mavx:-msse2avx}} %{msse2avx:%{!mavx:-msse2avx}}" -+ "--32 %{!mno-sse2avx:%{mavx:-msse2avx}} %{msse2avx:%{!mavx:-msse2avx}} " \ -+ LINUX_OR_ANDROID_CC ("", ANDROID_ASM_SPEC) - - #undef SUBTARGET_EXTRA_SPECS - #define SUBTARGET_EXTRA_SPECS \ ---- a/gcc/config/i386/gnu-user64.h -+++ b/gcc/config/i386/gnu-user64.h -@@ -46,6 +46,11 @@ - #define SPEC_X32 "mx32" - #endif - -+#undef ANDROID_TARGET_CC1_SPEC -+#define ANDROID_TARGET_CC1_SPEC \ -+ "%{m32:-mssse3 -fno-short-enums}" \ -+ "%{!m32:-msse4.2 -mpopcnt}" -+ - #undef ASM_SPEC - #define ASM_SPEC "%{" SPEC_32 ":--32} \ - %{" SPEC_64 ":--64} \ ---- a/gcc/config/i386/linux-common.h -+++ b/gcc/config/i386/linux-common.h -@@ -30,7 +30,13 @@ - #undef CC1_SPEC - #define CC1_SPEC \ - LINUX_OR_ANDROID_CC (GNU_USER_TARGET_CC1_SPEC, \ -- GNU_USER_TARGET_CC1_SPEC " " ANDROID_CC1_SPEC) -+ GNU_USER_TARGET_CC1_SPEC \ -+ ANDROID_TARGET_CC1_SPEC \ -+ " " \ -+ ANDROID_CC1_SPEC("-fPIC")) -+ -+#define CC1PLUS_SPEC \ -+ LINUX_OR_ANDROID_CC ("", ANDROID_CC1PLUS_SPEC) - - #undef LINK_SPEC - #define LINK_SPEC \ ---- a/gcc/config/linux-android.h -+++ b/gcc/config/linux-android.h -@@ -38,15 +38,18 @@ - "%{" NOANDROID "|tno-android-ld:" LINUX_SPEC ";:" ANDROID_SPEC "}" - - #define ANDROID_LINK_SPEC \ -- "%{shared: -Bsymbolic}" -+ "%{shared: -Bsymbolic} -z noexecstack -z relro -z now" - --#define ANDROID_CC1_SPEC \ -+#define ANDROID_CC1_SPEC(ANDROID_PIC_DEFAULT) \ - "%{!mglibc:%{!muclibc:%{!mbionic: -mbionic}}} " \ -- "%{!fno-pic:%{!fno-PIC:%{!fpic:%{!fPIC: -fPIC}}}}" -+ "%{!fno-pic:%{!fno-PIC:%{!fpic:%{!fPIC: " ANDROID_PIC_DEFAULT "}}}}" - - #define ANDROID_CC1PLUS_SPEC \ -- "%{!fexceptions:%{!fno-exceptions: -fno-exceptions}} " \ -- "%{!frtti:%{!fno-rtti: -fno-rtti}}" -+ "%{!fexceptions:%{!fno-exceptions: -fexceptions}} " \ -+ "%{!frtti:%{!fno-rtti: -frtti}}" -+ -+#define ANDROID_ASM_SPEC \ -+ "--noexecstack" - - #define ANDROID_LIB_SPEC \ - "%{!static: -ldl}" ---- /dev/null -+++ b/gcc/config/mips/android.h -@@ -0,0 +1,49 @@ -+/* Target macros for mips*-*android* targets. -+ Copyright (C) 2014 Free Software Foundation, Inc. -+ -+This file is part of GCC. -+ -+GCC is free software; you can redistribute it and/or modify -+it under the terms of the GNU General Public License as published by -+the Free Software Foundation; either version 3, or (at your option) -+any later version. -+ -+GCC is distributed in the hope that it will be useful, -+but WITHOUT ANY WARRANTY; without even the implied warranty of -+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+GNU General Public License for more details. -+ -+You should have received a copy of the GNU General Public License -+along with GCC; see the file COPYING3. If not see -+. */ -+ -+#undef DRIVER_SELF_SPECS -+#define DRIVER_SELF_SPECS \ -+ /* Make sure a -mips option is present. This helps us to pick \ -+ the right multilib, and also makes the later specs easier \ -+ to write. */ \ -+ MIPS_ISA_LEVEL_SPEC, \ -+ \ -+ /* Infer the default float setting from -march. */ \ -+ MIPS_ARCH_FLOAT_SPEC, \ -+ \ -+ /* Infer the -msynci setting from -march if not explicitly set. */ \ -+ MIPS_ISA_SYNCI_SPEC, \ -+ \ -+ /* If no ABI option is specified, infer one from the ISA level \ -+ or -mgp setting. */ \ -+ "%{!mabi=*: %{" MIPS_32BIT_OPTION_SPEC ": -mabi=32;: -mabi=64}}", \ -+ \ -+ /* If no FP ABI option is specified, infer one from the \ -+ ABI/ISA level unless there is a conflicting option. */ \ -+ "%{!msoft-float: %{!msingle-float: %{!mfp*: %{!mmsa: %{mabi=32: %{" \ -+ MIPS_FPXX_OPTION_SPEC ": -mfpxx}}}}}}", \ -+ \ -+ /* If no odd-spreg option is specified, infer one from the ISA. */ \ -+ "%{!modd-spreg: %{mabi=32: %{mips32r6: -mno-odd-spreg}}}", \ -+ \ -+ /* Base SPECs. */ \ -+ BASE_DRIVER_SELF_SPECS, \ -+ \ -+ /* Use the standard linux specs for everything else. */ \ -+ LINUX_DRIVER_SELF_SPECS ---- a/gcc/config/mips/gnu-user.h -+++ b/gcc/config/mips/gnu-user.h -@@ -36,6 +36,7 @@ - /* The GNU C++ standard library requires this. */ \ - if (c_dialect_cxx ()) \ - builtin_define ("_GNU_SOURCE"); \ -+ ANDROID_TARGET_OS_CPP_BUILTINS(); \ - } while (0) - - #undef SUBTARGET_CPP_SPEC -@@ -71,7 +72,8 @@ - - #undef SUBTARGET_ASM_SPEC - #define SUBTARGET_ASM_SPEC \ -- "%{!mno-abicalls:%{mplt:-call_nonpic;:-KPIC}}" -+ "%{!mno-abicalls:%{mplt:-call_nonpic;:-KPIC}} " \ -+ LINUX_OR_ANDROID_CC ("", ANDROID_ASM_SPEC) - - /* The MIPS assembler has different syntax for .set. We set it to - .dummy to trap any errors. */ -@@ -120,7 +122,7 @@ - #endif - - #define LINUX_DRIVER_SELF_SPECS \ -- NO_SHARED_SPECS \ -+ LINUX_OR_ANDROID_CC(NO_SHARED_SPECS, "") \ - MARCH_MTUNE_NATIVE_SPECS, \ - /* -mplt has no effect without -mno-shared. Simplify later \ - specs handling by removing a redundant option. */ \ ---- a/gcc/config/mips/linux-common.h -+++ b/gcc/config/mips/linux-common.h -@@ -35,7 +35,7 @@ - #undef SUBTARGET_CC1_SPEC - #define SUBTARGET_CC1_SPEC \ - LINUX_OR_ANDROID_CC (GNU_USER_TARGET_CC1_SPEC, \ -- GNU_USER_TARGET_CC1_SPEC " " ANDROID_CC1_SPEC) -+ GNU_USER_TARGET_CC1_SPEC " " ANDROID_CC1_SPEC("-fpic")) - - #undef CC1PLUS_SPEC - #define CC1PLUS_SPEC \ ---- /dev/null -+++ b/gcc/config/mips/t-linux-android -@@ -0,0 +1,3 @@ -+MULTILIB_OPTIONS = mips32r2/mips32r6 -+MULTILIB_DIRNAMES = mips-r2 mips-r6 -+MULTILIB_OSDIRNAMES = ../libr2 ../libr6 ---- /dev/null -+++ b/gcc/config/mips/t-linux-android64 -@@ -0,0 +1,4 @@ -+MULTILIB_OPTIONS = mabi=32 mips32/mips32r2/mips32r6/mips64r2/mips64r6 -+MULTILIB_DIRNAMES = 32 mips-r1 mips-r2 mips-r6 mips64-r2 mips64-r6 -+MULTILIB_OSDIRNAMES = ../lib ../lib ../libr2 ../libr6 ../lib64r2 ../lib64 -+MULTILIB_REQUIRED = mabi=32/mips32 mabi=32/mips32r2 mabi=32/mips32r6 mips64r2 mips64r6 ---- a/libgcc/gthr-posix.h -+++ b/libgcc/gthr-posix.h -@@ -32,6 +32,19 @@ - #define __GTHREADS 1 - #define __GTHREADS_CXX0X 1 - -+/* The following should normally be in a different header file, -+ * but I couldn't find the right location. The point of the macro -+ * definition below is to prevent libsupc++ and libstdc++ to reference -+ * weak symbols in their static C++ constructors. Such code crashes -+ * when a shared object linked statically to these libraries is -+ * loaded on Android 2.1 (Eclair) and older platform releases, due -+ * to a dynamic linker bug. -+ */ -+#ifdef __ANDROID__ -+#undef GTHREAD_USE_WEAK -+#define GTHREAD_USE_WEAK 0 -+#endif -+ - #include - - #if ((defined(_LIBOBJC) || defined(_LIBOBJC_WEAK)) \ ---- a/libstdc++-v3/configure -+++ b/libstdc++-v3/configure -@@ -78536,6 +78536,12 @@ - /* end confdefs.h. */ - #include - int lk; -+#if !defined(SYS_gettid) -+#define SYS_gettid __NR_gettid -+#endif -+#if !defined(SYS_futex) -+#define SYS_futex __NR_futex -+#endif - int - main () - { -@@ -78594,6 +78600,12 @@ - /* end confdefs.h. */ - #include - int lk; -+#if !defined(SYS_gettid) -+#define SYS_gettid __NR_gettid -+#endif -+#if !defined(SYS_futex) -+#define SYS_futex __NR_futex -+#endif - int - main () - { ---- a/libstdc++-v3/include/bits/locale_facets.h -+++ b/libstdc++-v3/include/bits/locale_facets.h -@@ -47,6 +47,20 @@ - #include - #include - -+#if !__clang__ && __GNUC__ == 4 && __GNUC_MINOR__ == 9 && __i386__ -+// CrystaX: for some reason, x86 gcc-4.9 makes ctype::do_widen() and -+// ctype::_M_widen_init() methods working wrong if optimization enabled. -+// For ctype::do_widen(), values of passed arguments (__lo, __hi and __to) -+// are completely messed up and don't correspond to passed values. In case if -+// we disable optimization for those methods, things become correct so we apply -+// this workaround here for a time. -+// TODO: figure out what exactly wrong here - is it bug in GCC optimization -+// algorithm or smth else? -+#define __CRYSTAX_X86_DONT_OPTIMIZE __attribute__((optimize(0))) -+#else -+#define __CRYSTAX_X86_DONT_OPTIMIZE -+#endif -+ - namespace std _GLIBCXX_VISIBILITY(default) - { - _GLIBCXX_BEGIN_NAMESPACE_VERSION -@@ -1102,7 +1116,7 @@ - * @return @a __hi. - */ - virtual const char* -- do_widen(const char* __lo, const char* __hi, char_type* __to) const -+ do_widen(const char* __lo, const char* __hi, char_type* __to) const __CRYSTAX_X86_DONT_OPTIMIZE - { - __builtin_memcpy(__to, __lo, __hi - __lo); - return __hi; -@@ -1163,7 +1177,7 @@ - - private: - void _M_narrow_init() const; -- void _M_widen_init() const; -+ void _M_widen_init() const __CRYSTAX_X86_DONT_OPTIMIZE; - }; - - #ifdef _GLIBCXX_USE_WCHAR_T ---- a/libstdc++-v3/libsupc++/guard.cc -+++ b/libstdc++-v3/libsupc++/guard.cc -@@ -34,7 +34,12 @@ - #if defined(__GTHREADS) && defined(__GTHREAD_HAS_COND) \ - && (ATOMIC_INT_LOCK_FREE > 1) && defined(_GLIBCXX_HAVE_LINUX_FUTEX) - # include -+#if defined(__ANDROID__) -+# include -+# define SYS_futex __NR_futex -+#else - # include -+#endif - # include - # define _GLIBCXX_USE_FUTEX - # define _GLIBCXX_FUTEX_WAIT 0 diff --git a/packages/gcc-linaro/7.1-2017.08/0014-crystax.patch b/packages/gcc-linaro/7.1-2017.08/0014-crystax.patch deleted file mode 100644 index f1f9eb1..0000000 --- a/packages/gcc-linaro/7.1-2017.08/0014-crystax.patch +++ /dev/null @@ -1,27 +0,0 @@ -commit 9f057b62caafe08c968103d39b5df82486a175c2 -Author: Dmitry Moskalchuk -Date: Thu Aug 13 16:11:54 2015 +0300 - - [android] Add additional multilib option: mfloat-abi=hard - - Signed-off-by: Dmitry Moskalchuk - ---- - gcc/config/arm/t-linux-androideabi | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - ---- a/gcc/config/arm/t-linux-androideabi -+++ b/gcc/config/arm/t-linux-androideabi -@@ -1,8 +1,9 @@ --MULTILIB_OPTIONS = march=armv7-a mthumb --MULTILIB_DIRNAMES = armv7-a thumb --MULTILIB_EXCEPTIONS = -+MULTILIB_OPTIONS = march=armv7-a mthumb mfloat-abi=hard -+MULTILIB_DIRNAMES = armv7-a thumb hard -+MULTILIB_EXCEPTIONS = mfloat-abi=hard* mthumb/mfloat-abi=hard* - MULTILIB_MATCHES = - MULTILIB_OSDIRNAMES = -+MULTILIB_EXTRA_OPTS = Wl,--no-warn-mismatch - - # The "special" multilib can be used to build native applications for Android, - # as opposed to native shared libraries that are then called via JNI. diff --git a/packages/gcc-linaro/7.1-2017.08/0015-crystax.patch b/packages/gcc-linaro/7.1-2017.08/0015-crystax.patch deleted file mode 100644 index f1de8ed..0000000 --- a/packages/gcc-linaro/7.1-2017.08/0015-crystax.patch +++ /dev/null @@ -1,293 +0,0 @@ -commit 44a81ebb7698dac41ffa7acd5e0cc1578e5ab1fd -Author: H.J. Lu -Date: Mon Apr 14 15:59:47 2014 -0700 - - [android] Always enable --eh-frame-hdr for static executable - - See 5e6cdf76af295c9a39b695ca228cff675e8ff4ae and - 23e3137ee2897464b051599b85a09f130d3ad05d - - Change-Id: Ibda473188e5a10f2a0592f2494ad00ad1f91e04b - Signed-off-by: Dmitry Moskalchuk - ---- - gcc/config.in | 6 +++++ - gcc/config/alpha/elf.h | 4 +++ - gcc/config/freebsd.h | 4 +++ - gcc/config/gnu-user.h | 4 +++ - gcc/config/openbsd.h | 4 +++ - gcc/config/rs6000/sysv4.h | 6 ++++- - gcc/config/sol2.h | 4 +++ - gcc/configure | 36 +++++++++++++++++++++++++++++++++ - gcc/configure.ac | 29 ++++++++++++++++++++++++++ - gcc/testsuite/g++.dg/eh/spec3-static.C | 25 ++++++++++++++++++++++ - libgcc/crtstuff.c | 11 ++++++---- - 11 files changed, 128 insertions(+), 5 deletions(-) - ---- a/gcc/config.in -+++ b/gcc/config.in -@@ -2176,6 +2176,12 @@ - #endif - - -+/* Define if your system supports PT_GNU_EH_FRAME for static executable. */ -+#ifndef USED_FOR_TARGET -+#undef USE_EH_FRAME_HDR_FOR_STATIC -+#endif -+ -+ - /* Define to 1 if the 'long long' type is wider than 'long' but still - efficiently supported by the host hardware. */ - #ifndef USED_FOR_TARGET ---- a/gcc/config/alpha/elf.h -+++ b/gcc/config/alpha/elf.h -@@ -168,5 +168,9 @@ - I imagine that other systems will catch up. In the meantime, it - doesn't harm to make sure that the data exists to be used later. */ - #if defined(HAVE_LD_EH_FRAME_HDR) -+#ifdef USE_EH_FRAME_HDR_FOR_STATIC -+#define LINK_EH_SPEC "--eh-frame-hdr " -+#else - #define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " - #endif -+#endif ---- a/gcc/config/freebsd.h -+++ b/gcc/config/freebsd.h -@@ -45,8 +45,12 @@ - #define LIB_SPEC FBSD_LIB_SPEC - - #if defined(HAVE_LD_EH_FRAME_HDR) -+#ifdef USE_EH_FRAME_HDR_FOR_STATIC -+#define LINK_EH_SPEC "--eh-frame-hdr " -+#else - #define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " - #endif -+#endif - - #ifdef TARGET_LIBC_PROVIDES_SSP - #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ ---- a/gcc/config/gnu-user.h -+++ b/gcc/config/gnu-user.h -@@ -118,8 +118,12 @@ - #define LIB_SPEC GNU_USER_TARGET_LIB_SPEC - - #if defined(HAVE_LD_EH_FRAME_HDR) -+#ifdef USE_EH_FRAME_HDR_FOR_STATIC -+#define LINK_EH_SPEC "--eh-frame-hdr " -+#else - #define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " - #endif -+#endif - - #undef LINK_GCC_C_SEQUENCE_SPEC - #define LINK_GCC_C_SEQUENCE_SPEC \ ---- a/gcc/config/openbsd.h -+++ b/gcc/config/openbsd.h -@@ -136,8 +136,12 @@ - #define LIB_SPEC OBSD_LIB_SPEC - - #if defined(HAVE_LD_EH_FRAME_HDR) -+#ifdef USE_EH_FRAME_HDR_FOR_STATIC -+#define LINK_EH_SPEC "--eh-frame-hdr " -+#else - #define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " - #endif -+#endif - - #undef LIB_SPEC - #define LIB_SPEC OBSD_LIB_SPEC ---- a/gcc/config/rs6000/sysv4.h -+++ b/gcc/config/rs6000/sysv4.h -@@ -805,7 +805,11 @@ - -dynamic-linker " GNU_USER_DYNAMIC_LINKER "}}" - - #if defined(HAVE_LD_EH_FRAME_HDR) --# define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " -+# ifdef USE_EH_FRAME_HDR_FOR_STATIC -+# define LINK_EH_SPEC "--eh-frame-hdr " -+# else -+# define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " -+# endif - #endif - - #define CPP_OS_LINUX_SPEC "-D__unix__ -D__gnu_linux__ -D__linux__ \ ---- a/gcc/config/sol2.h -+++ b/gcc/config/sol2.h -@@ -367,7 +367,11 @@ - /* Solaris 11 build 135+ implements dl_iterate_phdr. GNU ld needs - --eh-frame-hdr to create the required .eh_frame_hdr sections. */ - #if defined(HAVE_LD_EH_FRAME_HDR) && defined(TARGET_DL_ITERATE_PHDR) -+#ifdef USE_EH_FRAME_HDR_FOR_STATIC -+#define LINK_EH_SPEC "--eh-frame-hdr " -+#else - #define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " -+#endif - #endif /* HAVE_LD_EH_FRAME && TARGET_DL_ITERATE_PHDR */ - #endif - ---- a/gcc/configure -+++ b/gcc/configure -@@ -939,6 +939,7 @@ - enable_fix_cortex_a53_843419 - with_glibc_version - enable_gnu_unique_object -+enable_eh_frame_hdr_for_static - enable_linker_build_id - enable_default_ssp - with_long_double_128 -@@ -1676,6 +1677,9 @@ - --enable-gnu-unique-object - enable the use of the @gnu_unique_object ELF - extension on glibc systems -+ --enable-eh-frame-hdr-for-static -+ enable linker PT_GNU_EH_FRAME support for static -+ executable - --enable-linker-build-id - compiler will always pass --build-id to linker - --enable-default-ssp enable Stack Smashing Protection as default -@@ -28016,6 +28020,38 @@ - - $as_echo "#define HAVE_LD_EH_FRAME_HDR 1" >>confdefs.h - -+ # Check whether --enable-eh-frame-hdr-for-static was given. -+if test "${enable_eh_frame_hdr_for_static+set}" = set; then : -+ enableval=$enable_eh_frame_hdr_for_static; case $enable_eh_frame_hdr_for_static in -+ yes | no) ;; -+ *) as_fn_error "'$enable_eh_frame_hdr_for_static' is an invalid -+value for --enable-eh-frame-hdr-for-static. -+Valid choices are 'yes' and 'no'." "$LINENO" 5 ;; -+ esac -+else -+ # Only support for glibc 2.3.0 or higher with AT_PHDR/AT_PHNUM from -+# Linux kernel. -+ if test x$host = x$build -a x$host = x$target && -+ ldd --version 2>&1 >/dev/null && -+ glibcver=`ldd --version 2>/dev/null | sed 's/.* //;q'`; then -+ glibcmajor=`expr "$glibcver" : "\([0-9]*\)"` -+ glibcminor=`expr "$glibcver" : "[2-9]*\.\([0-9]*\)"` -+ glibcnum=`expr $glibcmajor \* 1000 + $glibcminor` -+ if test "$glibcnum" -ge 2003 ; then -+ auvx=`LD_SHOW_AUXV=1 ldd 2>/dev/null` -+ if echo "$auvx" | grep AT_PHDR > /dev/null && -+ echo "$auvx" | grep AT_PHNUM > /dev/null; then -+ enable_eh_frame_hdr_for_static=yes -+ fi -+ fi -+ fi -+fi -+ -+ if test x$enable_eh_frame_hdr_for_static = xyes; then -+ -+$as_echo "#define USE_EH_FRAME_HDR_FOR_STATIC 1" >>confdefs.h -+ -+ fi - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_ld_eh_frame_hdr" >&5 - $as_echo "$gcc_cv_ld_eh_frame_hdr" >&6; } ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -4969,6 +4969,35 @@ - if test x"$gcc_cv_ld_eh_frame_hdr" = xyes; then - AC_DEFINE(HAVE_LD_EH_FRAME_HDR, 1, - [Define if your linker supports .eh_frame_hdr.]) -+ AC_ARG_ENABLE(eh-frame-hdr-for-static, -+ [AS_HELP_STRING([--enable-eh-frame-hdr-for-static], -+ [enable linker PT_GNU_EH_FRAME support for static executable])], -+ [case $enable_eh_frame_hdr_for_static in -+ yes | no) ;; -+ *) AC_MSG_ERROR(['$enable_eh_frame_hdr_for_static' is an invalid -+value for --enable-eh-frame-hdr-for-static. -+Valid choices are 'yes' and 'no'.]) ;; -+ esac], -+# Only support for glibc 2.3.0 or higher with AT_PHDR/AT_PHNUM from -+# Linux kernel. -+ [[if test x$host = x$build -a x$host = x$target && -+ ldd --version 2>&1 >/dev/null && -+ glibcver=`ldd --version 2>/dev/null | sed 's/.* //;q'`; then -+ glibcmajor=`expr "$glibcver" : "\([0-9]*\)"` -+ glibcminor=`expr "$glibcver" : "[2-9]*\.\([0-9]*\)"` -+ glibcnum=`expr $glibcmajor \* 1000 + $glibcminor` -+ if test "$glibcnum" -ge 2003 ; then -+ auvx=`LD_SHOW_AUXV=1 ldd 2>/dev/null` -+ if echo "$auvx" | grep AT_PHDR > /dev/null && -+ echo "$auvx" | grep AT_PHNUM > /dev/null; then -+ enable_eh_frame_hdr_for_static=yes -+ fi -+ fi -+ fi]]) -+ if test x$enable_eh_frame_hdr_for_static = xyes; then -+ AC_DEFINE(USE_EH_FRAME_HDR_FOR_STATIC, 1, -+[Define if your system supports PT_GNU_EH_FRAME for static executable.]) -+ fi - fi - AC_MSG_RESULT($gcc_cv_ld_eh_frame_hdr) - ---- /dev/null -+++ b/gcc/testsuite/g++.dg/eh/spec3-static.C -@@ -0,0 +1,25 @@ -+// PR c++/4381 -+// Test that exception-specs work properly for classes with virtual bases. -+ -+// { dg-do run } -+// { dg-options "-static" } -+ -+class Base {}; -+ -+struct A : virtual public Base -+{ -+ A() {} -+}; -+ -+struct B {}; -+ -+void func() throw (B,A) -+{ -+ throw A(); -+} -+ -+int main(void) -+{ -+ try { func(); } -+ catch (A& a) { } -+} ---- a/libgcc/crtstuff.c -+++ b/libgcc/crtstuff.c -@@ -88,7 +88,8 @@ - #if defined(OBJECT_FORMAT_ELF) \ - && !defined(OBJECT_FORMAT_FLAT) \ - && defined(HAVE_LD_EH_FRAME_HDR) \ -- && !defined(inhibit_libc) && !defined(CRTSTUFFT_O) \ -+ && !defined(inhibit_libc) \ -+ && (defined(USE_EH_FRAME_HDR_FOR_STATIC) || !defined(CRTSTUFFT_O)) \ - && defined(BSD_DL_ITERATE_PHDR_AVAILABLE) - #include - # define USE_PT_GNU_EH_FRAME -@@ -97,7 +98,8 @@ - #if defined(OBJECT_FORMAT_ELF) \ - && !defined(OBJECT_FORMAT_FLAT) \ - && defined(HAVE_LD_EH_FRAME_HDR) && defined(TARGET_DL_ITERATE_PHDR) \ -- && !defined(inhibit_libc) && !defined(CRTSTUFFT_O) \ -+ && !defined(inhibit_libc) \ -+ && (defined(USE_EH_FRAME_HDR_FOR_STATIC) || !defined(CRTSTUFFT_O)) \ - && defined(__sun__) && defined(__svr4__) - #include - # define USE_PT_GNU_EH_FRAME -@@ -106,7 +108,8 @@ - #if defined(OBJECT_FORMAT_ELF) \ - && !defined(OBJECT_FORMAT_FLAT) \ - && defined(HAVE_LD_EH_FRAME_HDR) \ -- && !defined(inhibit_libc) && !defined(CRTSTUFFT_O) \ -+ && !defined(inhibit_libc) \ -+ && (defined(USE_EH_FRAME_HDR_FOR_STATIC) || !defined(CRTSTUFFT_O)) \ - && defined(__GLIBC__) && __GLIBC__ >= 2 - #include - /* uClibc pretends to be glibc 2.2 and DT_CONFIG is defined in its link.h. -@@ -121,7 +124,7 @@ - #if defined(OBJECT_FORMAT_ELF) \ - && !defined(OBJECT_FORMAT_FLAT) \ - && defined(HAVE_LD_EH_FRAME_HDR) \ -- && !defined(CRTSTUFFT_O) \ -+ && (defined(USE_EH_FRAME_HDR_FOR_STATIC) || !defined(CRTSTUFFT_O)) \ - && defined(inhibit_libc) \ - && (defined(__GLIBC__) || defined(__gnu_linux__) || defined(__GNU__)) - /* On systems using glibc, an inhibit_libc build of libgcc is only diff --git a/packages/gcc-linaro/7.1-2017.08/0016-crystax.patch b/packages/gcc-linaro/7.1-2017.08/0016-crystax.patch deleted file mode 100644 index 8dfbd0d..0000000 --- a/packages/gcc-linaro/7.1-2017.08/0016-crystax.patch +++ /dev/null @@ -1,22 +0,0 @@ -commit 778a9ef107f51544d583f110e92b75f4d9d79117 -Author: Dmitry Moskalchuk -Date: Thu Aug 20 19:11:07 2015 +0300 - - [android] Don't use PIE copyrelocs for x86/x86_64 - - Signed-off-by: Dmitry Moskalchuk - ---- - gcc/config/i386/i386.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/gcc/config/i386/i386.c -+++ b/gcc/config/i386/i386.c -@@ -15747,6 +15747,7 @@ - else if (!SYMBOL_REF_FAR_ADDR_P (op0) - && (SYMBOL_REF_LOCAL_P (op0) - || (HAVE_LD_PIE_COPYRELOC -+ && !TARGET_HAS_BIONIC - && flag_pie - && !SYMBOL_REF_WEAK (op0) - && !SYMBOL_REF_FUNCTION_P (op0))) diff --git a/packages/gcc-linaro/7.1-2017.08/0017-crystax.patch b/packages/gcc-linaro/7.1-2017.08/0017-crystax.patch deleted file mode 100644 index 8f2eb43..0000000 --- a/packages/gcc-linaro/7.1-2017.08/0017-crystax.patch +++ /dev/null @@ -1,26 +0,0 @@ -commit dbeae1190cabad83999f2540523f045acc1bb4ec -Author: Dmitry Moskalchuk -Date: Fri Aug 21 17:41:59 2015 +0300 - - [android] Always use gthr-posix.h instead of gthr-default.h - - Signed-off-by: Dmitry Moskalchuk - ---- - libgcc/gthr.h | 4 ++++ - 1 file changed, 4 insertions(+) - ---- 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 - - #ifndef HIDE_EXPORTS - #pragma GCC visibility pop diff --git a/packages/gcc-linaro/7.1-2017.08/0018-crystax.patch b/packages/gcc-linaro/7.1-2017.08/0018-crystax.patch deleted file mode 100644 index 50ee371..0000000 --- a/packages/gcc-linaro/7.1-2017.08/0018-crystax.patch +++ /dev/null @@ -1,33 +0,0 @@ -commit 8a66d422721ae5999737d7825701ff22097d287b -Author: Andrew Hsieh -Date: Mon Apr 14 21:05:51 2014 -0700 - - [android] Fix ARM generates insufficient alignment for NEON vst/vld - - See d909af3e2469aad87d5c3e79b93c778fd26c03a9 - - Change-Id: Ie1de9f946f397196bb6f1623f5add86933739484 - Signed-off-by: Dmitry Moskalchuk - ---- - gcc/config/arm/arm.c | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - ---- a/gcc/config/arm/arm.c -+++ b/gcc/config/arm/arm.c -@@ -22293,9 +22293,13 @@ - memsize = MEM_SIZE (x); - - /* 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; diff --git a/packages/gcc-linaro/7.1-2017.08/0019-crystax.patch b/packages/gcc-linaro/7.1-2017.08/0019-crystax.patch deleted file mode 100644 index 8c21a1c..0000000 --- a/packages/gcc-linaro/7.1-2017.08/0019-crystax.patch +++ /dev/null @@ -1,23 +0,0 @@ -commit 89d27bc45ee7325dcfff6748da0f8b9c1dc1f234 -Author: Dmitry Moskalchuk -Date: Sat Aug 22 09:55:55 2015 +0300 - - [android][i386] Remove throw() declaration from posix_memalign() proto - - Signed-off-by: Dmitry Moskalchuk - ---- - gcc/config/i386/pmm_malloc.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/gcc/config/i386/pmm_malloc.h -+++ b/gcc/config/i386/pmm_malloc.h -@@ -31,7 +31,7 @@ - #ifndef __cplusplus - extern int posix_memalign (void **, size_t, size_t); - #else --extern "C" int posix_memalign (void **, size_t, size_t) throw (); -+extern "C" int posix_memalign (void **, size_t, size_t); - #endif - - static __inline void * diff --git a/packages/gcc-linaro/7.1-2017.08/0020-crystax.patch b/packages/gcc-linaro/7.1-2017.08/0020-crystax.patch deleted file mode 100644 index ccb81fd..0000000 --- a/packages/gcc-linaro/7.1-2017.08/0020-crystax.patch +++ /dev/null @@ -1,34 +0,0 @@ -commit 9ae82f7cfc1073820092dd9f957559667e77db0d -Author: Dmitry Moskalchuk -Date: Tue Aug 25 09:36:42 2015 +0300 - - [android] Explicitly make _Unwind_Resume visible for arm64/mips64 - - Signed-off-by: Dmitry Moskalchuk - ---- - gcc/config/aarch64/aarch64-linux-android.h | 4 ++++ - gcc/config/mips/linux-common.h | 4 ++++ - 2 files changed, 8 insertions(+) - ---- a/gcc/config/aarch64/aarch64-linux-android.h -+++ b/gcc/config/aarch64/aarch64-linux-android.h -@@ -56,4 +56,8 @@ - #define ENDFILE_SPEC \ - LINUX_OR_ANDROID_LD (GNU_USER_TARGET_ENDFILE_SPEC, ANDROID_ENDFILE_SPEC) - -+#ifdef IN_LIBGCC2 -+#define LIBGCC2_UNWIND_ATTRIBUTE __attribute__((visibility("default"))) -+#endif -+ - #endif /* GCC_AARCH64_LINUX_ANDROID_H */ ---- a/gcc/config/mips/linux-common.h -+++ b/gcc/config/mips/linux-common.h -@@ -62,3 +62,7 @@ - - /* The default value isn't sufficient in 64-bit mode. */ - #define STACK_CHECK_PROTECT (TARGET_64BIT ? 16 * 1024 : 12 * 1024) -+ -+#ifdef IN_LIBGCC2 -+#define LIBGCC2_UNWIND_ATTRIBUTE __attribute__((visibility("default"))) -+#endif diff --git a/packages/gcc-linaro/7.1-2017.08/chksum b/packages/gcc-linaro/7.1-2017.08/chksum deleted file mode 100644 index 6fd3799..0000000 --- a/packages/gcc-linaro/7.1-2017.08/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 gcc-linaro-7.1-2017.08.tar.xz c49125c2784f271690878aa87905e0a2 -sha1 gcc-linaro-7.1-2017.08.tar.xz 7839cf56535a57c99b7c24c5870f4b537f8344ae -sha256 gcc-linaro-7.1-2017.08.tar.xz b755abedd53373fecb0ca64cfe4c939fad82a7129942fcc89b76ad15cdce51ee -sha512 gcc-linaro-7.1-2017.08.tar.xz 88aa8f71cd6c88c6c573a8fd535cc4cbe060b1c6dc486147be718c87e7887f430253b49acc5fdd96b235fc74adb057369810b215406ec1f34448bd168ecda8d1 diff --git a/packages/gcc-linaro/7.1-2017.08/version.desc b/packages/gcc-linaro/7.1-2017.08/version.desc deleted file mode 100644 index e69de29..0000000 diff --git a/packages/gcc-linaro/7.2-2017.11/0000-libtool-leave-framework-alone.patch b/packages/gcc-linaro/7.2-2017.11/0000-libtool-leave-framework-alone.patch new file mode 100644 index 0000000..1a86e41 --- /dev/null +++ b/packages/gcc-linaro/7.2-2017.11/0000-libtool-leave-framework-alone.patch @@ -0,0 +1,18 @@ +--- + libtool-ldflags | 5 +++++ + 1 file changed, 5 insertions(+) + +--- a/libtool-ldflags ++++ b/libtool-ldflags +@@ -36,6 +36,11 @@ + for arg + do + case $arg in ++ -framework) ++ # libtool handles this option. It should not be prefixed with ++ # -Xcompiler, as that would split it from the argument that ++ # follows. ++ ;; + -f*|--*|-static-lib*|-shared-lib*|-B*) + # Libtool does not ascribe any special meaning options + # that begin with -f or with a double-dash. So, it will diff --git a/packages/gcc-linaro/7.2-2017.11/0001-uclibc-conf.patch b/packages/gcc-linaro/7.2-2017.11/0001-uclibc-conf.patch new file mode 100644 index 0000000..aef750a --- /dev/null +++ b/packages/gcc-linaro/7.2-2017.11/0001-uclibc-conf.patch @@ -0,0 +1,17 @@ +--- + contrib/regression/objs-gcc.sh | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/contrib/regression/objs-gcc.sh ++++ b/contrib/regression/objs-gcc.sh +@@ -106,6 +106,10 @@ + then + make all-gdb all-dejagnu all-ld || exit 1 + make install-gdb install-dejagnu install-ld || exit 1 ++elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ] ++ then ++ make all-gdb all-dejagnu all-ld || exit 1 ++ make install-gdb install-dejagnu install-ld || exit 1 + elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then + make bootstrap || exit 1 + make install || exit 1 diff --git a/packages/gcc-linaro/7.2-2017.11/0002-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch b/packages/gcc-linaro/7.2-2017.11/0002-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch new file mode 100644 index 0000000..f5a82fa --- /dev/null +++ b/packages/gcc-linaro/7.2-2017.11/0002-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch @@ -0,0 +1,163 @@ +--- + config/gcc-plugin.m4 | 18 +++++++++++++----- + gcc/configure | 22 +++++++++++++++------- + libcc1/configure | 22 +++++++++++++++------- + 3 files changed, 43 insertions(+), 19 deletions(-) + +--- a/config/gcc-plugin.m4 ++++ b/config/gcc-plugin.m4 +@@ -20,6 +20,9 @@ + + pluginlibs= + ++ PICFLAG="-fPIC" ++ UNDEFINEDPREAMBLE="extern int X;" ++ UNDEFINEDCODE="return X == 0;" + case "${host}" in + *-*-darwin*) + if test x$build = x$host; then +@@ -30,6 +33,11 @@ + export_sym_check= + fi + ;; ++ *-*-mingw*|*-*-cygwin*|*-*-msys*) ++ PICFLAG="" ++ UNDEFINEDPREAMBLE="" ++ UNDEFINEDCODE="" ++ ;; + *) + if test x$build = x$host; then + export_sym_check="objdump${exeext} -T" +@@ -81,17 +89,17 @@ + case "${host}" in + *-*-darwin*) + CFLAGS=`echo $CFLAGS | sed s/-mdynamic-no-pic//g` +- CFLAGS="$CFLAGS -fPIC" ++ CFLAGS="$CFLAGS ${PICFLAG}" + LDFLAGS="$LDFLAGS -shared -undefined dynamic_lookup" + ;; + *) +- CFLAGS="$CFLAGS -fPIC" +- LDFLAGS="$LDFLAGS -fPIC -shared" ++ CFLAGS="$CFLAGS ${PICFLAG}" ++ LDFLAGS="$LDFLAGS ${PICFLAG} -shared" + ;; + esac +- AC_MSG_CHECKING([for -fPIC -shared]) ++ AC_MSG_CHECKING([for ${PICFLAG} -shared]) + AC_TRY_LINK( +- [extern int X;],[return X == 0;], ++ [${UNDEFINEDPREAMBLE}],[${UNDEFINEDCODE}], + [AC_MSG_RESULT([yes]); have_pic_shared=yes], + [AC_MSG_RESULT([no]); have_pic_shared=no]) + if test x"$have_pic_shared" != x"yes" -o x"$ac_cv_search_dlopen" = x"no"; then +--- a/gcc/configure ++++ b/gcc/configure +@@ -29479,6 +29479,9 @@ + + pluginlibs= + ++ PICFLAG="-fPIC" ++ UNDEFINEDPREAMBLE="extern int X;" ++ UNDEFINEDCODE="return X == 0;" + case "${host}" in + *-*-darwin*) + if test x$build = x$host; then +@@ -29489,6 +29492,11 @@ + export_sym_check= + fi + ;; ++ *-*-mingw*|*-*-cygwin*|*-*-msys*) ++ PICFLAG="" ++ UNDEFINEDPREAMBLE="" ++ UNDEFINEDCODE="" ++ ;; + *) + if test x$build = x$host; then + export_sym_check="objdump${exeext} -T" +@@ -29601,23 +29609,23 @@ + case "${host}" in + *-*-darwin*) + CFLAGS=`echo $CFLAGS | sed s/-mdynamic-no-pic//g` +- CFLAGS="$CFLAGS -fPIC" ++ CFLAGS="$CFLAGS ${PICFLAG}" + LDFLAGS="$LDFLAGS -shared -undefined dynamic_lookup" + ;; + *) +- CFLAGS="$CFLAGS -fPIC" +- LDFLAGS="$LDFLAGS -fPIC -shared" ++ CFLAGS="$CFLAGS ${PICFLAG}" ++ LDFLAGS="$LDFLAGS ${PICFLAG} -shared" + ;; + esac +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -fPIC -shared" >&5 +-$as_echo_n "checking for -fPIC -shared... " >&6; } ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${PICFLAG} -shared" >&5 ++$as_echo_n "checking for ${PICFLAG} -shared... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ +-extern int X; ++${UNDEFINEDPREAMBLE} + int + main () + { +-return X == 0; ++${UNDEFINEDCODE} + ; + return 0; + } +--- a/libcc1/configure ++++ b/libcc1/configure +@@ -14553,6 +14553,9 @@ + + pluginlibs= + ++ PICFLAG="-fPIC" ++ UNDEFINEDPREAMBLE="extern int X;" ++ UNDEFINEDCODE="return X == 0;" + case "${host}" in + *-*-darwin*) + if test x$build = x$host; then +@@ -14563,6 +14566,11 @@ + export_sym_check= + fi + ;; ++ *-*-mingw*|*-*-cygwin*|*-*-msys*) ++ PICFLAG="" ++ UNDEFINEDPREAMBLE="" ++ UNDEFINEDCODE="" ++ ;; + *) + if test x$build = x$host; then + export_sym_check="objdump${exeext} -T" +@@ -14675,23 +14683,23 @@ + case "${host}" in + *-*-darwin*) + CFLAGS=`echo $CFLAGS | sed s/-mdynamic-no-pic//g` +- CFLAGS="$CFLAGS -fPIC" ++ CFLAGS="$CFLAGS ${PICFLAG}" + LDFLAGS="$LDFLAGS -shared -undefined dynamic_lookup" + ;; + *) +- CFLAGS="$CFLAGS -fPIC" +- LDFLAGS="$LDFLAGS -fPIC -shared" ++ CFLAGS="$CFLAGS ${PICFLAG}" ++ LDFLAGS="$LDFLAGS ${PICFLAG} -shared" + ;; + esac +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -fPIC -shared" >&5 +-$as_echo_n "checking for -fPIC -shared... " >&6; } ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${PICFLAG} -shared" >&5 ++$as_echo_n "checking for ${PICFLAG} -shared... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ +-extern int X; ++${UNDEFINEDPREAMBLE} + int + main () + { +-return X == 0; ++${UNDEFINEDCODE} + ; + return 0; + } diff --git a/packages/gcc-linaro/7.2-2017.11/0003-gcc-plugin-POSIX-include-sys-select-h.patch b/packages/gcc-linaro/7.2-2017.11/0003-gcc-plugin-POSIX-include-sys-select-h.patch new file mode 100644 index 0000000..5f9a07a --- /dev/null +++ b/packages/gcc-linaro/7.2-2017.11/0003-gcc-plugin-POSIX-include-sys-select-h.patch @@ -0,0 +1,14 @@ +--- + libcc1/connection.cc | 1 + + 1 file changed, 1 insertion(+) + +--- a/libcc1/connection.cc ++++ b/libcc1/connection.cc +@@ -21,6 +21,7 @@ + #include + #include + #include ++#include + #include + #include + #include "marshall.hh" diff --git a/packages/gcc-linaro/7.2-2017.11/0004-arm-softfloat-libgcc.patch b/packages/gcc-linaro/7.2-2017.11/0004-arm-softfloat-libgcc.patch new file mode 100644 index 0000000..d980036 --- /dev/null +++ b/packages/gcc-linaro/7.2-2017.11/0004-arm-softfloat-libgcc.patch @@ -0,0 +1,31 @@ +--- + gcc/config/arm/linux-elf.h | 2 +- + libgcc/config/arm/t-linux | 7 ++++++- + 2 files changed, 7 insertions(+), 2 deletions(-) + +--- a/gcc/config/arm/linux-elf.h ++++ b/gcc/config/arm/linux-elf.h +@@ -58,7 +58,7 @@ + %{shared:-lc} \ + %{!shared:%{profile:-lc_p}%{!profile:-lc}}" + +-#define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc" ++#define LIBGCC_SPEC "-lgcc" + + #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" + +--- a/libgcc/config/arm/t-linux ++++ b/libgcc/config/arm/t-linux +@@ -1,6 +1,11 @@ + LIB1ASMSRC = arm/lib1funcs.S + LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \ +- _ctzsi2 _arm_addsubdf3 _arm_addsubsf3 ++ _ctzsi2 _arm_addsubdf3 _arm_addsubsf3 \ ++ _arm_addsubdf3 _arm_addsubsf3 \ ++ _arm_negdf2 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 \ ++ _arm_fixdfsi _arm_fixunsdfsi _arm_truncdfsf2 \ ++ _arm_negsf2 _arm_muldivsf3 _arm_cmpsf2 _arm_unordsf2 \ ++ _arm_fixsfsi _arm_fixunssfsi + + # Just for these, we omit the frame pointer since it makes such a big + # difference. diff --git a/packages/gcc-linaro/7.2-2017.11/0005-cilk-wchar.patch b/packages/gcc-linaro/7.2-2017.11/0005-cilk-wchar.patch new file mode 100644 index 0000000..d2230cd --- /dev/null +++ b/packages/gcc-linaro/7.2-2017.11/0005-cilk-wchar.patch @@ -0,0 +1,54 @@ +[PATCH] cilk: fix build without wchar + +When building against uClibc with wchar support disabled, WCHAR_MIN and +WCHAR_MAX are not defined leading to compilation errors. + +Fix it by only including the wchar code if available. + +Signed-off-by: Peter Korsgaard +--- + libcilkrts/include/cilk/reducer_min_max.h | 8 ++++++++ + 1 file changed, 8 insertions(+) + +--- a/libcilkrts/include/cilk/reducer_min_max.h ++++ b/libcilkrts/include/cilk/reducer_min_max.h +@@ -3289,7 +3289,9 @@ + CILK_C_REDUCER_MAX_INSTANCE(char, char, CHAR_MIN) + CILK_C_REDUCER_MAX_INSTANCE(unsigned char, uchar, 0) + CILK_C_REDUCER_MAX_INSTANCE(signed char, schar, SCHAR_MIN) ++#ifdef WCHAR_MIN + CILK_C_REDUCER_MAX_INSTANCE(wchar_t, wchar_t, WCHAR_MIN) ++#endif + CILK_C_REDUCER_MAX_INSTANCE(short, short, SHRT_MIN) + CILK_C_REDUCER_MAX_INSTANCE(unsigned short, ushort, 0) + CILK_C_REDUCER_MAX_INSTANCE(int, int, INT_MIN) +@@ -3441,7 +3443,9 @@ + CILK_C_REDUCER_MAX_INDEX_INSTANCE(char, char, CHAR_MIN) + CILK_C_REDUCER_MAX_INDEX_INSTANCE(unsigned char, uchar, 0) + CILK_C_REDUCER_MAX_INDEX_INSTANCE(signed char, schar, SCHAR_MIN) ++#ifdef WCHAR_MIN + CILK_C_REDUCER_MAX_INDEX_INSTANCE(wchar_t, wchar_t, WCHAR_MIN) ++#endif + CILK_C_REDUCER_MAX_INDEX_INSTANCE(short, short, SHRT_MIN) + CILK_C_REDUCER_MAX_INDEX_INSTANCE(unsigned short, ushort, 0) + CILK_C_REDUCER_MAX_INDEX_INSTANCE(int, int, INT_MIN) +@@ -3567,7 +3571,9 @@ + CILK_C_REDUCER_MIN_INSTANCE(char, char, CHAR_MAX) + CILK_C_REDUCER_MIN_INSTANCE(unsigned char, uchar, CHAR_MAX) + CILK_C_REDUCER_MIN_INSTANCE(signed char, schar, SCHAR_MAX) ++#ifdef WCHAR_MAX + CILK_C_REDUCER_MIN_INSTANCE(wchar_t, wchar_t, WCHAR_MAX) ++#endif + CILK_C_REDUCER_MIN_INSTANCE(short, short, SHRT_MAX) + CILK_C_REDUCER_MIN_INSTANCE(unsigned short, ushort, USHRT_MAX) + CILK_C_REDUCER_MIN_INSTANCE(int, int, INT_MAX) +@@ -3719,7 +3725,9 @@ + CILK_C_REDUCER_MIN_INDEX_INSTANCE(char, char, CHAR_MAX) + CILK_C_REDUCER_MIN_INDEX_INSTANCE(unsigned char, uchar, CHAR_MAX) + CILK_C_REDUCER_MIN_INDEX_INSTANCE(signed char, schar, SCHAR_MAX) ++#ifdef WCHAR_MAX + CILK_C_REDUCER_MIN_INDEX_INSTANCE(wchar_t, wchar_t, WCHAR_MAX) ++#endif + CILK_C_REDUCER_MIN_INDEX_INSTANCE(short, short, SHRT_MAX) + CILK_C_REDUCER_MIN_INDEX_INSTANCE(unsigned short, ushort, USHRT_MAX) + CILK_C_REDUCER_MIN_INDEX_INSTANCE(int, int, INT_MAX) diff --git a/packages/gcc-linaro/7.2-2017.11/0006-fix-m68k-uclinux.patch b/packages/gcc-linaro/7.2-2017.11/0006-fix-m68k-uclinux.patch new file mode 100644 index 0000000..8b9e725 --- /dev/null +++ b/packages/gcc-linaro/7.2-2017.11/0006-fix-m68k-uclinux.patch @@ -0,0 +1,21 @@ +avoids internal compiler error while compiling linux-atomic.c +See here: +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53833 + +Signed-off-by: Waldemar Brodkorb + +--- + libgcc/config.host | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/libgcc/config.host ++++ b/libgcc/config.host +@@ -838,7 +838,7 @@ + m68k*-*-openbsd*) + ;; + m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux with uClibc +- tmake_file="$tmake_file m68k/t-floatlib m68k/t-linux" ++ tmake_file="$tmake_file m68k/t-floatlib" + md_unwind_header=m68k/linux-unwind.h + ;; + m68k-*-linux*) # Motorola m68k's running GNU/Linux diff --git a/packages/gcc-linaro/7.2-2017.11/0007-libgfortran-missing-include.patch b/packages/gcc-linaro/7.2-2017.11/0007-libgfortran-missing-include.patch new file mode 100644 index 0000000..701e7b4 --- /dev/null +++ b/packages/gcc-linaro/7.2-2017.11/0007-libgfortran-missing-include.patch @@ -0,0 +1,14 @@ +--- + libgfortran/io/close.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/libgfortran/io/close.c ++++ b/libgfortran/io/close.c +@@ -25,6 +25,7 @@ + #include "io.h" + #include "unix.h" + #include ++#include + + typedef enum + { CLOSE_DELETE, CLOSE_KEEP, CLOSE_UNSPECIFIED } diff --git a/packages/gcc-linaro/7.2-2017.11/0008-nios2-bad-multilib-default.patch b/packages/gcc-linaro/7.2-2017.11/0008-nios2-bad-multilib-default.patch new file mode 100644 index 0000000..4acc491 --- /dev/null +++ b/packages/gcc-linaro/7.2-2017.11/0008-nios2-bad-multilib-default.patch @@ -0,0 +1,31 @@ +--- + gcc/config/nios2/nios2.h | 4 ++-- + gcc/config/nios2/t-nios2 | 3 +-- + 2 files changed, 3 insertions(+), 4 deletions(-) + +--- a/gcc/config/nios2/nios2.h ++++ b/gcc/config/nios2/nios2.h +@@ -63,11 +63,11 @@ + #if TARGET_ENDIAN_DEFAULT == 0 + # define ASM_SPEC "%{!meb:-EL} %{meb:-EB} %{march=*:-march=%*}" + # define LINK_SPEC_ENDIAN "%{!meb:-EL} %{meb:-EB}" +-# define MULTILIB_DEFAULTS { "EL" } ++# define MULTILIB_DEFAULTS { "mel" } + #else + # define ASM_SPEC "%{!mel:-EB} %{mel:-EL} %{march=*:-march=%*}" + # define LINK_SPEC_ENDIAN "%{!mel:-EB} %{mel:-EL}" +-# define MULTILIB_DEFAULTS { "EB" } ++# define MULTILIB_DEFAULTS { "meb" } + #endif + + #define LINK_SPEC LINK_SPEC_ENDIAN \ +--- a/gcc/config/nios2/t-nios2 ++++ b/gcc/config/nios2/t-nios2 +@@ -22,6 +22,5 @@ + # MULTILIB_DIRNAMES = nomul mulx fpu-60-1 fpu-60-2 + # MULTILIB_EXCEPTIONS = + +-# MULTILIB_OPTIONS += EL/EB ++# MULTILIB_OPTIONS += mel/meb + # MULTILIB_DIRNAMES += le be +-# MULTILIB_MATCHES += EL=mel EB=meb diff --git a/packages/gcc-linaro/7.2-2017.11/0009-libgcc-disable-split-stack-nothreads.patch b/packages/gcc-linaro/7.2-2017.11/0009-libgcc-disable-split-stack-nothreads.patch new file mode 100644 index 0000000..df91a9f --- /dev/null +++ b/packages/gcc-linaro/7.2-2017.11/0009-libgcc-disable-split-stack-nothreads.patch @@ -0,0 +1,17 @@ +disable split-stack for non-thread builds + +Signed-off-by: Waldemar Brodkorb + +--- + libgcc/config/t-stack | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/libgcc/config/t-stack ++++ b/libgcc/config/t-stack +@@ -1,4 +1,6 @@ + # Makefile fragment to provide generic support for -fsplit-stack. + # This should be used in config.host for any host which supports + # -fsplit-stack. ++ifeq ($(enable_threads),yes) + LIB2ADD_ST += $(srcdir)/generic-morestack.c $(srcdir)/generic-morestack-thread.c ++endif diff --git a/packages/gcc-linaro/7.2-2017.11/0010-bionic-ndk.patch b/packages/gcc-linaro/7.2-2017.11/0010-bionic-ndk.patch new file mode 100644 index 0000000..474dd8c --- /dev/null +++ b/packages/gcc-linaro/7.2-2017.11/0010-bionic-ndk.patch @@ -0,0 +1,60 @@ +commit d38d37bdfe24b7ce1bdcb55642fb6b904718e68f +Author: Howard Chu +Date: Tue Apr 25 19:02:18 2017 -0700 + + Fix ctype for newer NDK headers + +--- + libstdc++-v3/config/os/bionic/ctype_base.h | 34 +++++++++++++++++++---------- + 1 file changed, 23 insertions(+), 11 deletions(-) + +--- a/libstdc++-v3/config/os/bionic/ctype_base.h ++++ b/libstdc++-v3/config/os/bionic/ctype_base.h +@@ -28,6 +28,18 @@ + + // Information as gleaned from /usr/include/ctype.h + ++// _CTYPE prefix was added in NDK r14 unified headers ++#ifndef _CTYPE_U ++#define _CTYPE_U _U ++#define _CTYPE_L _L ++#define _CTYPE_D _N ++#define _CTYPE_S _S ++#define _CTYPE_P _P ++#define _CTYPE_C _C ++#define _CTYPE_X _X ++#define _CTYPE_B _B ++#endif ++ + namespace std _GLIBCXX_VISIBILITY(default) + { + _GLIBCXX_BEGIN_NAMESPACE_VERSION +@@ -41,17 +53,17 @@ + // NB: Offsets into ctype::_M_table force a particular size + // on the mask type. Because of this, we don't use an enum. + typedef char mask; +- static const mask upper = _U; +- static const mask lower = _L; +- static const mask alpha = _U | _L; +- static const mask digit = _N; +- static const mask xdigit = _X | _N; +- static const mask space = _S; +- static const mask print = _P | _U | _L | _N | _B; +- static const mask graph = _P | _U | _L | _N; +- static const mask cntrl = _C; +- static const mask punct = _P; +- static const mask alnum = _U | _L | _N; ++ static const mask upper = _CTYPE_U; ++ static const mask lower = _CTYPE_L; ++ static const mask alpha = _CTYPE_U | _CTYPE_L; ++ static const mask digit = _CTYPE_D; ++ static const mask xdigit = _CTYPE_X | _CTYPE_D; ++ static const mask space = _CTYPE_S; ++ static const mask print = _CTYPE_P | _CTYPE_U | _CTYPE_L | _CTYPE_D | _CTYPE_B; ++ static const mask graph = _CTYPE_P | _CTYPE_U | _CTYPE_L | _CTYPE_D; ++ static const mask cntrl = _CTYPE_C; ++ static const mask punct = _CTYPE_P; ++ static const mask alnum = _CTYPE_U | _CTYPE_L | _CTYPE_D; + #if __cplusplus >= 201103L + static const mask blank = space; + #endif diff --git a/packages/gcc-linaro/7.2-2017.11/0011-bionic-errno.patch b/packages/gcc-linaro/7.2-2017.11/0011-bionic-errno.patch new file mode 100644 index 0000000..0a1a632 --- /dev/null +++ b/packages/gcc-linaro/7.2-2017.11/0011-bionic-errno.patch @@ -0,0 +1,21 @@ +commit 6cd4ad106ef87a3c58b0c3478e78409b47000de0 +Author: Howard Chu +Date: Tue Apr 25 20:17:03 2017 -0700 + + Fix, errno is volatile int + +--- + libstdc++-v3/src/filesystem/dir.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/libstdc++-v3/src/filesystem/dir.cc ++++ b/libstdc++-v3/src/filesystem/dir.cc +@@ -146,7 +146,7 @@ + + int err = std::exchange(errno, 0); + const auto entp = readdir(dirp); +- std::swap(errno, err); ++ std::swap((int&)errno, err); + + if (entp) + { diff --git a/packages/gcc-linaro/7.2-2017.11/0012-crystax.patch b/packages/gcc-linaro/7.2-2017.11/0012-crystax.patch new file mode 100644 index 0000000..753fca2 --- /dev/null +++ b/packages/gcc-linaro/7.2-2017.11/0012-crystax.patch @@ -0,0 +1,529 @@ +commit 080803512c8f6f87c2f1f711170d54033144d628 +Author: Dmitry Moskalchuk +Date: Wed Jul 29 11:28:29 2015 +0300 + + [android] Apply Android-related modifications + + Signed-off-by: Dmitry Moskalchuk + +[Edited: keep libstdc++, drop libcrystax-related modifications] +--- + gcc/config.gcc | 17 +++++++- + gcc/config/aarch64/aarch64-linux-android.h | 59 +++++++++++++++++++++++++++++ + gcc/config/aarch64/aarch64-linux.h | 9 +++- + gcc/config/arm/arm.h | 3 - + gcc/config/arm/arm.md | 2 + gcc/config/arm/arm.opt | 4 + + gcc/config/arm/elf.h | 9 ++-- + gcc/config/arm/linux-eabi.h | 7 ++- + gcc/config/i386/gnu-user.h | 7 ++- + gcc/config/i386/gnu-user64.h | 5 ++ + gcc/config/i386/linux-common.h | 8 +++ + gcc/config/linux-android.h | 13 +++--- + gcc/config/mips/android.h | 49 ++++++++++++++++++++++++ + gcc/config/mips/gnu-user.h | 6 +- + gcc/config/mips/linux-common.h | 2 + gcc/config/mips/t-linux-android | 3 + + gcc/config/mips/t-linux-android64 | 4 + + libgcc/gthr-posix.h | 13 ++++++ + libstdc++-v3/configure | 12 +++++ + libstdc++-v3/include/bits/locale_facets.h | 18 +++++++- + libstdc++-v3/libsupc++/guard.cc | 5 ++ + 21 files changed, 235 insertions(+), 20 deletions(-) + +--- a/gcc/config.gcc ++++ b/gcc/config.gcc +@@ -963,13 +963,17 @@ + tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-freebsd" + ;; + aarch64*-*-linux*) +- tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h" ++ tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h" + tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-linux.h" ++ extra_options="${extra_options} linux-android.opt" + tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-linux" + case $target in + aarch64_be-*) + tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1" + ;; ++ aarch64*-*-linux-android*) ++ tm_file="${tm_file} aarch64/aarch64-linux-android.h" ++ ;; + esac + aarch64_multilibs="${with_multilib_list}" + if test "$aarch64_multilibs" = "default"; then +@@ -2084,6 +2088,17 @@ + tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/linux.h mips/linux-common.h" + extra_options="${extra_options} linux-android.opt" + case ${target} in ++ mips64*android*) ++ default_mips_arch=mips64r6 ++ default_mips_abi=64 ++ tm_file="${tm_file} mips/android.h" ++ tmake_file="${tmake_file} mips/t-linux-android64" ++ ;; ++ mips*android*) ++ default_mips_arch=mips32 ++ tm_file="${tm_file} mips/android.h" ++ tmake_file="$tmake_file mips/t-linux-android" ++ ;; + mipsisa32r6*) + default_mips_arch=mips32r6 + ;; +--- /dev/null ++++ b/gcc/config/aarch64/aarch64-linux-android.h +@@ -0,0 +1,59 @@ ++/* Machine description for AArch64 architecture. ++ Copyright (C) 2014 Free Software Foundation, Inc. ++ ++ This file is part of GCC. ++ ++ GCC is free software; you can redistribute it and/or modify it ++ under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 3, or (at your option) ++ any later version. ++ ++ GCC is distributed in the hope that it will be useful, but ++ WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with GCC; see the file COPYING3. If not see ++ . */ ++ ++#ifndef GCC_AARCH64_LINUX_ANDROID_H ++#define GCC_AARCH64_LINUX_ANDROID_H ++ ++ ++#undef TARGET_OS_CPP_BUILTINS ++#define TARGET_OS_CPP_BUILTINS() \ ++ do \ ++ { \ ++ GNU_USER_TARGET_OS_CPP_BUILTINS(); \ ++ ANDROID_TARGET_OS_CPP_BUILTINS(); \ ++ } \ ++ while (0) ++ ++#undef LINK_SPEC ++#define LINK_SPEC \ ++ LINUX_OR_ANDROID_LD (LINUX_TARGET_LINK_SPEC, \ ++ LINUX_TARGET_LINK_SPEC " " ANDROID_LINK_SPEC) ++ ++#undef CC1_SPEC ++#define CC1_SPEC \ ++ LINUX_OR_ANDROID_CC (GNU_USER_TARGET_CC1_SPEC, \ ++ GNU_USER_TARGET_CC1_SPEC " " ANDROID_CC1_SPEC("-fpic")) ++ ++#define CC1PLUS_SPEC \ ++ LINUX_OR_ANDROID_CC ("", ANDROID_CC1PLUS_SPEC) ++ ++#undef LIB_SPEC ++#define LIB_SPEC \ ++ LINUX_OR_ANDROID_LD (GNU_USER_TARGET_LIB_SPEC, \ ++ GNU_USER_TARGET_NO_PTHREADS_LIB_SPEC " " ANDROID_LIB_SPEC) ++ ++#undef STARTFILE_SPEC ++#define STARTFILE_SPEC \ ++ LINUX_OR_ANDROID_LD (GNU_USER_TARGET_STARTFILE_SPEC, ANDROID_STARTFILE_SPEC) ++ ++#undef ENDFILE_SPEC ++#define ENDFILE_SPEC \ ++ LINUX_OR_ANDROID_LD (GNU_USER_TARGET_ENDFILE_SPEC, ANDROID_ENDFILE_SPEC) ++ ++#endif /* GCC_AARCH64_LINUX_ANDROID_H */ +--- a/gcc/config/aarch64/aarch64-linux.h ++++ b/gcc/config/aarch64/aarch64-linux.h +@@ -21,7 +21,14 @@ + #ifndef GCC_AARCH64_LINUX_H + #define GCC_AARCH64_LINUX_H + +-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" ++#ifndef RUNTIME_ROOT_PREFIX ++#define RUNTIME_ROOT_PREFIX "" ++#endif ++#define GLIBC_DYNAMIC_LINKER RUNTIME_ROOT_PREFIX "/lib/ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" ++#ifdef BIONIC_DYNAMIC_LINKER ++#undef BIONIC_DYNAMIC_LINKER ++#endif ++#define BIONIC_DYNAMIC_LINKER RUNTIME_ROOT_PREFIX "/system/bin/linker64" + + #undef MUSL_DYNAMIC_LINKER + #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" +--- a/gcc/config/arm/arm.h ++++ b/gcc/config/arm/arm.h +@@ -1878,10 +1878,11 @@ + + #define CASE_VECTOR_PC_RELATIVE (TARGET_THUMB2 \ + || (TARGET_THUMB1 \ ++ && !inline_thumb1_jump_table \ + && (optimize_size || flag_pic))) + + #define CASE_VECTOR_SHORTEN_MODE(min, max, body) \ +- (TARGET_THUMB1 \ ++ (TARGET_THUMB1 && !inline_thumb1_jump_table \ + ? (min >= 0 && max < 512 \ + ? (ADDR_DIFF_VEC_FLAGS (body).offset_unsigned = 1, QImode) \ + : min >= -256 && max < 256 \ +--- a/gcc/config/arm/arm.md ++++ b/gcc/config/arm/arm.md +@@ -8741,7 +8741,7 @@ + (match_operand:SI 2 "const_int_operand" "") ; total range + (match_operand:SI 3 "" "") ; table label + (match_operand:SI 4 "" "")] ; Out of range label +- "(TARGET_32BIT || optimize_size || flag_pic) && !target_pure_code" ++ "(TARGET_32BIT || ((optimize_size || flag_pic) && !inline_thumb1_jump_table)) && !target_pure_code" + " + { + enum insn_code code; +--- a/gcc/config/arm/arm.opt ++++ b/gcc/config/arm/arm.opt +@@ -193,6 +193,10 @@ + Target Report Mask(INTERWORK) + Support calls between Thumb and ARM instruction sets. + ++minline-thumb1-jumptable ++Target Report Var(inline_thumb1_jump_table) ++Inline Thumb1 Jump table code ++ + mtls-dialect= + Target RejectNegative Joined Enum(tls_type) Var(target_tls_dialect) Init(TLS_GNU) + Specify thread local storage scheme. +--- a/gcc/config/arm/elf.h ++++ b/gcc/config/arm/elf.h +@@ -56,8 +56,7 @@ + #undef SUBSUBTARGET_EXTRA_SPECS + #define SUBSUBTARGET_EXTRA_SPECS + +-#ifndef ASM_SPEC +-#define ASM_SPEC "\ ++#define DEFAULT_ASM_SPEC "\ + %{mbig-endian:-EB} \ + %{mlittle-endian:-EL} \ + %(asm_cpu_spec) \ +@@ -66,6 +65,9 @@ + %{mthumb-interwork:-mthumb-interwork} \ + %{mfloat-abi=*} %{mfpu=*} \ + %(subtarget_extra_asm_spec)" ++ ++#ifndef ASM_SPEC ++#define ASM_SPEC DEFAULT_ASM_SPEC + #endif + + /* The ARM uses @ are a comment character so we need to redefine +@@ -95,7 +97,8 @@ + the code more efficient, but for Thumb-1 it's better to put them out of + band unless we are generating compressed tables. */ + #define JUMP_TABLES_IN_TEXT_SECTION \ +- ((TARGET_32BIT || (TARGET_THUMB && (optimize_size || flag_pic))) \ ++ ((TARGET_32BIT || (TARGET_THUMB && !inline_thumb1_jump_table \ ++ && (optimize_size || flag_pic))) \ + && !target_pure_code) + + #ifndef LINK_SPEC +--- a/gcc/config/arm/linux-eabi.h ++++ b/gcc/config/arm/linux-eabi.h +@@ -102,11 +102,16 @@ + #define CC1_SPEC \ + LINUX_OR_ANDROID_CC (GNU_USER_TARGET_CC1_SPEC " " ASAN_CC1_SPEC, \ + GNU_USER_TARGET_CC1_SPEC " " ASAN_CC1_SPEC " " \ +- ANDROID_CC1_SPEC) ++ ANDROID_CC1_SPEC("-fpic")) + + #define CC1PLUS_SPEC \ + LINUX_OR_ANDROID_CC ("", ANDROID_CC1PLUS_SPEC) + ++#undef ASM_SPEC ++#define ASM_SPEC \ ++ LINUX_OR_ANDROID_CC (DEFAULT_ASM_SPEC, \ ++ DEFAULT_ASM_SPEC " " ANDROID_ASM_SPEC) ++ + #undef LIB_SPEC + #define LIB_SPEC \ + LINUX_OR_ANDROID_LD (GNU_USER_TARGET_LIB_SPEC, \ +--- a/gcc/config/i386/gnu-user.h ++++ b/gcc/config/i386/gnu-user.h +@@ -65,9 +65,14 @@ + When the -shared link option is used a final link is not being + done. */ + ++#undef ANDROID_TARGET_CC1_SPEC ++#define ANDROID_TARGET_CC1_SPEC \ ++ " -mssse3 -fno-short-enums " \ ++ + #undef ASM_SPEC + #define ASM_SPEC \ +- "--32 %{!mno-sse2avx:%{mavx:-msse2avx}} %{msse2avx:%{!mavx:-msse2avx}}" ++ "--32 %{!mno-sse2avx:%{mavx:-msse2avx}} %{msse2avx:%{!mavx:-msse2avx}} " \ ++ LINUX_OR_ANDROID_CC ("", ANDROID_ASM_SPEC) + + #undef SUBTARGET_EXTRA_SPECS + #define SUBTARGET_EXTRA_SPECS \ +--- a/gcc/config/i386/gnu-user64.h ++++ b/gcc/config/i386/gnu-user64.h +@@ -46,6 +46,11 @@ + #define SPEC_X32 "mx32" + #endif + ++#undef ANDROID_TARGET_CC1_SPEC ++#define ANDROID_TARGET_CC1_SPEC \ ++ "%{m32:-mssse3 -fno-short-enums}" \ ++ "%{!m32:-msse4.2 -mpopcnt}" ++ + #undef ASM_SPEC + #define ASM_SPEC "%{" SPEC_32 ":--32} \ + %{" SPEC_64 ":--64} \ +--- a/gcc/config/i386/linux-common.h ++++ b/gcc/config/i386/linux-common.h +@@ -30,7 +30,13 @@ + #undef CC1_SPEC + #define CC1_SPEC \ + LINUX_OR_ANDROID_CC (GNU_USER_TARGET_CC1_SPEC, \ +- GNU_USER_TARGET_CC1_SPEC " " ANDROID_CC1_SPEC) ++ GNU_USER_TARGET_CC1_SPEC \ ++ ANDROID_TARGET_CC1_SPEC \ ++ " " \ ++ ANDROID_CC1_SPEC("-fPIC")) ++ ++#define CC1PLUS_SPEC \ ++ LINUX_OR_ANDROID_CC ("", ANDROID_CC1PLUS_SPEC) + + #undef LINK_SPEC + #define LINK_SPEC \ +--- a/gcc/config/linux-android.h ++++ b/gcc/config/linux-android.h +@@ -38,15 +38,18 @@ + "%{" NOANDROID "|tno-android-ld:" LINUX_SPEC ";:" ANDROID_SPEC "}" + + #define ANDROID_LINK_SPEC \ +- "%{shared: -Bsymbolic}" ++ "%{shared: -Bsymbolic} -z noexecstack -z relro -z now" + +-#define ANDROID_CC1_SPEC \ ++#define ANDROID_CC1_SPEC(ANDROID_PIC_DEFAULT) \ + "%{!mglibc:%{!muclibc:%{!mbionic: -mbionic}}} " \ +- "%{!fno-pic:%{!fno-PIC:%{!fpic:%{!fPIC: -fPIC}}}}" ++ "%{!fno-pic:%{!fno-PIC:%{!fpic:%{!fPIC: " ANDROID_PIC_DEFAULT "}}}}" + + #define ANDROID_CC1PLUS_SPEC \ +- "%{!fexceptions:%{!fno-exceptions: -fno-exceptions}} " \ +- "%{!frtti:%{!fno-rtti: -fno-rtti}}" ++ "%{!fexceptions:%{!fno-exceptions: -fexceptions}} " \ ++ "%{!frtti:%{!fno-rtti: -frtti}}" ++ ++#define ANDROID_ASM_SPEC \ ++ "--noexecstack" + + #define ANDROID_LIB_SPEC \ + "%{!static: -ldl}" +--- /dev/null ++++ b/gcc/config/mips/android.h +@@ -0,0 +1,49 @@ ++/* Target macros for mips*-*android* targets. ++ Copyright (C) 2014 Free Software Foundation, Inc. ++ ++This file is part of GCC. ++ ++GCC is free software; you can redistribute it and/or modify ++it under the terms of the GNU General Public License as published by ++the Free Software Foundation; either version 3, or (at your option) ++any later version. ++ ++GCC is distributed in the hope that it will be useful, ++but WITHOUT ANY WARRANTY; without even the implied warranty of ++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++GNU General Public License for more details. ++ ++You should have received a copy of the GNU General Public License ++along with GCC; see the file COPYING3. If not see ++. */ ++ ++#undef DRIVER_SELF_SPECS ++#define DRIVER_SELF_SPECS \ ++ /* Make sure a -mips option is present. This helps us to pick \ ++ the right multilib, and also makes the later specs easier \ ++ to write. */ \ ++ MIPS_ISA_LEVEL_SPEC, \ ++ \ ++ /* Infer the default float setting from -march. */ \ ++ MIPS_ARCH_FLOAT_SPEC, \ ++ \ ++ /* Infer the -msynci setting from -march if not explicitly set. */ \ ++ MIPS_ISA_SYNCI_SPEC, \ ++ \ ++ /* If no ABI option is specified, infer one from the ISA level \ ++ or -mgp setting. */ \ ++ "%{!mabi=*: %{" MIPS_32BIT_OPTION_SPEC ": -mabi=32;: -mabi=64}}", \ ++ \ ++ /* If no FP ABI option is specified, infer one from the \ ++ ABI/ISA level unless there is a conflicting option. */ \ ++ "%{!msoft-float: %{!msingle-float: %{!mfp*: %{!mmsa: %{mabi=32: %{" \ ++ MIPS_FPXX_OPTION_SPEC ": -mfpxx}}}}}}", \ ++ \ ++ /* If no odd-spreg option is specified, infer one from the ISA. */ \ ++ "%{!modd-spreg: %{mabi=32: %{mips32r6: -mno-odd-spreg}}}", \ ++ \ ++ /* Base SPECs. */ \ ++ BASE_DRIVER_SELF_SPECS, \ ++ \ ++ /* Use the standard linux specs for everything else. */ \ ++ LINUX_DRIVER_SELF_SPECS +--- a/gcc/config/mips/gnu-user.h ++++ b/gcc/config/mips/gnu-user.h +@@ -36,6 +36,7 @@ + /* The GNU C++ standard library requires this. */ \ + if (c_dialect_cxx ()) \ + builtin_define ("_GNU_SOURCE"); \ ++ ANDROID_TARGET_OS_CPP_BUILTINS(); \ + } while (0) + + #undef SUBTARGET_CPP_SPEC +@@ -71,7 +72,8 @@ + + #undef SUBTARGET_ASM_SPEC + #define SUBTARGET_ASM_SPEC \ +- "%{!mno-abicalls:%{mplt:-call_nonpic;:-KPIC}}" ++ "%{!mno-abicalls:%{mplt:-call_nonpic;:-KPIC}} " \ ++ LINUX_OR_ANDROID_CC ("", ANDROID_ASM_SPEC) + + /* The MIPS assembler has different syntax for .set. We set it to + .dummy to trap any errors. */ +@@ -120,7 +122,7 @@ + #endif + + #define LINUX_DRIVER_SELF_SPECS \ +- NO_SHARED_SPECS \ ++ LINUX_OR_ANDROID_CC(NO_SHARED_SPECS, "") \ + MARCH_MTUNE_NATIVE_SPECS, \ + /* -mplt has no effect without -mno-shared. Simplify later \ + specs handling by removing a redundant option. */ \ +--- a/gcc/config/mips/linux-common.h ++++ b/gcc/config/mips/linux-common.h +@@ -35,7 +35,7 @@ + #undef SUBTARGET_CC1_SPEC + #define SUBTARGET_CC1_SPEC \ + LINUX_OR_ANDROID_CC (GNU_USER_TARGET_CC1_SPEC, \ +- GNU_USER_TARGET_CC1_SPEC " " ANDROID_CC1_SPEC) ++ GNU_USER_TARGET_CC1_SPEC " " ANDROID_CC1_SPEC("-fpic")) + + #undef CC1PLUS_SPEC + #define CC1PLUS_SPEC \ +--- /dev/null ++++ b/gcc/config/mips/t-linux-android +@@ -0,0 +1,3 @@ ++MULTILIB_OPTIONS = mips32r2/mips32r6 ++MULTILIB_DIRNAMES = mips-r2 mips-r6 ++MULTILIB_OSDIRNAMES = ../libr2 ../libr6 +--- /dev/null ++++ b/gcc/config/mips/t-linux-android64 +@@ -0,0 +1,4 @@ ++MULTILIB_OPTIONS = mabi=32 mips32/mips32r2/mips32r6/mips64r2/mips64r6 ++MULTILIB_DIRNAMES = 32 mips-r1 mips-r2 mips-r6 mips64-r2 mips64-r6 ++MULTILIB_OSDIRNAMES = ../lib ../lib ../libr2 ../libr6 ../lib64r2 ../lib64 ++MULTILIB_REQUIRED = mabi=32/mips32 mabi=32/mips32r2 mabi=32/mips32r6 mips64r2 mips64r6 +--- a/libgcc/gthr-posix.h ++++ b/libgcc/gthr-posix.h +@@ -32,6 +32,19 @@ + #define __GTHREADS 1 + #define __GTHREADS_CXX0X 1 + ++/* The following should normally be in a different header file, ++ * but I couldn't find the right location. The point of the macro ++ * definition below is to prevent libsupc++ and libstdc++ to reference ++ * weak symbols in their static C++ constructors. Such code crashes ++ * when a shared object linked statically to these libraries is ++ * loaded on Android 2.1 (Eclair) and older platform releases, due ++ * to a dynamic linker bug. ++ */ ++#ifdef __ANDROID__ ++#undef GTHREAD_USE_WEAK ++#define GTHREAD_USE_WEAK 0 ++#endif ++ + #include + + #if ((defined(_LIBOBJC) || defined(_LIBOBJC_WEAK)) \ +--- a/libstdc++-v3/configure ++++ b/libstdc++-v3/configure +@@ -78536,6 +78536,12 @@ + /* end confdefs.h. */ + #include + int lk; ++#if !defined(SYS_gettid) ++#define SYS_gettid __NR_gettid ++#endif ++#if !defined(SYS_futex) ++#define SYS_futex __NR_futex ++#endif + int + main () + { +@@ -78594,6 +78600,12 @@ + /* end confdefs.h. */ + #include + int lk; ++#if !defined(SYS_gettid) ++#define SYS_gettid __NR_gettid ++#endif ++#if !defined(SYS_futex) ++#define SYS_futex __NR_futex ++#endif + int + main () + { +--- a/libstdc++-v3/include/bits/locale_facets.h ++++ b/libstdc++-v3/include/bits/locale_facets.h +@@ -47,6 +47,20 @@ + #include + #include + ++#if !__clang__ && __GNUC__ == 4 && __GNUC_MINOR__ == 9 && __i386__ ++// CrystaX: for some reason, x86 gcc-4.9 makes ctype::do_widen() and ++// ctype::_M_widen_init() methods working wrong if optimization enabled. ++// For ctype::do_widen(), values of passed arguments (__lo, __hi and __to) ++// are completely messed up and don't correspond to passed values. In case if ++// we disable optimization for those methods, things become correct so we apply ++// this workaround here for a time. ++// TODO: figure out what exactly wrong here - is it bug in GCC optimization ++// algorithm or smth else? ++#define __CRYSTAX_X86_DONT_OPTIMIZE __attribute__((optimize(0))) ++#else ++#define __CRYSTAX_X86_DONT_OPTIMIZE ++#endif ++ + namespace std _GLIBCXX_VISIBILITY(default) + { + _GLIBCXX_BEGIN_NAMESPACE_VERSION +@@ -1102,7 +1116,7 @@ + * @return @a __hi. + */ + virtual const char* +- do_widen(const char* __lo, const char* __hi, char_type* __to) const ++ do_widen(const char* __lo, const char* __hi, char_type* __to) const __CRYSTAX_X86_DONT_OPTIMIZE + { + __builtin_memcpy(__to, __lo, __hi - __lo); + return __hi; +@@ -1163,7 +1177,7 @@ + + private: + void _M_narrow_init() const; +- void _M_widen_init() const; ++ void _M_widen_init() const __CRYSTAX_X86_DONT_OPTIMIZE; + }; + + #ifdef _GLIBCXX_USE_WCHAR_T +--- a/libstdc++-v3/libsupc++/guard.cc ++++ b/libstdc++-v3/libsupc++/guard.cc +@@ -34,7 +34,12 @@ + #if defined(__GTHREADS) && defined(__GTHREAD_HAS_COND) \ + && (ATOMIC_INT_LOCK_FREE > 1) && defined(_GLIBCXX_HAVE_LINUX_FUTEX) + # include ++#if defined(__ANDROID__) ++# include ++# define SYS_futex __NR_futex ++#else + # include ++#endif + # include + # define _GLIBCXX_USE_FUTEX + # define _GLIBCXX_FUTEX_WAIT 0 diff --git a/packages/gcc-linaro/7.2-2017.11/0013-crystax.patch b/packages/gcc-linaro/7.2-2017.11/0013-crystax.patch new file mode 100644 index 0000000..f1f9eb1 --- /dev/null +++ b/packages/gcc-linaro/7.2-2017.11/0013-crystax.patch @@ -0,0 +1,27 @@ +commit 9f057b62caafe08c968103d39b5df82486a175c2 +Author: Dmitry Moskalchuk +Date: Thu Aug 13 16:11:54 2015 +0300 + + [android] Add additional multilib option: mfloat-abi=hard + + Signed-off-by: Dmitry Moskalchuk + +--- + gcc/config/arm/t-linux-androideabi | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +--- a/gcc/config/arm/t-linux-androideabi ++++ b/gcc/config/arm/t-linux-androideabi +@@ -1,8 +1,9 @@ +-MULTILIB_OPTIONS = march=armv7-a mthumb +-MULTILIB_DIRNAMES = armv7-a thumb +-MULTILIB_EXCEPTIONS = ++MULTILIB_OPTIONS = march=armv7-a mthumb mfloat-abi=hard ++MULTILIB_DIRNAMES = armv7-a thumb hard ++MULTILIB_EXCEPTIONS = mfloat-abi=hard* mthumb/mfloat-abi=hard* + MULTILIB_MATCHES = + MULTILIB_OSDIRNAMES = ++MULTILIB_EXTRA_OPTS = Wl,--no-warn-mismatch + + # The "special" multilib can be used to build native applications for Android, + # as opposed to native shared libraries that are then called via JNI. diff --git a/packages/gcc-linaro/7.2-2017.11/0014-crystax.patch b/packages/gcc-linaro/7.2-2017.11/0014-crystax.patch new file mode 100644 index 0000000..4505294 --- /dev/null +++ b/packages/gcc-linaro/7.2-2017.11/0014-crystax.patch @@ -0,0 +1,293 @@ +commit 44a81ebb7698dac41ffa7acd5e0cc1578e5ab1fd +Author: H.J. Lu +Date: Mon Apr 14 15:59:47 2014 -0700 + + [android] Always enable --eh-frame-hdr for static executable + + See 5e6cdf76af295c9a39b695ca228cff675e8ff4ae and + 23e3137ee2897464b051599b85a09f130d3ad05d + + Change-Id: Ibda473188e5a10f2a0592f2494ad00ad1f91e04b + Signed-off-by: Dmitry Moskalchuk + +--- + gcc/config.in | 6 +++++ + gcc/config/alpha/elf.h | 4 +++ + gcc/config/freebsd.h | 4 +++ + gcc/config/gnu-user.h | 4 +++ + gcc/config/openbsd.h | 4 +++ + gcc/config/rs6000/sysv4.h | 6 ++++- + gcc/config/sol2.h | 4 +++ + gcc/configure | 36 +++++++++++++++++++++++++++++++++ + gcc/configure.ac | 29 ++++++++++++++++++++++++++ + gcc/testsuite/g++.dg/eh/spec3-static.C | 25 ++++++++++++++++++++++ + libgcc/crtstuff.c | 11 ++++++---- + 11 files changed, 128 insertions(+), 5 deletions(-) + +--- a/gcc/config.in ++++ b/gcc/config.in +@@ -2180,6 +2180,12 @@ + #endif + + ++/* Define if your system supports PT_GNU_EH_FRAME for static executable. */ ++#ifndef USED_FOR_TARGET ++#undef USE_EH_FRAME_HDR_FOR_STATIC ++#endif ++ ++ + /* Define to 1 if the 'long long' type is wider than 'long' but still + efficiently supported by the host hardware. */ + #ifndef USED_FOR_TARGET +--- a/gcc/config/alpha/elf.h ++++ b/gcc/config/alpha/elf.h +@@ -168,5 +168,9 @@ + I imagine that other systems will catch up. In the meantime, it + doesn't harm to make sure that the data exists to be used later. */ + #if defined(HAVE_LD_EH_FRAME_HDR) ++#ifdef USE_EH_FRAME_HDR_FOR_STATIC ++#define LINK_EH_SPEC "--eh-frame-hdr " ++#else + #define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " + #endif ++#endif +--- a/gcc/config/freebsd.h ++++ b/gcc/config/freebsd.h +@@ -45,8 +45,12 @@ + #define LIB_SPEC FBSD_LIB_SPEC + + #if defined(HAVE_LD_EH_FRAME_HDR) ++#ifdef USE_EH_FRAME_HDR_FOR_STATIC ++#define LINK_EH_SPEC "--eh-frame-hdr " ++#else + #define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " + #endif ++#endif + + #ifdef TARGET_LIBC_PROVIDES_SSP + #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ +--- a/gcc/config/gnu-user.h ++++ b/gcc/config/gnu-user.h +@@ -132,8 +132,12 @@ + #define LIB_SPEC GNU_USER_TARGET_LIB_SPEC + + #if defined(HAVE_LD_EH_FRAME_HDR) ++#ifdef USE_EH_FRAME_HDR_FOR_STATIC ++#define LINK_EH_SPEC "--eh-frame-hdr " ++#else + #define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " + #endif ++#endif + + #undef LINK_GCC_C_SEQUENCE_SPEC + #define LINK_GCC_C_SEQUENCE_SPEC \ +--- a/gcc/config/openbsd.h ++++ b/gcc/config/openbsd.h +@@ -136,8 +136,12 @@ + #define LIB_SPEC OBSD_LIB_SPEC + + #if defined(HAVE_LD_EH_FRAME_HDR) ++#ifdef USE_EH_FRAME_HDR_FOR_STATIC ++#define LINK_EH_SPEC "--eh-frame-hdr " ++#else + #define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " + #endif ++#endif + + #undef LIB_SPEC + #define LIB_SPEC OBSD_LIB_SPEC +--- a/gcc/config/rs6000/sysv4.h ++++ b/gcc/config/rs6000/sysv4.h +@@ -815,7 +815,11 @@ + -dynamic-linker " GNU_USER_DYNAMIC_LINKER "}}" + + #if defined(HAVE_LD_EH_FRAME_HDR) +-# define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " ++# ifdef USE_EH_FRAME_HDR_FOR_STATIC ++# define LINK_EH_SPEC "--eh-frame-hdr " ++# else ++# define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " ++# endif + #endif + + #define CPP_OS_LINUX_SPEC "-D__unix__ -D__gnu_linux__ -D__linux__ \ +--- a/gcc/config/sol2.h ++++ b/gcc/config/sol2.h +@@ -367,7 +367,11 @@ + /* Solaris 11 build 135+ implements dl_iterate_phdr. GNU ld needs + --eh-frame-hdr to create the required .eh_frame_hdr sections. */ + #if defined(HAVE_LD_EH_FRAME_HDR) && defined(TARGET_DL_ITERATE_PHDR) ++#ifdef USE_EH_FRAME_HDR_FOR_STATIC ++#define LINK_EH_SPEC "--eh-frame-hdr " ++#else + #define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " ++#endif + #endif /* HAVE_LD_EH_FRAME && TARGET_DL_ITERATE_PHDR */ + #endif + +--- a/gcc/configure ++++ b/gcc/configure +@@ -939,6 +939,7 @@ + enable_fix_cortex_a53_843419 + with_glibc_version + enable_gnu_unique_object ++enable_eh_frame_hdr_for_static + enable_linker_build_id + enable_default_ssp + with_long_double_128 +@@ -1676,6 +1677,9 @@ + --enable-gnu-unique-object + enable the use of the @gnu_unique_object ELF + extension on glibc systems ++ --enable-eh-frame-hdr-for-static ++ enable linker PT_GNU_EH_FRAME support for static ++ executable + --enable-linker-build-id + compiler will always pass --build-id to linker + --enable-default-ssp enable Stack Smashing Protection as default +@@ -28051,6 +28055,38 @@ + + $as_echo "#define HAVE_LD_EH_FRAME_HDR 1" >>confdefs.h + ++ # Check whether --enable-eh-frame-hdr-for-static was given. ++if test "${enable_eh_frame_hdr_for_static+set}" = set; then : ++ enableval=$enable_eh_frame_hdr_for_static; case $enable_eh_frame_hdr_for_static in ++ yes | no) ;; ++ *) as_fn_error "'$enable_eh_frame_hdr_for_static' is an invalid ++value for --enable-eh-frame-hdr-for-static. ++Valid choices are 'yes' and 'no'." "$LINENO" 5 ;; ++ esac ++else ++ # Only support for glibc 2.3.0 or higher with AT_PHDR/AT_PHNUM from ++# Linux kernel. ++ if test x$host = x$build -a x$host = x$target && ++ ldd --version 2>&1 >/dev/null && ++ glibcver=`ldd --version 2>/dev/null | sed 's/.* //;q'`; then ++ glibcmajor=`expr "$glibcver" : "\([0-9]*\)"` ++ glibcminor=`expr "$glibcver" : "[2-9]*\.\([0-9]*\)"` ++ glibcnum=`expr $glibcmajor \* 1000 + $glibcminor` ++ if test "$glibcnum" -ge 2003 ; then ++ auvx=`LD_SHOW_AUXV=1 ldd 2>/dev/null` ++ if echo "$auvx" | grep AT_PHDR > /dev/null && ++ echo "$auvx" | grep AT_PHNUM > /dev/null; then ++ enable_eh_frame_hdr_for_static=yes ++ fi ++ fi ++ fi ++fi ++ ++ if test x$enable_eh_frame_hdr_for_static = xyes; then ++ ++$as_echo "#define USE_EH_FRAME_HDR_FOR_STATIC 1" >>confdefs.h ++ ++ fi + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_ld_eh_frame_hdr" >&5 + $as_echo "$gcc_cv_ld_eh_frame_hdr" >&6; } +--- a/gcc/configure.ac ++++ b/gcc/configure.ac +@@ -4981,6 +4981,35 @@ + if test x"$gcc_cv_ld_eh_frame_hdr" = xyes; then + AC_DEFINE(HAVE_LD_EH_FRAME_HDR, 1, + [Define if your linker supports .eh_frame_hdr.]) ++ AC_ARG_ENABLE(eh-frame-hdr-for-static, ++ [AS_HELP_STRING([--enable-eh-frame-hdr-for-static], ++ [enable linker PT_GNU_EH_FRAME support for static executable])], ++ [case $enable_eh_frame_hdr_for_static in ++ yes | no) ;; ++ *) AC_MSG_ERROR(['$enable_eh_frame_hdr_for_static' is an invalid ++value for --enable-eh-frame-hdr-for-static. ++Valid choices are 'yes' and 'no'.]) ;; ++ esac], ++# Only support for glibc 2.3.0 or higher with AT_PHDR/AT_PHNUM from ++# Linux kernel. ++ [[if test x$host = x$build -a x$host = x$target && ++ ldd --version 2>&1 >/dev/null && ++ glibcver=`ldd --version 2>/dev/null | sed 's/.* //;q'`; then ++ glibcmajor=`expr "$glibcver" : "\([0-9]*\)"` ++ glibcminor=`expr "$glibcver" : "[2-9]*\.\([0-9]*\)"` ++ glibcnum=`expr $glibcmajor \* 1000 + $glibcminor` ++ if test "$glibcnum" -ge 2003 ; then ++ auvx=`LD_SHOW_AUXV=1 ldd 2>/dev/null` ++ if echo "$auvx" | grep AT_PHDR > /dev/null && ++ echo "$auvx" | grep AT_PHNUM > /dev/null; then ++ enable_eh_frame_hdr_for_static=yes ++ fi ++ fi ++ fi]]) ++ if test x$enable_eh_frame_hdr_for_static = xyes; then ++ AC_DEFINE(USE_EH_FRAME_HDR_FOR_STATIC, 1, ++[Define if your system supports PT_GNU_EH_FRAME for static executable.]) ++ fi + fi + AC_MSG_RESULT($gcc_cv_ld_eh_frame_hdr) + +--- /dev/null ++++ b/gcc/testsuite/g++.dg/eh/spec3-static.C +@@ -0,0 +1,25 @@ ++// PR c++/4381 ++// Test that exception-specs work properly for classes with virtual bases. ++ ++// { dg-do run } ++// { dg-options "-static" } ++ ++class Base {}; ++ ++struct A : virtual public Base ++{ ++ A() {} ++}; ++ ++struct B {}; ++ ++void func() throw (B,A) ++{ ++ throw A(); ++} ++ ++int main(void) ++{ ++ try { func(); } ++ catch (A& a) { } ++} +--- a/libgcc/crtstuff.c ++++ b/libgcc/crtstuff.c +@@ -88,7 +88,8 @@ + #if defined(OBJECT_FORMAT_ELF) \ + && !defined(OBJECT_FORMAT_FLAT) \ + && defined(HAVE_LD_EH_FRAME_HDR) \ +- && !defined(inhibit_libc) && !defined(CRTSTUFFT_O) \ ++ && !defined(inhibit_libc) \ ++ && (defined(USE_EH_FRAME_HDR_FOR_STATIC) || !defined(CRTSTUFFT_O)) \ + && defined(BSD_DL_ITERATE_PHDR_AVAILABLE) + #include + # define USE_PT_GNU_EH_FRAME +@@ -97,7 +98,8 @@ + #if defined(OBJECT_FORMAT_ELF) \ + && !defined(OBJECT_FORMAT_FLAT) \ + && defined(HAVE_LD_EH_FRAME_HDR) && defined(TARGET_DL_ITERATE_PHDR) \ +- && !defined(inhibit_libc) && !defined(CRTSTUFFT_O) \ ++ && !defined(inhibit_libc) \ ++ && (defined(USE_EH_FRAME_HDR_FOR_STATIC) || !defined(CRTSTUFFT_O)) \ + && defined(__sun__) && defined(__svr4__) + #include + # define USE_PT_GNU_EH_FRAME +@@ -106,7 +108,8 @@ + #if defined(OBJECT_FORMAT_ELF) \ + && !defined(OBJECT_FORMAT_FLAT) \ + && defined(HAVE_LD_EH_FRAME_HDR) \ +- && !defined(inhibit_libc) && !defined(CRTSTUFFT_O) \ ++ && !defined(inhibit_libc) \ ++ && (defined(USE_EH_FRAME_HDR_FOR_STATIC) || !defined(CRTSTUFFT_O)) \ + && defined(__GLIBC__) && __GLIBC__ >= 2 + #include + /* uClibc pretends to be glibc 2.2 and DT_CONFIG is defined in its link.h. +@@ -121,7 +124,7 @@ + #if defined(OBJECT_FORMAT_ELF) \ + && !defined(OBJECT_FORMAT_FLAT) \ + && defined(HAVE_LD_EH_FRAME_HDR) \ +- && !defined(CRTSTUFFT_O) \ ++ && (defined(USE_EH_FRAME_HDR_FOR_STATIC) || !defined(CRTSTUFFT_O)) \ + && defined(inhibit_libc) \ + && (defined(__GLIBC__) || defined(__gnu_linux__) || defined(__GNU__)) + /* On systems using glibc, an inhibit_libc build of libgcc is only diff --git a/packages/gcc-linaro/7.2-2017.11/0015-crystax.patch b/packages/gcc-linaro/7.2-2017.11/0015-crystax.patch new file mode 100644 index 0000000..ffdf340 --- /dev/null +++ b/packages/gcc-linaro/7.2-2017.11/0015-crystax.patch @@ -0,0 +1,22 @@ +commit 778a9ef107f51544d583f110e92b75f4d9d79117 +Author: Dmitry Moskalchuk +Date: Thu Aug 20 19:11:07 2015 +0300 + + [android] Don't use PIE copyrelocs for x86/x86_64 + + Signed-off-by: Dmitry Moskalchuk + +--- + gcc/config/i386/i386.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/gcc/config/i386/i386.c ++++ b/gcc/config/i386/i386.c +@@ -15763,6 +15763,7 @@ + else if (!SYMBOL_REF_FAR_ADDR_P (op0) + && (SYMBOL_REF_LOCAL_P (op0) + || (HAVE_LD_PIE_COPYRELOC ++ && !TARGET_HAS_BIONIC + && flag_pie + && !SYMBOL_REF_WEAK (op0) + && !SYMBOL_REF_FUNCTION_P (op0))) diff --git a/packages/gcc-linaro/7.2-2017.11/0016-crystax.patch b/packages/gcc-linaro/7.2-2017.11/0016-crystax.patch new file mode 100644 index 0000000..8f2eb43 --- /dev/null +++ b/packages/gcc-linaro/7.2-2017.11/0016-crystax.patch @@ -0,0 +1,26 @@ +commit dbeae1190cabad83999f2540523f045acc1bb4ec +Author: Dmitry Moskalchuk +Date: Fri Aug 21 17:41:59 2015 +0300 + + [android] Always use gthr-posix.h instead of gthr-default.h + + Signed-off-by: Dmitry Moskalchuk + +--- + libgcc/gthr.h | 4 ++++ + 1 file changed, 4 insertions(+) + +--- 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 + + #ifndef HIDE_EXPORTS + #pragma GCC visibility pop diff --git a/packages/gcc-linaro/7.2-2017.11/0017-crystax.patch b/packages/gcc-linaro/7.2-2017.11/0017-crystax.patch new file mode 100644 index 0000000..50ee371 --- /dev/null +++ b/packages/gcc-linaro/7.2-2017.11/0017-crystax.patch @@ -0,0 +1,33 @@ +commit 8a66d422721ae5999737d7825701ff22097d287b +Author: Andrew Hsieh +Date: Mon Apr 14 21:05:51 2014 -0700 + + [android] Fix ARM generates insufficient alignment for NEON vst/vld + + See d909af3e2469aad87d5c3e79b93c778fd26c03a9 + + Change-Id: Ie1de9f946f397196bb6f1623f5add86933739484 + Signed-off-by: Dmitry Moskalchuk + +--- + gcc/config/arm/arm.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +--- a/gcc/config/arm/arm.c ++++ b/gcc/config/arm/arm.c +@@ -22293,9 +22293,13 @@ + memsize = MEM_SIZE (x); + + /* 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; diff --git a/packages/gcc-linaro/7.2-2017.11/0018-crystax.patch b/packages/gcc-linaro/7.2-2017.11/0018-crystax.patch new file mode 100644 index 0000000..8c21a1c --- /dev/null +++ b/packages/gcc-linaro/7.2-2017.11/0018-crystax.patch @@ -0,0 +1,23 @@ +commit 89d27bc45ee7325dcfff6748da0f8b9c1dc1f234 +Author: Dmitry Moskalchuk +Date: Sat Aug 22 09:55:55 2015 +0300 + + [android][i386] Remove throw() declaration from posix_memalign() proto + + Signed-off-by: Dmitry Moskalchuk + +--- + gcc/config/i386/pmm_malloc.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/gcc/config/i386/pmm_malloc.h ++++ b/gcc/config/i386/pmm_malloc.h +@@ -31,7 +31,7 @@ + #ifndef __cplusplus + extern int posix_memalign (void **, size_t, size_t); + #else +-extern "C" int posix_memalign (void **, size_t, size_t) throw (); ++extern "C" int posix_memalign (void **, size_t, size_t); + #endif + + static __inline void * diff --git a/packages/gcc-linaro/7.2-2017.11/0019-crystax.patch b/packages/gcc-linaro/7.2-2017.11/0019-crystax.patch new file mode 100644 index 0000000..ccb81fd --- /dev/null +++ b/packages/gcc-linaro/7.2-2017.11/0019-crystax.patch @@ -0,0 +1,34 @@ +commit 9ae82f7cfc1073820092dd9f957559667e77db0d +Author: Dmitry Moskalchuk +Date: Tue Aug 25 09:36:42 2015 +0300 + + [android] Explicitly make _Unwind_Resume visible for arm64/mips64 + + Signed-off-by: Dmitry Moskalchuk + +--- + gcc/config/aarch64/aarch64-linux-android.h | 4 ++++ + gcc/config/mips/linux-common.h | 4 ++++ + 2 files changed, 8 insertions(+) + +--- a/gcc/config/aarch64/aarch64-linux-android.h ++++ b/gcc/config/aarch64/aarch64-linux-android.h +@@ -56,4 +56,8 @@ + #define ENDFILE_SPEC \ + LINUX_OR_ANDROID_LD (GNU_USER_TARGET_ENDFILE_SPEC, ANDROID_ENDFILE_SPEC) + ++#ifdef IN_LIBGCC2 ++#define LIBGCC2_UNWIND_ATTRIBUTE __attribute__((visibility("default"))) ++#endif ++ + #endif /* GCC_AARCH64_LINUX_ANDROID_H */ +--- a/gcc/config/mips/linux-common.h ++++ b/gcc/config/mips/linux-common.h +@@ -62,3 +62,7 @@ + + /* The default value isn't sufficient in 64-bit mode. */ + #define STACK_CHECK_PROTECT (TARGET_64BIT ? 16 * 1024 : 12 * 1024) ++ ++#ifdef IN_LIBGCC2 ++#define LIBGCC2_UNWIND_ATTRIBUTE __attribute__((visibility("default"))) ++#endif diff --git a/packages/gcc-linaro/7.2-2017.11/chksum b/packages/gcc-linaro/7.2-2017.11/chksum new file mode 100644 index 0000000..c9e6a03 --- /dev/null +++ b/packages/gcc-linaro/7.2-2017.11/chksum @@ -0,0 +1,4 @@ +md5 gcc-linaro-7.2-2017.11.tar.xz 67f7ed9541b6117143a4b405529e984e +sha1 gcc-linaro-7.2-2017.11.tar.xz 7963644acea5208acac2f94f098c0dc90d0bfa51 +sha256 gcc-linaro-7.2-2017.11.tar.xz 7b07095df50a10789f446cec421468f10c57fe8bb6a789a73dc758acf8475cb0 +sha512 gcc-linaro-7.2-2017.11.tar.xz 9195cf66f312af286d63db1c07889b9bfed9ab44db2725c4cfb9a46cd7351961f4c5278b48a2bc35576719618ddf4239e2d84f386071fe1ca2171b76f109b564 diff --git a/packages/gcc-linaro/7.2-2017.11/version.desc b/packages/gcc-linaro/7.2-2017.11/version.desc new file mode 100644 index 0000000..e69de29 diff --git a/packages/linux/3.10.107/chksum b/packages/linux/3.10.107/chksum deleted file mode 100644 index f9d9d42..0000000 --- a/packages/linux/3.10.107/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 linux-3.10.107.tar.xz a2996cef75a0acbaae2140169d1f58c4 -sha1 linux-3.10.107.tar.xz 13aa2f185df2dd40aad8bcf3873b9db760095332 -sha256 linux-3.10.107.tar.xz 948ae756ba90b3b981fb8245789ea1426d43c351921df566dd5463171883edc3 -sha512 linux-3.10.107.tar.xz ac402b18250872f9c1a08a51244889e1781bf49b7d711df4823033168ca9f7ee54c2b81f8e8f5b84590ebf9615396e0378e7df42098c400f98a9e7d5e3c3f319 -md5 linux-3.10.107.tar.gz 131ced0c2cb1f466abab295f6d23710e -sha1 linux-3.10.107.tar.gz 3a586830e94165b8ecd64ba42b8eb580bf4458c9 -sha256 linux-3.10.107.tar.gz ed1a79a34731b2318429bb54c71b186f18bcf0692eb7bd12b19465ef1daf4658 -sha512 linux-3.10.107.tar.gz fd6a0e79905c09914cea6fb267d13857645c906d84f916225d8bdfe03906d2287588c75916f1da64a261463bd9f477ffd565abe9379533681cbf01821e1fbc8d diff --git a/packages/linux/3.10.107/version.desc b/packages/linux/3.10.107/version.desc deleted file mode 100644 index 7c0a082..0000000 --- a/packages/linux/3.10.107/version.desc +++ /dev/null @@ -1 +0,0 @@ -# Not obsolete: used by CentOS7.x, EOL 06/2024 diff --git a/packages/linux/3.10.108/chksum b/packages/linux/3.10.108/chksum new file mode 100644 index 0000000..17c7f8e --- /dev/null +++ b/packages/linux/3.10.108/chksum @@ -0,0 +1,8 @@ +md5 linux-3.10.108.tar.xz ac67018cc809b6c91bdb6be02d0c8078 +sha1 linux-3.10.108.tar.xz c12c284c63d9c9ef2713a8c11bd9413f6c7e061b +sha256 linux-3.10.108.tar.xz 3849ea8119517f605f9d53c57dd6c539af8d584c2f1d9031f4f56283af3409a5 +sha512 linux-3.10.108.tar.xz 2ed1bda124fbc0f03e7f4c4e5ddac73d15b82d24ff51f5dbb265cec7cc614b28f83923b5fc8df5e97a3244d2bbb861853f0f2a3894a0c64c5a08b489d4ae12ac +md5 linux-3.10.108.tar.gz b38e458f3a90ffa0815f2e2740bba7aa +sha1 linux-3.10.108.tar.gz 0b09e6fdc8152bea07a9d678119a23a35025d4d6 +sha256 linux-3.10.108.tar.gz aff93454b2df33a0394253c8977c6d36c7205a423af6d8d4e3e1d67dfc9e07f8 +sha512 linux-3.10.108.tar.gz 71c6f89a7620fecc8ce0f215b6aab52f6a6337b6474ae7447491a1ab4fc95eafa38e700cf667ec304220e9cbcaa669671b9ed15fe79cc679a4e4e9139b37ad8c diff --git a/packages/linux/3.10.108/version.desc b/packages/linux/3.10.108/version.desc new file mode 100644 index 0000000..7c0a082 --- /dev/null +++ b/packages/linux/3.10.108/version.desc @@ -0,0 +1 @@ +# Not obsolete: used by CentOS7.x, EOL 06/2024 diff --git a/packages/linux/3.16.49/chksum b/packages/linux/3.16.49/chksum deleted file mode 100644 index a60f559..0000000 --- a/packages/linux/3.16.49/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 linux-3.16.49.tar.xz aa4c2cb252266e7e6fa2bc5c26bf6f34 -sha1 linux-3.16.49.tar.xz 69bedd15af3b78417491e39b8e946af9a98abe81 -sha256 linux-3.16.49.tar.xz 7ab9ab2efb584b36685bae83f8005a699186ad0d70e6b659de58c89d0ec55f96 -sha512 linux-3.16.49.tar.xz 01e52d25ea8dad305c2e500be55305b9620af7da2bafae4a4788d25a57d63c5f44df30bf9daed30373c2a4ed596f6a621aad7dff3db847f6e1251fd4fa31037d -md5 linux-3.16.49.tar.gz 38c81746825f99d6562ca36d5c79b531 -sha1 linux-3.16.49.tar.gz 9561de2f07c97d50c442d303ca05114b0799c0ec -sha256 linux-3.16.49.tar.gz b29593df2015f5bb9080289d00521e20730007ec375bb32ff5c2650d56b1a621 -sha512 linux-3.16.49.tar.gz 3ba4cefbe42777520158a32b9616ceef8e8fa6a6d17de890d7df9abd5aed0063ba861cbda6851c7fd9a525156a3cd402776d570546a1f9e872a005dceac694e9 diff --git a/packages/linux/3.16.49/version.desc b/packages/linux/3.16.49/version.desc deleted file mode 100644 index e69de29..0000000 diff --git a/packages/linux/3.16.51/chksum b/packages/linux/3.16.51/chksum new file mode 100644 index 0000000..65109a1 --- /dev/null +++ b/packages/linux/3.16.51/chksum @@ -0,0 +1,8 @@ +md5 linux-3.16.51.tar.xz 54898e2006e01e9197404d040406393e +sha1 linux-3.16.51.tar.xz 19376fe22474bee9a03782515f977ac74ee524c0 +sha256 linux-3.16.51.tar.xz 45114a04b8eb2958006942c4c78a57822a9dc838b742d07437a87621b7ed8230 +sha512 linux-3.16.51.tar.xz 81e95750fee0f54309099118bd3b6b8a9af557de2807c526d74a37cb63b5c9b8167d2810d17a7577bda384bbf535e7f30a0427d29602494d367147a57c4ad8e8 +md5 linux-3.16.51.tar.gz 3e6a5fb1033b67f55909d32198b941dd +sha1 linux-3.16.51.tar.gz aa9c3eb412bb56eb7b8f33451751c825c4abd07c +sha256 linux-3.16.51.tar.gz 195caeff8de60631516531bad540c152318d7c0be09f56f333424dbbc32de122 +sha512 linux-3.16.51.tar.gz bd1d6676305eff54879c3ba46a55cace5f8a9c09d1785ba4a1141f233caed48ecca2692a13cfcc98fa88b11272beac3e2fe539af0802eaaea8b1b9bd6b338c74 diff --git a/packages/linux/3.16.51/version.desc b/packages/linux/3.16.51/version.desc new file mode 100644 index 0000000..e69de29 diff --git a/packages/linux/3.18.77/chksum b/packages/linux/3.18.77/chksum deleted file mode 100644 index 25f2853..0000000 --- a/packages/linux/3.18.77/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 linux-3.18.77.tar.xz 2a10b869a649dff4ad321309117dfae9 -sha1 linux-3.18.77.tar.xz 095453fb300a7a4d47fce0028706e3512e1758dd -sha256 linux-3.18.77.tar.xz a4e95962f619dd7088441323c2ecb3107f3004244804f1a99e044ac96db10a94 -sha512 linux-3.18.77.tar.xz 776d5daa400af8a711b1ea4d2988aa4dd048cb9e9fb468b0a74844f9e53caa42f6436b716c72726e8f6ed920e435b8b9914e00a673ef55c57950d622f3606379 -md5 linux-3.18.77.tar.gz 95dd752d170648f71839f12b63dafa4d -sha1 linux-3.18.77.tar.gz cb2d946386cbf86f7f1fb3d769c9a46587ac6fb3 -sha256 linux-3.18.77.tar.gz d5d713dbe34298f8a029c4479c1af57428cd2599a9016c108586467d708cd218 -sha512 linux-3.18.77.tar.gz 56b03e46f96413f8e0ee45c6b35b3e6762ae806228e9c636cdc3ca00b90a5223cc41c160d7c3de3f95c71adfee527cca9548a43eafa02da1cb6cac92608f9545 diff --git a/packages/linux/3.18.77/version.desc b/packages/linux/3.18.77/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/linux/3.18.77/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/linux/3.18.85/chksum b/packages/linux/3.18.85/chksum new file mode 100644 index 0000000..2bb8676 --- /dev/null +++ b/packages/linux/3.18.85/chksum @@ -0,0 +1,8 @@ +md5 linux-3.18.85.tar.xz 788bb5fc21bf765782496278e9844978 +sha1 linux-3.18.85.tar.xz 52f1de0f1a894a08056752d097e939668a0581a6 +sha256 linux-3.18.85.tar.xz ea282b29d8963ebbe93f7563f37b6c2ec80861afb71fd51c7a0272c128f23d8e +sha512 linux-3.18.85.tar.xz 59fde33ffed5b7243cb34743c26302fcf8f410605a20b9800a3be2c45d440b91aff7d78d0d389a83f9f10d42f3eeedba394da18dcb30fb468032459be1e9ad10 +md5 linux-3.18.85.tar.gz 544b9f560ae920e5d28b7f4c04777c92 +sha1 linux-3.18.85.tar.gz 2acc5ceb0b17be1c13f311d16aa9028cc43081d1 +sha256 linux-3.18.85.tar.gz 560808305dca457213c25d2ec8e8eb119f42f54cb18595d810002595f8887ed4 +sha512 linux-3.18.85.tar.gz f701fffa613b50deac2a0feaea3fbd9bd85c73ee088b3f36bbc61d570fe6f21695e19980c7f175177ebf335c9b27bdcc8734b3705a881200515af9d22b5da976 diff --git a/packages/linux/3.18.85/version.desc b/packages/linux/3.18.85/version.desc new file mode 100644 index 0000000..fcfe389 --- /dev/null +++ b/packages/linux/3.18.85/version.desc @@ -0,0 +1 @@ +obsolete='yes' diff --git a/packages/linux/3.2.94/chksum b/packages/linux/3.2.94/chksum deleted file mode 100644 index b863164..0000000 --- a/packages/linux/3.2.94/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 linux-3.2.94.tar.xz 790bdf93f501f0b5b1d2e3e1cbe83f3a -sha1 linux-3.2.94.tar.xz e7a47c381d6bbec8725c6e08f657b3ec36bd718d -sha256 linux-3.2.94.tar.xz 0bc5856e6de4ad1a941c6d2b0014493c31800dcd51db3e561c38a19b99621f60 -sha512 linux-3.2.94.tar.xz ebb063b0678ae46b16c3bf5d12e7daad46a37cd9175aa9dacaf55dc22c4f411fb2f26d0b3c05d1c133e086ed041b01ac700b8746297f1ba85a4a4bac6899b132 -md5 linux-3.2.94.tar.gz aa9c84a7c59d6c5097207f3afea51e3a -sha1 linux-3.2.94.tar.gz 307b5ac454eac74c75a569b083c8abd076c6ea4d -sha256 linux-3.2.94.tar.gz 7bac8e1faa7d86ff274320e37d425cf89d8c9707a974e60a76ab15b21d98e3a3 -sha512 linux-3.2.94.tar.gz d5fff50319350b691c195acff849e05cdd144bc7a46941deae49f6618a815b3222e81809d1c139d3521c6a24ab33739e726a09b9f00a5c3fcbc98dd5705f9a1c diff --git a/packages/linux/3.2.94/version.desc b/packages/linux/3.2.94/version.desc deleted file mode 100644 index e69de29..0000000 diff --git a/packages/linux/3.2.96/chksum b/packages/linux/3.2.96/chksum new file mode 100644 index 0000000..41a0279 --- /dev/null +++ b/packages/linux/3.2.96/chksum @@ -0,0 +1,8 @@ +md5 linux-3.2.96.tar.xz 8e1ca9e37999fc0993acd17b6b12e005 +sha1 linux-3.2.96.tar.xz 89e6f627b854da77a2b5d41d5f1304504c651986 +sha256 linux-3.2.96.tar.xz db7ba796715305dd56ff7527d55f2dba2acf79e9179a8b55fbfcb355b80d94d6 +sha512 linux-3.2.96.tar.xz 4258efc7d08386747a2be6f71f2ca603523221aba64e5c8dae1658477a8d33d05eafc38c5eeb61514d5bd3df01858375834f21eea1d10655cbacd015e101850f +md5 linux-3.2.96.tar.gz ba703eac919b94acf1b622c603bf84f1 +sha1 linux-3.2.96.tar.gz 419b7dcb3780ab5de217122b22395b362951a1ed +sha256 linux-3.2.96.tar.gz 7646998d768b52ced8336863d37c7030de15a00236ae95870d7c024fbad10cad +sha512 linux-3.2.96.tar.gz c11a4d39747bbc61df7e852ff387583cfac98255036ff527f0e8cc95d22e527539390bb935fa00b5fb5c2c42e85268c7918bf8b66ab7ac9ed593d5a4ed962016 diff --git a/packages/linux/3.2.96/version.desc b/packages/linux/3.2.96/version.desc new file mode 100644 index 0000000..e69de29 diff --git a/packages/linux/4.1.45/chksum b/packages/linux/4.1.45/chksum deleted file mode 100644 index 6513b02..0000000 --- a/packages/linux/4.1.45/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 linux-4.1.45.tar.xz c07e1bced97a4d3cd9095b3440b48b08 -sha1 linux-4.1.45.tar.xz 7d42525034086088bac4d7eb260b7722e03c0f5c -sha256 linux-4.1.45.tar.xz 76700a6a788c5750e3421eba004190cdc5b63f62726fce3b5fa27bd1c2cd5912 -sha512 linux-4.1.45.tar.xz 4293d51c2106dc694e40e042976a9184f30154de32fa1549c77cbc8c6a68fc65dfbcf5d999df1488ea02d1b2bf520c9ceb4c95fae1ed27f00ecedd4b3fcc7441 -md5 linux-4.1.45.tar.gz a645aad916ad10883a713aebd37d1f0e -sha1 linux-4.1.45.tar.gz 19934a198e981cbba81ce77512bc1d3857a3d8bb -sha256 linux-4.1.45.tar.gz 2a480af608129e6a26c7b16f08e164989118972286d03ca8e6aeae5bb2294510 -sha512 linux-4.1.45.tar.gz a9b288d1763a5e6dd2a9b26323d094e28ab3864338f04a99a32677515b27178d2eb9d81d505b4162942c8445ddc01df8e6c2a586fee7297fcc0429b3ce3b5deb diff --git a/packages/linux/4.1.45/version.desc b/packages/linux/4.1.45/version.desc deleted file mode 100644 index e69de29..0000000 diff --git a/packages/linux/4.1.46/chksum b/packages/linux/4.1.46/chksum new file mode 100644 index 0000000..f9b2025 --- /dev/null +++ b/packages/linux/4.1.46/chksum @@ -0,0 +1,8 @@ +md5 linux-4.1.46.tar.xz 453ec9b8336e5494ca81da3df6434ee4 +sha1 linux-4.1.46.tar.xz b0eaf3441befdee593683fdbcebc8638532dad73 +sha256 linux-4.1.46.tar.xz 3d5d64c20f0011c7d00cc15de86d749bbf7442061a3b2b6a58989422d8661540 +sha512 linux-4.1.46.tar.xz ff23f299d8a3062ccd7e3dfc4dd0c611f9ea5c5ae720825bdc483bd0f704a2a37688d4ecbc7266043969e80dca0d937402e52f9ac2cb51ada294a72b87570638 +md5 linux-4.1.46.tar.gz 4bf26ed430f3a47cb6681cf0fb595545 +sha1 linux-4.1.46.tar.gz db0e13ec36fc98213cbe1fe54fe628df01e3bd59 +sha256 linux-4.1.46.tar.gz eeff897ae2a5c1bc712ce938adf7b308122b06d65ae7c299182231cf03e8c7e9 +sha512 linux-4.1.46.tar.gz 8a1174a8eb8c9cce1cb22ff1221f5dd4468fa5658694e65e2d390c0be5a0a59f128416fced2160dd7cfb00d4274c2c2ddb911db723e86fad40ef940fced9beb2 diff --git a/packages/linux/4.1.46/version.desc b/packages/linux/4.1.46/version.desc new file mode 100644 index 0000000..e69de29 diff --git a/packages/linux/4.13.16/chksum b/packages/linux/4.13.16/chksum new file mode 100644 index 0000000..af1285b --- /dev/null +++ b/packages/linux/4.13.16/chksum @@ -0,0 +1,8 @@ +md5 linux-4.13.16.tar.xz 62c9272419c366f1c12d354fcaa343e1 +sha1 linux-4.13.16.tar.xz 8b3fa2233b29b305de93f09827cc74fcb96667be +sha256 linux-4.13.16.tar.xz b025f3fc40801aff1a2d3438d50be56502eb5bf51a7094e85b5205fa71bec731 +sha512 linux-4.13.16.tar.xz 8dcdfd6529635b45493f64236a9d4704c4c73554f97ee99cc8ee330a7921e00c37e6652daf30bda4c526893f3665c183e5b64998593769ec1d947ee74fc0833a +md5 linux-4.13.16.tar.gz a99565ec2fe97670eee61b20a13e7bd1 +sha1 linux-4.13.16.tar.gz 4ccc7d69d6696f59994a606397060f4c5532169f +sha256 linux-4.13.16.tar.gz d7708b7f62ea69fedb3c7c5d9c121d5b2fa1cee8a579c540fdd64e5e32bde531 +sha512 linux-4.13.16.tar.gz 1605de4d125276093f0ec687f6306b1d85d596a2059f8ca5462eb0178378a28db33b84e13a42fa742856a7bf5a4a17df7f937e5fcc7aa7fbf390ee6283ce235f diff --git a/packages/linux/4.13.16/version.desc b/packages/linux/4.13.16/version.desc new file mode 100644 index 0000000..e69de29 diff --git a/packages/linux/4.13.9/chksum b/packages/linux/4.13.9/chksum deleted file mode 100644 index d472340..0000000 --- a/packages/linux/4.13.9/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 linux-4.13.9.tar.xz 48b8bb806d97f5bbc1ad983253f162ee -sha1 linux-4.13.9.tar.xz d1e506f15965dced8753da85feeed147ff2c9d39 -sha256 linux-4.13.9.tar.xz a1dc15e4dba9a385c4112903da81c01f412b36420feefa7771797073f5352a8f -sha512 linux-4.13.9.tar.xz b456424058b547e8b7af459dc4c43ee08bf0eca6885f88b6b2b03763839740f49adf9ccccf2b29c9af5884402e67dbebb953662e11b9df8663137c7acf0f0333 -md5 linux-4.13.9.tar.gz 8faa82420ac919a97b47184aed5e039c -sha1 linux-4.13.9.tar.gz c79060462d3a8eea85b11582255f505a78dc7f34 -sha256 linux-4.13.9.tar.gz b3bcf55511592e58228c220ebe464498352c303a408fb1d6a6565cc8a8b0dff3 -sha512 linux-4.13.9.tar.gz fe677bf752112dac8f0760ef342d8619b61ede2cbb42c3c58c753c748fcf20b853b49a6a722711e5e9284af38b4e0bca8d6a752cc8493353a7e6ffb2ba1187f1 diff --git a/packages/linux/4.13.9/version.desc b/packages/linux/4.13.9/version.desc deleted file mode 100644 index e69de29..0000000 diff --git a/packages/linux/4.14.3/chksum b/packages/linux/4.14.3/chksum new file mode 100644 index 0000000..c3dc60e --- /dev/null +++ b/packages/linux/4.14.3/chksum @@ -0,0 +1,8 @@ +md5 linux-4.14.3.tar.xz c24ea351d105e48b401fd34db8163495 +sha1 linux-4.14.3.tar.xz dab2de738b495f6705c1311ce81e368370f68d65 +sha256 linux-4.14.3.tar.xz b628134ebb63ec82cb3e304a10aab2fd306fe79212e75ce81d8af73463c80366 +sha512 linux-4.14.3.tar.xz 94a32409e3d884349db329db2dbebab854483d998b7902dccc63e2a01fe36390cc32b0e4ffb7cfe984c76f3de9d0d5a98aa534ce868a04fe73399794844861a1 +md5 linux-4.14.3.tar.gz 5dd7b98842043a862c4e3915c5b7a96d +sha1 linux-4.14.3.tar.gz e7a693d885582605827857e89d71ee93ba35caf3 +sha256 linux-4.14.3.tar.gz 088315065a2ba15791f2ddf5508c8242c0f1b3af7950510099bf17e58c1e2e42 +sha512 linux-4.14.3.tar.gz 6942586d167043e4ba098d8c2665f908da91b0c1532fc12558efb4f528e8fa88e3600374de3a08186e6e86a2321b134c8a03fb53994bff0d0886aac920815db1 diff --git a/packages/linux/4.14.3/version.desc b/packages/linux/4.14.3/version.desc new file mode 100644 index 0000000..e69de29 diff --git a/packages/linux/4.4.103/chksum b/packages/linux/4.4.103/chksum new file mode 100644 index 0000000..2fdfa28 --- /dev/null +++ b/packages/linux/4.4.103/chksum @@ -0,0 +1,8 @@ +md5 linux-4.4.103.tar.xz 3967a9153609e52dbb1c8e262a75663b +sha1 linux-4.4.103.tar.xz e1de56b56f0a6662224d57a34b4dcd8f01b79926 +sha256 linux-4.4.103.tar.xz 1d01d0785fdf52b3f3b9f7ad05b6cff6be034869935962478e19f265b022f904 +sha512 linux-4.4.103.tar.xz 0bf41c697048e5894fe75bbb3c9ba1ddf9bb4f3d5380a9e390e12f37bf3ad0d919d64b492a9255428eecff5e47683f7dc93acd91d44c8de8e910ff1698cb2b75 +md5 linux-4.4.103.tar.gz 85daf9021e021f272aa74ce02dfbe791 +sha1 linux-4.4.103.tar.gz b30baa5d66c912a3d26d9f53372c07a38e06d544 +sha256 linux-4.4.103.tar.gz 74dc3aedda5be8b8683180cea5f818de92d72c1ea4f346f93aeaffa9818e0da5 +sha512 linux-4.4.103.tar.gz dc74f846dff027fb4827c09b126d994178b327461357e1edc01eb6ef09fdeff3ed1076f92870d63c6e484ca8f4f42c5922a2042624a4bd6a92eb2454defd02b0 diff --git a/packages/linux/4.4.103/version.desc b/packages/linux/4.4.103/version.desc new file mode 100644 index 0000000..7d5188f --- /dev/null +++ b/packages/linux/4.4.103/version.desc @@ -0,0 +1 @@ +# Not obsolete: used by Ubuntu16.04, EOL 04/2021 diff --git a/packages/linux/4.4.94/chksum b/packages/linux/4.4.94/chksum deleted file mode 100644 index 6c227d7..0000000 --- a/packages/linux/4.4.94/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 linux-4.4.94.tar.xz fb882847392475769e08ac30833e4e7c -sha1 linux-4.4.94.tar.xz 88c0c6937338d074bc1948c5e59c88bcf4bf5691 -sha256 linux-4.4.94.tar.xz b4e8fbd0de4321e88092eeb7fc66ee61ce6e13c7ba6680d24fdd20f532b4f110 -sha512 linux-4.4.94.tar.xz e7e8c68afe4a48f4affde7cdcf862d727f176eb7fb8f5ee4edd388a8fd9a1416e969ad8f5ca432731224fcd4c12f687667d6fd53bb6d510ad1abaed1a22fde1d -md5 linux-4.4.94.tar.gz 6cb82d780159d0d58ba61ecda2baeb5e -sha1 linux-4.4.94.tar.gz ed09cfc7061423528f046406d7412bb853745f58 -sha256 linux-4.4.94.tar.gz 82005a1c306d06e9189139afe5c313bd00fcc49bafef3af7ba4b27e0fdf61feb -sha512 linux-4.4.94.tar.gz 876748fccd63533b725556df3b1cf263e32e712d5336df029faff7284d32551f097824eecbc4cf216bc21c9348c2eb59876ad5a07ad0220256b9dd0c2c9e31c6 diff --git a/packages/linux/4.4.94/version.desc b/packages/linux/4.4.94/version.desc deleted file mode 100644 index 7d5188f..0000000 --- a/packages/linux/4.4.94/version.desc +++ /dev/null @@ -1 +0,0 @@ -# Not obsolete: used by Ubuntu16.04, EOL 04/2021 diff --git a/packages/linux/4.9.58/chksum b/packages/linux/4.9.58/chksum deleted file mode 100644 index 48970d9..0000000 --- a/packages/linux/4.9.58/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 linux-4.9.58.tar.xz 243225673ff85521aab0a9c9a1898c9e -sha1 linux-4.9.58.tar.xz 61f9bb331b6050b5fd965f42e1bf83f799fe75ec -sha256 linux-4.9.58.tar.xz 748f12a28689644b6a9102c67f8fa7938ca73823a949ba6f65024aecf2f221a7 -sha512 linux-4.9.58.tar.xz b65c7f4e5e6a324e499976c09233659923cffba0113a6532aac6d7e36a46051cdbd64e1182af55ba8a9b678c646a96b848823321d3293acd375121578470f972 -md5 linux-4.9.58.tar.gz 6513a8aede62ab6bfdef07df8fb4e60e -sha1 linux-4.9.58.tar.gz e1e4a694f1435d917b721b1249f045feb923934a -sha256 linux-4.9.58.tar.gz abfa302da40b11b8944c73f749c7ba886a3692291b066ec6803b052c60bd8e60 -sha512 linux-4.9.58.tar.gz 46bcc1e648b888dedeed5bf15f04694587cd1f393f158f59a4661493b8102cbd9a9fe08ce237ec161248f8efe39c1116be21c5d69bd873afb24bea93ac6d40ad diff --git a/packages/linux/4.9.58/version.desc b/packages/linux/4.9.58/version.desc deleted file mode 100644 index e69de29..0000000 diff --git a/packages/linux/4.9.66/chksum b/packages/linux/4.9.66/chksum new file mode 100644 index 0000000..6a639aa --- /dev/null +++ b/packages/linux/4.9.66/chksum @@ -0,0 +1,8 @@ +md5 linux-4.9.66.tar.xz 868a49b73f52f02df72e7e0ada97f42b +sha1 linux-4.9.66.tar.xz ecb5adfa84ab6f06f2cb07b56517883310710a0b +sha256 linux-4.9.66.tar.xz 5e372b2fbf40f84e600007a1d1e273cdc1bc6ac3757ca715c185f322d4aa963b +sha512 linux-4.9.66.tar.xz 5c5583fb50e6b5fd852ae1bebbfa297b1940ae3ceae9548f4d92385f512a9a135b1607095334c760c17d07dda130bdc1322ee57bdfc081376807ada0355752ac +md5 linux-4.9.66.tar.gz 9b7a13ea46d92ac5b37f55325908333b +sha1 linux-4.9.66.tar.gz 60076f763f9426cbca4ff5d0afc9e46c6c114b17 +sha256 linux-4.9.66.tar.gz 84de6080a4d8f7a4e20afb43445404332bad1929c6d14bdbe06ab0cb7e12da9b +sha512 linux-4.9.66.tar.gz 33ce8b6c21c737bbe98b43fd426e21c686819d7c2a4f48970c7e0977a05baff33ab283562f96309dc3556fb2c9045e66339b22f144e24132b9dcb0f81c51f826 diff --git a/packages/linux/4.9.66/version.desc b/packages/linux/4.9.66/version.desc new file mode 100644 index 0000000..e69de29 diff --git a/packages/mingw-w64/v5.0.2/0000-mingw64-malloc.patch b/packages/mingw-w64/v5.0.2/0000-mingw64-malloc.patch deleted file mode 100644 index f19e8ce..0000000 --- a/packages/mingw-w64/v5.0.2/0000-mingw64-malloc.patch +++ /dev/null @@ -1,58 +0,0 @@ ---- - mingw-w64-tools/genidl/src/genidl_cfg.h | 2 ++ - mingw-w64-tools/genidl/src/genidl_typinfo.c | 3 +++ - mingw-w64-tools/widl/include/pathtools.h | 3 +-- - mingw-w64-tools/widl/src/pathtools.c | 3 +-- - 4 files changed, 7 insertions(+), 4 deletions(-) - ---- a/mingw-w64-tools/genidl/src/genidl_cfg.h -+++ b/mingw-w64-tools/genidl/src/genidl_cfg.h -@@ -26,7 +26,9 @@ - #include - #include - #include -+#if defined(HAVE_MALLOC_H) - #include -+#endif - #include - #include - #include ---- a/mingw-w64-tools/genidl/src/genidl_typinfo.c -+++ b/mingw-w64-tools/genidl/src/genidl_typinfo.c -@@ -21,7 +21,10 @@ - #include "genidl_cfg.h" - #include "genidl_typeinfo.h" - #include "genidl_typinfo.h" -+#if defined(HAVE_MALLOC_H) - #include -+#endif -+#include - #include - #include - ---- a/mingw-w64-tools/widl/include/pathtools.h -+++ b/mingw-w64-tools/widl/include/pathtools.h -@@ -12,9 +12,8 @@ - #define PATHTOOLS_H - - #include --#if defined(__APPLE__) - #include --#else -+#if defined(HAVE_MALLOC_H) - #include - #endif - #include ---- a/mingw-w64-tools/widl/src/pathtools.c -+++ b/mingw-w64-tools/widl/src/pathtools.c -@@ -8,9 +8,8 @@ - .email: . - */ - --#if defined(__APPLE__) - #include --#else -+#if defined(HAVE_MALLOC_H) - #include - #endif - #include diff --git a/packages/mingw-w64/v5.0.2/0001-gendef-explicit-fallthrough.patch b/packages/mingw-w64/v5.0.2/0001-gendef-explicit-fallthrough.patch deleted file mode 100644 index e4c7780..0000000 --- a/packages/mingw-w64/v5.0.2/0001-gendef-explicit-fallthrough.patch +++ /dev/null @@ -1,44 +0,0 @@ -commit b4416f9a54ca0f27adc4a5a2d576779ec1288047 -Author: sezero -Date: Thu Jun 15 09:50:00 2017 +0300 - - gendef.c (getMemonic): add /* fallthru */ comments in the switch to avoid -Wimplicit-fallthrough - ---- - mingw-w64-tools/gendef/src/gendef.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - ---- a/mingw-w64-tools/gendef/src/gendef.c -+++ b/mingw-w64-tools/gendef/src/gendef.c -@@ -836,7 +836,7 @@ - if (!sz || code == c_ill) - { - PRDEBUG(" %s = 0x08%x ILL (%u) at least one==%d\n",name, -- (unsigned int) pc, (unsigned int) sz,atleast_one[0]); -+ (unsigned int) pc, (unsigned int) sz,atleast_one[0]); - #if ENABLE_DEBUG == 1 - { - unsigned char *ppc = (unsigned char *) map_va (pc); -@@ -1031,10 +1031,10 @@ - PRDEBUG(" 0x%x illegal ", (unsigned int) b); - #endif - *aCode=c_ill; return 0; -- case c_4: sz++; -- case c_3: sz++; -+ case c_4: sz++;/* fallthru */ -+ case c_3: sz++;/* fallthru */ - case c_lb: -- case c_2: sz++; -+ case c_2: sz++;/* fallthru */ - case c_retn: case c_retf: - case c_iret: case c_int3: - case c_ad: case c_op: -@@ -1061,7 +1061,7 @@ - p = (unsigned char *) map_va (pc + sz); - if (!p) { *aCode=c_ill; return 0; } - #if ENABLE_DEBUG == 1 -- enter_save_insn(lw,p[0]); -+ enter_save_insn(lw,p[0]); - #endif - b&=~0x7; b|=(p[0]&7); - sz+=1; diff --git a/packages/mingw-w64/v5.0.2/0002-genpeimg-explicit-fallthrough.patch b/packages/mingw-w64/v5.0.2/0002-genpeimg-explicit-fallthrough.patch deleted file mode 100644 index 5986aef..0000000 --- a/packages/mingw-w64/v5.0.2/0002-genpeimg-explicit-fallthrough.patch +++ /dev/null @@ -1,31 +0,0 @@ -commit f9f2bd0641b89895ab42b1948f431dadf1e837a4 -Author: sezero -Date: Thu Jun 15 09:45:52 2017 +0300 - - genpeimg.c (pass_args): add a /* fallthru */ comment in the switch - after show_usage() to avoid -Wimplicit-fallthrough - (show_usage): mark the function with noreturn attribute. - ---- - mingw-w64-tools/genpeimg/src/genpeimg.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - ---- a/mingw-w64-tools/genpeimg/src/genpeimg.c -+++ b/mingw-w64-tools/genpeimg/src/genpeimg.c -@@ -28,7 +28,7 @@ - int dump_information = 0; - static char *file_name = NULL; - --static void -+static void __attribute__((noreturn)) - show_usage (void) - { - fprintf (stderr, "genpeimg [options] files...\n"); -@@ -204,6 +204,7 @@ - case 'h': - if (h[2] == 0) - show_usage (); -+ /* fallthru */ - default: - error_point: - fprintf (stderr, "Unknown option ,%s'\n", h); diff --git a/packages/mingw-w64/v5.0.2/chksum b/packages/mingw-w64/v5.0.2/chksum deleted file mode 100644 index 8e6f53a..0000000 --- a/packages/mingw-w64/v5.0.2/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 mingw-w64-v5.0.2.tar.bz2 80d6884c9da234e73054347f44158b8a -sha1 mingw-w64-v5.0.2.tar.bz2 bb5409f034abb7c021b3e1c14db433fd253cbb59 -sha256 mingw-w64-v5.0.2.tar.bz2 5f46e80ff1a9102a37a3453743dae9df98262cba7c45306549ef7432cfd92cfd -sha512 mingw-w64-v5.0.2.tar.bz2 430065a822afb9901219b1f86ea221ae70ef7820ea298f51828bf1689a014115dade967a806388b7ee3ed1ea1d6c53970514ec64d0185b5024523093d9e96060 -md5 mingw-w64-v5.0.2.zip 4c3d2eba443d575444d6e3e388d82988 -sha1 mingw-w64-v5.0.2.zip 118a2b44948385c3230f94e9a0ca2a0eab1d9692 -sha256 mingw-w64-v5.0.2.zip 3c1489941ec66574912c7a1927e2b4c12f6e0a48459183e43b2f3eeba13d3c19 -sha512 mingw-w64-v5.0.2.zip 16516f69adaeef6658fe826fd5f884aff969a18295941a0807be1130e82b7b85f6536e46623a6f5ce685fdcdabbf9043a56da7af1c061d53ccdf844f9207591d diff --git a/packages/mingw-w64/v5.0.2/version.desc b/packages/mingw-w64/v5.0.2/version.desc deleted file mode 100644 index e69de29..0000000 diff --git a/packages/mingw-w64/v5.0.3/0000-mingw64-malloc.patch b/packages/mingw-w64/v5.0.3/0000-mingw64-malloc.patch new file mode 100644 index 0000000..f19e8ce --- /dev/null +++ b/packages/mingw-w64/v5.0.3/0000-mingw64-malloc.patch @@ -0,0 +1,58 @@ +--- + mingw-w64-tools/genidl/src/genidl_cfg.h | 2 ++ + mingw-w64-tools/genidl/src/genidl_typinfo.c | 3 +++ + mingw-w64-tools/widl/include/pathtools.h | 3 +-- + mingw-w64-tools/widl/src/pathtools.c | 3 +-- + 4 files changed, 7 insertions(+), 4 deletions(-) + +--- a/mingw-w64-tools/genidl/src/genidl_cfg.h ++++ b/mingw-w64-tools/genidl/src/genidl_cfg.h +@@ -26,7 +26,9 @@ + #include + #include + #include ++#if defined(HAVE_MALLOC_H) + #include ++#endif + #include + #include + #include +--- a/mingw-w64-tools/genidl/src/genidl_typinfo.c ++++ b/mingw-w64-tools/genidl/src/genidl_typinfo.c +@@ -21,7 +21,10 @@ + #include "genidl_cfg.h" + #include "genidl_typeinfo.h" + #include "genidl_typinfo.h" ++#if defined(HAVE_MALLOC_H) + #include ++#endif ++#include + #include + #include + +--- a/mingw-w64-tools/widl/include/pathtools.h ++++ b/mingw-w64-tools/widl/include/pathtools.h +@@ -12,9 +12,8 @@ + #define PATHTOOLS_H + + #include +-#if defined(__APPLE__) + #include +-#else ++#if defined(HAVE_MALLOC_H) + #include + #endif + #include +--- a/mingw-w64-tools/widl/src/pathtools.c ++++ b/mingw-w64-tools/widl/src/pathtools.c +@@ -8,9 +8,8 @@ + .email: . + */ + +-#if defined(__APPLE__) + #include +-#else ++#if defined(HAVE_MALLOC_H) + #include + #endif + #include diff --git a/packages/mingw-w64/v5.0.3/chksum b/packages/mingw-w64/v5.0.3/chksum new file mode 100644 index 0000000..3a90fe6 --- /dev/null +++ b/packages/mingw-w64/v5.0.3/chksum @@ -0,0 +1,8 @@ +md5 mingw-w64-v5.0.3.tar.bz2 5524c20312560cc8683b7d8ee292cb8c +sha1 mingw-w64-v5.0.3.tar.bz2 96278378b829695007ce6a527278cba19cb829f2 +sha256 mingw-w64-v5.0.3.tar.bz2 2a601db99ef579b9be69c775218ad956a24a09d7dabc9ff6c5bd60da9ccc9cb4 +sha512 mingw-w64-v5.0.3.tar.bz2 85bc0244cd30ef38262792d61502a012348b8220ef249352b68ddfa40663ca1cae5f81bed70caa9579469fad6ad16a95f02387c280effeda7ce8287b549f3fc9 +md5 mingw-w64-v5.0.3.zip b75a32a328eeb9e8798e079a3f920fe8 +sha1 mingw-w64-v5.0.3.zip 07a91d7c045c5183c67c0c51a8bfd5c1b21f34d2 +sha256 mingw-w64-v5.0.3.zip 0fbe41e451b43882547a26974c809968d5e71cab92526d9e5e0ebfecbed9ede7 +sha512 mingw-w64-v5.0.3.zip 772e9a8d42c0cc6b7a95c5943bac626a1fdf89a259f47f3dac96e4c47ec6ec1e04c2f08d436ed8ff9d0712e9654489536ba677735a74a411eb4055826b262703 diff --git a/packages/mingw-w64/v5.0.3/version.desc b/packages/mingw-w64/v5.0.3/version.desc new file mode 100644 index 0000000..e69de29 diff --git a/packages/musl/1.1.18/chksum b/packages/musl/1.1.18/chksum new file mode 100644 index 0000000..244bd67 --- /dev/null +++ b/packages/musl/1.1.18/chksum @@ -0,0 +1,4 @@ +md5 musl-1.1.18.tar.gz 5ff5f669dd248f00df77c19f575d2039 +sha1 musl-1.1.18.tar.gz d4e2949afbcdd1d543703bc1728f01bff2f85560 +sha256 musl-1.1.18.tar.gz d017ee5d01aec0c522a1330fdff06b1e428cb409e1db819cc4935d5da4a5a118 +sha512 musl-1.1.18.tar.gz 4d55c92efe41dfdd9fff6aca5dda76a632a3be60d10e5a7f66a4731d8f7040fb0a20b998965ba4d069b4f8a3527fcd7388e646cb66afc649c4d0cc6c3d358c9c diff --git a/packages/musl/1.1.18/version.desc b/packages/musl/1.1.18/version.desc new file mode 100644 index 0000000..e69de29 diff --git a/packages/strace/4.20/chksum b/packages/strace/4.20/chksum new file mode 100644 index 0000000..3cd17ab --- /dev/null +++ b/packages/strace/4.20/chksum @@ -0,0 +1,4 @@ +md5 strace-4.20.tar.xz f2271ab0fac49ebee9cbd7f3469227cb +sha1 strace-4.20.tar.xz 9cebc754af3434e4027a07745770892f685c0316 +sha256 strace-4.20.tar.xz 5bf3148dd17306a42566f7da17368fdd781afa147db05ea63a4ca2b50f58c523 +sha512 strace-4.20.tar.xz 869b3b9c48401619073a021e20e80cce37d8884f615bdb52dac9e6a2903df11507d7a0cb0ccad75bcc03d8dfafead0e68d14267e663503e94849079c9a2ebd4c diff --git a/packages/strace/4.20/version.desc b/packages/strace/4.20/version.desc new file mode 100644 index 0000000..e69de29 diff --git a/packages/uClibc-ng/1.0.27/chksum b/packages/uClibc-ng/1.0.27/chksum new file mode 100644 index 0000000..6b9f259 --- /dev/null +++ b/packages/uClibc-ng/1.0.27/chksum @@ -0,0 +1,16 @@ +md5 uClibc-ng-1.0.27.tar.xz acfe17b87979a2a7559edcc595348beb +sha1 uClibc-ng-1.0.27.tar.xz 9a41d8fb92d9637e56c1b408a707612a9bef652b +sha256 uClibc-ng-1.0.27.tar.xz 9452b0e92f76db19d8ff30b2d6d10a80e1ed01e4c504a36fef34cfc9de490b24 +sha512 uClibc-ng-1.0.27.tar.xz fa19863d7c517139d989b37b11082e446fbac27b5568a048384842e6ebaffec513e1e187f90790a277d69f4cd8e3bad0f167130cdd10a09753547c793c648650 +md5 uClibc-ng-1.0.27.tar.lz fb4a2682cf7231811275c1bf79ec857d +sha1 uClibc-ng-1.0.27.tar.lz df1b33ae03476dc09a595680be83279b006c6401 +sha256 uClibc-ng-1.0.27.tar.lz 977090aa8e5716de40a0f4da4f2f1c6e2a2551a6b56a2089f56265983b96c4a1 +sha512 uClibc-ng-1.0.27.tar.lz fcccad982e9a422ddc389aef2feca432e22187534b8a6e57dddda308a83ca5caf84aeba8c732924fe88a50060251848c75558a2ddfe77795ebb32b3b4e4ebb56 +md5 uClibc-ng-1.0.27.tar.bz2 b219cf1eff673d10ef845af6b81e61b2 +sha1 uClibc-ng-1.0.27.tar.bz2 6b397ac1890d908edfae5051893e567ff70bd6ce +sha256 uClibc-ng-1.0.27.tar.bz2 a44e610ca56da607f712e4e75a3daa541e6538f88efd4fbfbaa67806bef6d65e +sha512 uClibc-ng-1.0.27.tar.bz2 bf8f56f75465f7b793e0356df495a00a41ed2478ea90e8d686e8591dcb1bb75be27fadedd8adf2494f5053ceefa4b0ba2223758efa2a920ea0f55bf104e433a2 +md5 uClibc-ng-1.0.27.tar.gz 14c8ac715a63651d7208da5ba01a2fa8 +sha1 uClibc-ng-1.0.27.tar.gz 6571e8307feccd80023b59e1818e3ebe1641087a +sha256 uClibc-ng-1.0.27.tar.gz 654f665c99bf3b78e83ce331faa0f9c01992b5a57549b7aa3da418a47e5d5b1a +sha512 uClibc-ng-1.0.27.tar.gz 6814c626dbe22fd939083b3aabe4a6946466266858a5177424e9f4329ba07b76b0b7fd5268e7f25e7398b935d128bf31a704147dee101a7576394108176d2fb4 diff --git a/packages/uClibc-ng/1.0.27/version.desc b/packages/uClibc-ng/1.0.27/version.desc new file mode 100644 index 0000000..e69de29 -- cgit v0.10.2-6-g49f6