Bump buildroot to 2019.02
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
Backport from upstream, see
|
||||
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68467
|
||||
|
||||
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
|
||||
|
||||
diff -Nur gcc-4.9.4.orig/gcc/config/m68k/m68k.c gcc-4.9.4/gcc/config/m68k/m68k.c
|
||||
--- gcc-4.9.4.orig/gcc/config/m68k/m68k.c 2014-02-27 12:10:55.000000000 +0100
|
||||
+++ gcc-4.9.4/gcc/config/m68k/m68k.c 2018-02-17 21:28:53.430538916 +0100
|
||||
@@ -166,6 +166,8 @@
|
||||
const_tree, bool);
|
||||
static bool m68k_cannot_force_const_mem (enum machine_mode mode, rtx x);
|
||||
static bool m68k_output_addr_const_extra (FILE *, rtx);
|
||||
+static machine_mode m68k_promote_function_mode (const_tree, machine_mode,
|
||||
+ int *, const_tree, int);
|
||||
static void m68k_init_sync_libfuncs (void) ATTRIBUTE_UNUSED;
|
||||
|
||||
/* Initialize the GCC target structure. */
|
||||
@@ -308,6 +310,9 @@
|
||||
#undef TARGET_ATOMIC_TEST_AND_SET_TRUEVAL
|
||||
#define TARGET_ATOMIC_TEST_AND_SET_TRUEVAL 128
|
||||
|
||||
+#undef TARGET_PROMOTE_FUNCTION_MODE
|
||||
+#define TARGET_PROMOTE_FUNCTION_MODE m68k_promote_function_mode
|
||||
+
|
||||
static const struct attribute_spec m68k_attribute_table[] =
|
||||
{
|
||||
/* { name, min_len, max_len, decl_req, type_req, fn_type_req, handler,
|
||||
@@ -6527,4 +6532,20 @@
|
||||
== m68k_fk_interrupt_handler));
|
||||
}
|
||||
|
||||
+/* Implement TARGET_PROMOTE_FUNCTION_MODE. */
|
||||
+
|
||||
+static machine_mode
|
||||
+m68k_promote_function_mode (const_tree type, machine_mode mode,
|
||||
+ int *punsignedp ATTRIBUTE_UNUSED,
|
||||
+ const_tree fntype ATTRIBUTE_UNUSED,
|
||||
+ int for_return)
|
||||
+{
|
||||
+ /* Promote libcall arguments narrower than int to match the normal C
|
||||
+ ABI (for which promotions are handled via
|
||||
+ TARGET_PROMOTE_PROTOTYPES). */
|
||||
+ if (type == NULL_TREE && !for_return && (mode == QImode || mode == HImode))
|
||||
+ return SImode;
|
||||
+ return mode;
|
||||
+}
|
||||
+
|
||||
#include "gt-m68k.h"
|
||||
@@ -0,0 +1,71 @@
|
||||
From 61f38c64c01a15560026115a157b7021ec67bd3b Mon Sep 17 00:00:00 2001
|
||||
From: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
|
||||
Date: Thu, 24 May 2018 20:21:54 +0000
|
||||
Subject: [PATCH] libsanitizer: Use pre-computed size of struct ustat for Linux
|
||||
|
||||
Cherry-pick compiler-rt revision 333213:
|
||||
|
||||
<sys/ustat.h> has been removed from glibc 2.28 by:
|
||||
|
||||
commit cf2478d53ad7071e84c724a986b56fe17f4f4ca7
|
||||
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
||||
Date: Sun Mar 18 11:28:59 2018 +0800
|
||||
|
||||
Deprecate ustat syscall interface
|
||||
|
||||
This patch uses pre-computed size of struct ustat for Linux.
|
||||
|
||||
PR sanitizer/85835
|
||||
* sanitizer_common/sanitizer_platform_limits_posix.cc: Don't
|
||||
include <sys/ustat.h> for Linux.
|
||||
(SIZEOF_STRUCT_USTAT): New.
|
||||
(struct_ustat_sz): Use SIZEOF_STRUCT_USTAT for Linux.
|
||||
|
||||
|
||||
|
||||
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@260688 138bc75d-0d04-0410-961f-82ee72b054a4
|
||||
|
||||
Backported from upstream commit
|
||||
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=61f38c64c01a15560026115a157b7021ec67bd3b
|
||||
|
||||
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
||||
---
|
||||
libsanitizer/ChangeLog | 8 ++++++++
|
||||
.../sanitizer_common/sanitizer_platform_limits_posix.cc | 15 +++++++++++++--
|
||||
2 files changed, 21 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
|
||||
index 31a5e69..8017afd 100644
|
||||
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
|
||||
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
|
||||
@@ -81,7 +89,6 @@ typedef struct user_fpregs elf_fpregset_t;
|
||||
# include <sys/procfs.h>
|
||||
#endif
|
||||
#include <sys/user.h>
|
||||
-#include <sys/ustat.h>
|
||||
#include <linux/cyclades.h>
|
||||
#include <linux/if_eql.h>
|
||||
#include <linux/if_plip.h>
|
||||
@@ -163,7 +170,19 @@
|
||||
unsigned struct_old_utsname_sz = sizeof(struct old_utsname);
|
||||
unsigned struct_oldold_utsname_sz = sizeof(struct oldold_utsname);
|
||||
unsigned struct_itimerspec_sz = sizeof(struct itimerspec);
|
||||
- unsigned struct_ustat_sz = sizeof(struct ustat);
|
||||
+ // Use pre-computed size of struct ustat to avoid <sys/ustat.h> which
|
||||
+ // has been removed from glibc 2.28.
|
||||
+#if defined(__aarch64__) || defined(__s390x__) || defined (__mips64) \
|
||||
+ || defined(__powerpc64__) || defined(__arch64__) || defined(__sparcv9) \
|
||||
+ || defined(__x86_64__)
|
||||
+#define SIZEOF_STRUCT_USTAT 32
|
||||
+#elif defined(__arm__) || defined(__i386__) || defined(__mips__) \
|
||||
+ || defined(__powerpc__) || defined(__s390__)
|
||||
+#define SIZEOF_STRUCT_USTAT 20
|
||||
+#else
|
||||
+#error Unknown size of struct ustat
|
||||
+#endif
|
||||
+ unsigned struct_ustat_sz = SIZEOF_STRUCT_USTAT;
|
||||
#endif // SANITIZER_LINUX
|
||||
|
||||
#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
--
|
||||
2.9.3
|
||||
@@ -1,18 +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 <wbx@openadk.org>
|
||||
|
||||
diff -Nur gcc-4.9.3.orig/libgcc/config.host gcc-4.9.3/libgcc/config.host
|
||||
--- gcc-4.9.3.orig/libgcc/config.host 2014-03-27 16:40:31.000000000 +0100
|
||||
+++ gcc-4.9.3/libgcc/config.host 2016-04-05 16:20:53.422809885 +0200
|
||||
@@ -750,7 +750,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
|
||||
@@ -0,0 +1,48 @@
|
||||
Backport from upstream, see
|
||||
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68467
|
||||
|
||||
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
|
||||
|
||||
diff -Nur gcc-5.5.0.orig/gcc/config/m68k/m68k.c gcc-5.5.0/gcc/config/m68k/m68k.c
|
||||
--- gcc-5.5.0.orig/gcc/config/m68k/m68k.c 2015-01-15 14:28:42.000000000 +0100
|
||||
+++ gcc-5.5.0/gcc/config/m68k/m68k.c 2018-02-17 19:34:33.146309632 +0100
|
||||
@@ -196,6 +196,8 @@
|
||||
const_tree, bool);
|
||||
static bool m68k_cannot_force_const_mem (machine_mode mode, rtx x);
|
||||
static bool m68k_output_addr_const_extra (FILE *, rtx);
|
||||
+static machine_mode m68k_promote_function_mode (const_tree, machine_mode,
|
||||
+ int *, const_tree, int);
|
||||
static void m68k_init_sync_libfuncs (void) ATTRIBUTE_UNUSED;
|
||||
|
||||
/* Initialize the GCC target structure. */
|
||||
@@ -338,6 +340,9 @@
|
||||
#undef TARGET_ATOMIC_TEST_AND_SET_TRUEVAL
|
||||
#define TARGET_ATOMIC_TEST_AND_SET_TRUEVAL 128
|
||||
|
||||
+#undef TARGET_PROMOTE_FUNCTION_MODE
|
||||
+#define TARGET_PROMOTE_FUNCTION_MODE m68k_promote_function_mode
|
||||
+
|
||||
static const struct attribute_spec m68k_attribute_table[] =
|
||||
{
|
||||
/* { name, min_len, max_len, decl_req, type_req, fn_type_req, handler,
|
||||
@@ -6548,4 +6553,20 @@
|
||||
== m68k_fk_interrupt_handler));
|
||||
}
|
||||
|
||||
+/* Implement TARGET_PROMOTE_FUNCTION_MODE. */
|
||||
+
|
||||
+static machine_mode
|
||||
+m68k_promote_function_mode (const_tree type, machine_mode mode,
|
||||
+ int *punsignedp ATTRIBUTE_UNUSED,
|
||||
+ const_tree fntype ATTRIBUTE_UNUSED,
|
||||
+ int for_return)
|
||||
+{
|
||||
+ /* Promote libcall arguments narrower than int to match the normal C
|
||||
+ ABI (for which promotions are handled via
|
||||
+ TARGET_PROMOTE_PROTOTYPES). */
|
||||
+ if (type == NULL_TREE && !for_return && (mode == QImode || mode == HImode))
|
||||
+ return SImode;
|
||||
+ return mode;
|
||||
+}
|
||||
+
|
||||
#include "gt-m68k.h"
|
||||
@@ -0,0 +1,72 @@
|
||||
From 61f38c64c01a15560026115a157b7021ec67bd3b Mon Sep 17 00:00:00 2001
|
||||
From: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
|
||||
Date: Thu, 24 May 2018 20:21:54 +0000
|
||||
Subject: [PATCH] libsanitizer: Use pre-computed size of struct ustat for Linux
|
||||
|
||||
Cherry-pick compiler-rt revision 333213:
|
||||
|
||||
<sys/ustat.h> has been removed from glibc 2.28 by:
|
||||
|
||||
commit cf2478d53ad7071e84c724a986b56fe17f4f4ca7
|
||||
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
||||
Date: Sun Mar 18 11:28:59 2018 +0800
|
||||
|
||||
Deprecate ustat syscall interface
|
||||
|
||||
This patch uses pre-computed size of struct ustat for Linux.
|
||||
|
||||
PR sanitizer/85835
|
||||
* sanitizer_common/sanitizer_platform_limits_posix.cc: Don't
|
||||
include <sys/ustat.h> for Linux.
|
||||
(SIZEOF_STRUCT_USTAT): New.
|
||||
(struct_ustat_sz): Use SIZEOF_STRUCT_USTAT for Linux.
|
||||
|
||||
|
||||
|
||||
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@260688 138bc75d-0d04-0410-961f-82ee72b054a4
|
||||
|
||||
Downloaded from upstream commit
|
||||
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=61f38c64c01a15560026115a157b7021ec67bd3b
|
||||
|
||||
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
||||
---
|
||||
libsanitizer/ChangeLog | 8 ++++++++
|
||||
.../sanitizer_common/sanitizer_platform_limits_posix.cc | 15 +++++++++++++--
|
||||
2 files changed, 21 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
|
||||
index 31a5e69..8017afd 100644
|
||||
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
|
||||
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
|
||||
@@ -154,7 +154,6 @@ typedef struct user_fpregs elf_fpregset_t;
|
||||
# include <sys/procfs.h>
|
||||
#endif
|
||||
#include <sys/user.h>
|
||||
-#include <sys/ustat.h>
|
||||
#include <linux/cyclades.h>
|
||||
#include <linux/if_eql.h>
|
||||
#include <linux/if_plip.h>
|
||||
@@ -247,7 +246,19 @@ namespace __sanitizer {
|
||||
#endif // SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||
|
||||
#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
- unsigned struct_ustat_sz = sizeof(struct ustat);
|
||||
+ // Use pre-computed size of struct ustat to avoid <sys/ustat.h> which
|
||||
+ // has been removed from glibc 2.28.
|
||||
+#if defined(__aarch64__) || defined(__s390x__) || defined (__mips64) \
|
||||
+ || defined(__powerpc64__) || defined(__arch64__) || defined(__sparcv9) \
|
||||
+ || defined(__x86_64__)
|
||||
+#define SIZEOF_STRUCT_USTAT 32
|
||||
+#elif defined(__arm__) || defined(__i386__) || defined(__mips__) \
|
||||
+ || defined(__powerpc__) || defined(__s390__)
|
||||
+#define SIZEOF_STRUCT_USTAT 20
|
||||
+#else
|
||||
+#error Unknown size of struct ustat
|
||||
+#endif
|
||||
+ unsigned struct_ustat_sz = SIZEOF_STRUCT_USTAT;
|
||||
unsigned struct_rlimit64_sz = sizeof(struct rlimit64);
|
||||
unsigned struct_statvfs64_sz = sizeof(struct statvfs64);
|
||||
#endif // SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
--
|
||||
2.9.3
|
||||
|
||||
@@ -1,18 +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 <wbx@openadk.org>
|
||||
|
||||
diff -Nur gcc-5.3.0.orig/libgcc/config.host gcc-5.3.0/libgcc/config.host
|
||||
--- gcc-5.3.0.orig/libgcc/config.host 2015-10-01 14:01:18.000000000 +0200
|
||||
+++ gcc-5.3.0/libgcc/config.host 2016-04-26 21:30:25.353691745 +0200
|
||||
@@ -794,7 +794,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
|
||||
@@ -1,38 +0,0 @@
|
||||
From 765527ad3725c5f3e82ab2b8e5031120b409983d Mon Sep 17 00:00:00 2001
|
||||
From: marxin <marxin@138bc75d-0d04-0410-961f-82ee72b054a4>
|
||||
Date: Fri, 15 Jun 2018 08:51:28 +0000
|
||||
Subject: [PATCH] Partial backport r256656
|
||||
|
||||
2018-06-15 Martin Liska <mliska@suse.cz>
|
||||
|
||||
Backport from mainline
|
||||
2018-01-10 Kelvin Nilsen <kelvin@gcc.gnu.org>
|
||||
|
||||
* lex.c (search_line_fast): Remove illegal coercion of an
|
||||
unaligned pointer value to vector pointer type and replace with
|
||||
use of __builtin_vec_vsx_ld () built-in function, which operates
|
||||
on unaligned pointer values.
|
||||
|
||||
|
||||
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@261621 138bc75d-0d04-0410-961f-82ee72b054a4
|
||||
Signed-off-by: Joel Stanley <joel@jms.id.au>
|
||||
---
|
||||
libcpp/lex.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libcpp/lex.c b/libcpp/lex.c
|
||||
index e5a0397f3099..b789686f1c49 100644
|
||||
--- a/libcpp/lex.c
|
||||
+++ b/libcpp/lex.c
|
||||
@@ -568,7 +568,7 @@ search_line_fast (const uchar *s, const uchar *end ATTRIBUTE_UNUSED)
|
||||
{
|
||||
vc m_nl, m_cr, m_bs, m_qm;
|
||||
|
||||
- data = *((const vc *)s);
|
||||
+ data = __builtin_vec_vsx_ld (0, s);
|
||||
s += 16;
|
||||
|
||||
m_nl = (vc) __builtin_vec_cmpeq(data, repl_nl);
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
From 3bc2ee6886f1619bc6a2257a0775142526b1a57a Mon Sep 17 00:00:00 2001
|
||||
From: jcmvbkbc <jcmvbkbc@138bc75d-0d04-0410-961f-82ee72b054a4>
|
||||
Date: Mon, 11 Sep 2017 21:53:38 +0000
|
||||
Subject: [PATCH] xtensa: fix PR target/82181
|
||||
|
||||
2017-09-11 Max Filippov <jcmvbkbc@gmail.com>
|
||||
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 <jcmvbkbc@gmail.com>
|
||||
---
|
||||
gcc/config/xtensa/xtensa.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c
|
||||
index 2bdf5ccef979..92fdeb08046d 100644
|
||||
--- a/gcc/config/xtensa/xtensa.c
|
||||
+++ b/gcc/config/xtensa/xtensa.c
|
||||
@@ -601,6 +601,7 @@ xtensa_mem_offset (unsigned v, machine_mode mode)
|
||||
case HImode:
|
||||
return xtensa_uimm8x2 (v);
|
||||
|
||||
+ case DImode:
|
||||
case DFmode:
|
||||
return (xtensa_uimm8x4 (v) && xtensa_uimm8x4 (v + 4));
|
||||
|
||||
--
|
||||
2.1.4
|
||||
|
||||
@@ -1,101 +0,0 @@
|
||||
From 87fda0741d210727672cba5e54a37a189e8ac04e Mon Sep 17 00:00:00 2001
|
||||
From: Max Filippov <jcmvbkbc@gmail.com>
|
||||
Date: Sun, 17 Jun 2018 21:18:39 -0700
|
||||
Subject: [PATCH] xtensa: fix PR target/65416
|
||||
|
||||
The issue is caused by reordering of stack pointer update after stack
|
||||
space allocation with instructions that write to the allocated stack
|
||||
space. In windowed ABI register spill area for the previous call frame
|
||||
is located just below the stack pointer and may be reloaded back into
|
||||
the register file on movsp.
|
||||
Implement allocate_stack pattern for windowed ABI configuration and
|
||||
insert an instruction that prevents reordering of frame memory access
|
||||
and stack pointer update.
|
||||
|
||||
gcc/
|
||||
2018-06-19 Max Filippov <jcmvbkbc@gmail.com>
|
||||
|
||||
* config/xtensa/xtensa.md (UNSPEC_FRAME_BLOCKAGE): New unspec
|
||||
constant.
|
||||
(allocate_stack, frame_blockage, *frame_blockage): New patterns.
|
||||
|
||||
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
|
||||
Backported from: r261755
|
||||
---
|
||||
gcc/config/xtensa/xtensa.md | 46 +++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 46 insertions(+)
|
||||
|
||||
diff --git a/gcc/config/xtensa/xtensa.md b/gcc/config/xtensa/xtensa.md
|
||||
index 84967dbedc08..209f839cfb0f 100644
|
||||
--- a/gcc/config/xtensa/xtensa.md
|
||||
+++ b/gcc/config/xtensa/xtensa.md
|
||||
@@ -38,6 +38,7 @@
|
||||
(UNSPEC_MEMW 11)
|
||||
(UNSPEC_LSETUP_START 12)
|
||||
(UNSPEC_LSETUP_END 13)
|
||||
+ (UNSPEC_FRAME_BLOCKAGE 14)
|
||||
|
||||
(UNSPECV_SET_FP 1)
|
||||
(UNSPECV_ENTRY 2)
|
||||
@@ -1676,6 +1677,32 @@
|
||||
|
||||
;; Miscellaneous instructions.
|
||||
|
||||
+;; In windowed ABI stack pointer adjustment must happen before any access
|
||||
+;; to the space allocated on stack is allowed, otherwise register spill
|
||||
+;; area may be clobbered. That's what frame blockage is supposed to enforce.
|
||||
+
|
||||
+(define_expand "allocate_stack"
|
||||
+ [(set (match_operand 0 "nonimmed_operand")
|
||||
+ (minus (reg A1_REG) (match_operand 1 "add_operand")))
|
||||
+ (set (reg A1_REG)
|
||||
+ (minus (reg A1_REG) (match_dup 1)))]
|
||||
+ "TARGET_WINDOWED_ABI"
|
||||
+{
|
||||
+ if (CONST_INT_P (operands[1]))
|
||||
+ {
|
||||
+ rtx neg_op0 = GEN_INT (-INTVAL (operands[1]));
|
||||
+ emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, neg_op0));
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ emit_insn (gen_subsi3 (stack_pointer_rtx, stack_pointer_rtx,
|
||||
+ operands[1]));
|
||||
+ }
|
||||
+ emit_move_insn (operands[0], virtual_stack_dynamic_rtx);
|
||||
+ emit_insn (gen_frame_blockage ());
|
||||
+ DONE;
|
||||
+})
|
||||
+
|
||||
(define_expand "prologue"
|
||||
[(const_int 0)]
|
||||
""
|
||||
@@ -1767,6 +1794,25 @@
|
||||
[(set_attr "length" "0")
|
||||
(set_attr "type" "nop")])
|
||||
|
||||
+;; Do not schedule instructions accessing memory before this point.
|
||||
+
|
||||
+(define_expand "frame_blockage"
|
||||
+ [(set (match_dup 0)
|
||||
+ (unspec:BLK [(match_dup 1)] UNSPEC_FRAME_BLOCKAGE))]
|
||||
+ ""
|
||||
+{
|
||||
+ operands[0] = gen_rtx_MEM (BLKmode, gen_rtx_SCRATCH (Pmode));
|
||||
+ MEM_VOLATILE_P (operands[0]) = 1;
|
||||
+ operands[1] = stack_pointer_rtx;
|
||||
+})
|
||||
+
|
||||
+(define_insn "*frame_blockage"
|
||||
+ [(set (match_operand:BLK 0 "" "")
|
||||
+ (unspec:BLK [(match_operand:SI 1 "" "")] UNSPEC_FRAME_BLOCKAGE))]
|
||||
+ ""
|
||||
+ ""
|
||||
+ [(set_attr "length" "0")])
|
||||
+
|
||||
(define_insn "trap"
|
||||
[(trap_if (const_int 1) (const_int 0))]
|
||||
""
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
From 6765eecde2ed8d4be0fc217408b9e9b92a840aff Mon Sep 17 00:00:00 2001
|
||||
From: Max Filippov <jcmvbkbc@gmail.com>
|
||||
Date: Tue, 4 Sep 2018 00:39:32 -0700
|
||||
Subject: [PATCH] gcc: xtensa: fix NAND code in xtensa_expand_atomic
|
||||
|
||||
NAND is ~(a1 & a2), but xtensa_expand_atomic does ~a1 & a2.
|
||||
That fixes libatomic tests atomic-op-{1,2}.
|
||||
|
||||
gcc/
|
||||
2018-09-04 Max Filippov <jcmvbkbc@gmail.com>
|
||||
|
||||
* config/xtensa/xtensa.c (xtensa_expand_atomic): Reorder AND and
|
||||
XOR operations in NAND case.
|
||||
|
||||
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
|
||||
Backported from: r264087
|
||||
---
|
||||
gcc/config/xtensa/xtensa.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c
|
||||
index 7cfe64d42895..080bb4ad765d 100644
|
||||
--- a/gcc/config/xtensa/xtensa.c
|
||||
+++ b/gcc/config/xtensa/xtensa.c
|
||||
@@ -1614,9 +1614,9 @@ xtensa_expand_atomic (enum rtx_code code, rtx target, rtx mem, rtx val,
|
||||
break;
|
||||
|
||||
case MULT: /* NAND */
|
||||
- tmp = expand_simple_binop (SImode, XOR, old, ac.modemask,
|
||||
+ tmp = expand_simple_binop (SImode, AND, old, val,
|
||||
NULL_RTX, 1, OPTAB_DIRECT);
|
||||
- tmp = expand_simple_binop (SImode, AND, tmp, val,
|
||||
+ tmp = expand_simple_binop (SImode, XOR, tmp, ac.modemask,
|
||||
new_rtx, 1, OPTAB_DIRECT);
|
||||
break;
|
||||
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -1,18 +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 <wbx@openadk.org>
|
||||
|
||||
diff -Nur gcc-6.1.0.orig/libgcc/config.host gcc-6.1.0/libgcc/config.host
|
||||
--- gcc-6.1.0.orig/libgcc/config.host 2016-02-26 21:02:28.000000000 +0100
|
||||
+++ gcc-6.1.0/libgcc/config.host 2016-04-29 09:18:40.377989160 +0200
|
||||
@@ -812,7 +812,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
|
||||
@@ -1,60 +0,0 @@
|
||||
From ae9c3e354440c4a0f105a9eabfb2f77be085ebc1 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
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 <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
libgcc/mkmap-symver.awk | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libgcc/mkmap-symver.awk b/libgcc/mkmap-symver.awk
|
||||
index 266832a..30bb179 100644
|
||||
--- a/libgcc/mkmap-symver.awk
|
||||
+++ b/libgcc/mkmap-symver.awk
|
||||
@@ -47,7 +47,11 @@ state == "nm" && ($1 == "U" || $2 == "U") {
|
||||
|
||||
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;
|
||||
}
|
||||
--
|
||||
2.7.4
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,59 +0,0 @@
|
||||
From 9d9f97ca5d1ceba66677bf406c9b31027dc1f22e Mon Sep 17 00:00:00 2001
|
||||
From: Waldemar Brodkorb <wbx@openadk.org>
|
||||
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 <wbx@openadk.org>
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
libgcc/unwind-dw2-fde-dip.c | 8 ++++++--
|
||||
1 file changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libgcc/unwind-dw2-fde-dip.c b/libgcc/unwind-dw2-fde-dip.c
|
||||
index f7a1c3f..801bce8 100644
|
||||
--- a/libgcc/unwind-dw2-fde-dip.c
|
||||
+++ b/libgcc/unwind-dw2-fde-dip.c
|
||||
@@ -124,7 +124,11 @@ static struct frame_hdr_cache_element
|
||||
{
|
||||
_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 @@ _Unwind_IteratePhdrCallback (struct dl_phdr_info *info, size_t size, void *ptr)
|
||||
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 @@ _Unwind_IteratePhdrCallback (struct dl_phdr_info *info, size_t size, void *ptr)
|
||||
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?
|
||||
--
|
||||
2.7.4
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
enable _REENTRANT when -lpthread is used
|
||||
|
||||
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
|
||||
|
||||
diff -Nur gcc-6.2.0.orig/gcc/config/bfin/linux.h gcc-6.2.0/gcc/config/bfin/linux.h
|
||||
--- gcc-6.2.0.orig/gcc/config/bfin/linux.h 2016-01-04 15:30:50.000000000 +0100
|
||||
+++ gcc-6.2.0/gcc/config/bfin/linux.h 2016-09-30 20:48:17.446636819 +0200
|
||||
@@ -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} \
|
||||
@@ -1,192 +0,0 @@
|
||||
From 35d8ca22047f101a700abb29cffbf03b81278a2b Mon Sep 17 00:00:00 2001
|
||||
From: jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
|
||||
Date: Tue, 4 Jul 2017 10:23:57 +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-6-branch@249957 138bc75d-0d04-0410-961f-82ee72b054a4
|
||||
|
||||
(cherry picked from commit b685411208e0aaa79190d54faf945763514706b8)
|
||||
[Romain rebase on gcc 6.4]
|
||||
Signed-off-by: Romain Naour <romain.naour@gmail.com>
|
||||
---
|
||||
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(-)
|
||||
|
||||
diff --git a/libgcc/config/aarch64/linux-unwind.h b/libgcc/config/aarch64/linux-unwind.h
|
||||
index 4512efb..06de45a 100644
|
||||
--- a/libgcc/config/aarch64/linux-unwind.h
|
||||
+++ b/libgcc/config/aarch64/linux-unwind.h
|
||||
@@ -52,7 +52,7 @@ aarch64_fallback_frame_state (struct _Unwind_Context *context,
|
||||
struct rt_sigframe
|
||||
{
|
||||
siginfo_t info;
|
||||
- struct ucontext uc;
|
||||
+ ucontext_t uc;
|
||||
};
|
||||
|
||||
struct rt_sigframe *rt_;
|
||||
diff --git a/libgcc/config/alpha/linux-unwind.h b/libgcc/config/alpha/linux-unwind.h
|
||||
index bdbba4a..e84812e 100644
|
||||
--- a/libgcc/config/alpha/linux-unwind.h
|
||||
+++ b/libgcc/config/alpha/linux-unwind.h
|
||||
@@ -51,7 +51,7 @@ alpha_fallback_frame_state (struct _Unwind_Context *context,
|
||||
{
|
||||
struct rt_sigframe {
|
||||
siginfo_t info;
|
||||
- struct ucontext uc;
|
||||
+ ucontext_t uc;
|
||||
} *rt_ = context->cfa;
|
||||
sc = &rt_->uc.uc_mcontext;
|
||||
}
|
||||
diff --git a/libgcc/config/bfin/linux-unwind.h b/libgcc/config/bfin/linux-unwind.h
|
||||
index 77b7c23..8bf5e82 100644
|
||||
--- a/libgcc/config/bfin/linux-unwind.h
|
||||
+++ b/libgcc/config/bfin/linux-unwind.h
|
||||
@@ -52,7 +52,7 @@ bfin_fallback_frame_state (struct _Unwind_Context *context,
|
||||
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.
|
||||
diff --git a/libgcc/config/i386/linux-unwind.h b/libgcc/config/i386/linux-unwind.h
|
||||
index 540a0a2..29efbe3 100644
|
||||
--- a/libgcc/config/i386/linux-unwind.h
|
||||
+++ b/libgcc/config/i386/linux-unwind.h
|
||||
@@ -58,7 +58,7 @@ x86_64_fallback_frame_state (struct _Unwind_Context *context,
|
||||
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 @@ x86_fallback_frame_state (struct _Unwind_Context *context,
|
||||
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
|
||||
diff --git a/libgcc/config/m68k/linux-unwind.h b/libgcc/config/m68k/linux-unwind.h
|
||||
index 75b7cf7..f964e24 100644
|
||||
--- a/libgcc/config/m68k/linux-unwind.h
|
||||
+++ b/libgcc/config/m68k/linux-unwind.h
|
||||
@@ -33,7 +33,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
/* <sys/ucontext.h> 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];
|
||||
diff --git a/libgcc/config/nios2/linux-unwind.h b/libgcc/config/nios2/linux-unwind.h
|
||||
index 2304142..30f25ea 100644
|
||||
--- a/libgcc/config/nios2/linux-unwind.h
|
||||
+++ b/libgcc/config/nios2/linux-unwind.h
|
||||
@@ -38,7 +38,7 @@ struct nios2_mcontext {
|
||||
|
||||
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 */
|
||||
diff --git a/libgcc/config/pa/linux-unwind.h b/libgcc/config/pa/linux-unwind.h
|
||||
index 9a2657f..e47493d 100644
|
||||
--- a/libgcc/config/pa/linux-unwind.h
|
||||
+++ b/libgcc/config/pa/linux-unwind.h
|
||||
@@ -80,7 +80,7 @@ pa32_fallback_frame_state (struct _Unwind_Context *context,
|
||||
struct sigcontext *sc;
|
||||
struct rt_sigframe {
|
||||
siginfo_t info;
|
||||
- struct ucontext uc;
|
||||
+ ucontext_t uc;
|
||||
} *frame;
|
||||
|
||||
/* rt_sigreturn trampoline:
|
||||
diff --git a/libgcc/config/sh/linux-unwind.h b/libgcc/config/sh/linux-unwind.h
|
||||
index e389cac..0bf43ba 100644
|
||||
--- a/libgcc/config/sh/linux-unwind.h
|
||||
+++ b/libgcc/config/sh/linux-unwind.h
|
||||
@@ -180,7 +180,7 @@ sh_fallback_frame_state (struct _Unwind_Context *context,
|
||||
{
|
||||
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
|
||||
diff --git a/libgcc/config/tilepro/linux-unwind.h b/libgcc/config/tilepro/linux-unwind.h
|
||||
index 796e976..75f8890 100644
|
||||
--- a/libgcc/config/tilepro/linux-unwind.h
|
||||
+++ b/libgcc/config/tilepro/linux-unwind.h
|
||||
@@ -61,7 +61,7 @@ tile_fallback_frame_state (struct _Unwind_Context *context,
|
||||
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. */
|
||||
diff --git a/libgcc/config/xtensa/linux-unwind.h b/libgcc/config/xtensa/linux-unwind.h
|
||||
index 9872492..586a9d4 100644
|
||||
--- a/libgcc/config/xtensa/linux-unwind.h
|
||||
+++ b/libgcc/config/xtensa/linux-unwind.h
|
||||
@@ -67,7 +67,7 @@ xtensa_fallback_frame_state (struct _Unwind_Context *context,
|
||||
|
||||
struct rt_sigframe {
|
||||
siginfo_t info;
|
||||
- struct ucontext uc;
|
||||
+ ucontext_t uc;
|
||||
} *rt_;
|
||||
|
||||
/* movi a2, __NR_rt_sigreturn; syscall */
|
||||
--
|
||||
2.9.5
|
||||
|
||||
@@ -1,91 +0,0 @@
|
||||
From a3e3d1b5f73380a99126c4937a95225ba3bd214b Mon Sep 17 00:00:00 2001
|
||||
From: doko <doko@138bc75d-0d04-0410-961f-82ee72b054a4>
|
||||
Date: Thu, 7 Sep 2017 07:15:24 +0000
|
||||
Subject: [PATCH] 2017-09-07 Matthias Klose <doko@ubuntu.com>
|
||||
|
||||
Backported from mainline
|
||||
2017-07-14 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR sanitizer/81066
|
||||
* sanitizer_common/sanitizer_linux.h: Cherry-pick upstream r307969.
|
||||
* sanitizer_common/sanitizer_linux.cc: Likewise.
|
||||
* sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc: Likewise.
|
||||
* tsan/tsan_platform_linux.cc: Likewise.
|
||||
|
||||
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@251828 138bc75d-0d04-0410-961f-82ee72b054a4
|
||||
|
||||
(cherry picked from commit 8937b94d1a643fd9760714642296d034a45254a8)
|
||||
[Romain rebase on gcc 6.4]
|
||||
Signed-off-by: Romain Naour <romain.naour@gmail.com>
|
||||
---
|
||||
libsanitizer/sanitizer_common/sanitizer_linux.cc | 3 +--
|
||||
libsanitizer/sanitizer_common/sanitizer_linux.h | 4 +---
|
||||
libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc | 2 +-
|
||||
libsanitizer/tsan/tsan_platform_linux.cc | 2 +-
|
||||
4 files changed, 4 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/libsanitizer/sanitizer_common/sanitizer_linux.cc b/libsanitizer/sanitizer_common/sanitizer_linux.cc
|
||||
index 2cefa20..223d9c6 100644
|
||||
--- a/libsanitizer/sanitizer_common/sanitizer_linux.cc
|
||||
+++ b/libsanitizer/sanitizer_common/sanitizer_linux.cc
|
||||
@@ -546,8 +546,7 @@ uptr internal_prctl(int option, uptr arg2, uptr arg3, uptr arg4, uptr arg5) {
|
||||
}
|
||||
#endif
|
||||
|
||||
-uptr internal_sigaltstack(const struct sigaltstack *ss,
|
||||
- struct sigaltstack *oss) {
|
||||
+uptr internal_sigaltstack(const void *ss, void *oss) {
|
||||
return internal_syscall(SYSCALL(sigaltstack), (uptr)ss, (uptr)oss);
|
||||
}
|
||||
|
||||
diff --git a/libsanitizer/sanitizer_common/sanitizer_linux.h b/libsanitizer/sanitizer_common/sanitizer_linux.h
|
||||
index 4497702..1594058 100644
|
||||
--- a/libsanitizer/sanitizer_common/sanitizer_linux.h
|
||||
+++ b/libsanitizer/sanitizer_common/sanitizer_linux.h
|
||||
@@ -19,7 +19,6 @@
|
||||
#include "sanitizer_platform_limits_posix.h"
|
||||
|
||||
struct link_map; // Opaque type returned by dlopen().
|
||||
-struct sigaltstack;
|
||||
|
||||
namespace __sanitizer {
|
||||
// Dirent structure for getdents(). Note that this structure is different from
|
||||
@@ -28,8 +27,7 @@ struct linux_dirent;
|
||||
|
||||
// Syscall wrappers.
|
||||
uptr internal_getdents(fd_t fd, struct linux_dirent *dirp, unsigned int count);
|
||||
-uptr internal_sigaltstack(const struct sigaltstack* ss,
|
||||
- struct sigaltstack* oss);
|
||||
+uptr internal_sigaltstack(const void* ss, void* oss);
|
||||
uptr internal_sigprocmask(int how, __sanitizer_sigset_t *set,
|
||||
__sanitizer_sigset_t *oldset);
|
||||
void internal_sigfillset(__sanitizer_sigset_t *set);
|
||||
diff --git a/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc b/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
|
||||
index c919e4f..014162af 100644
|
||||
--- a/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
|
||||
+++ b/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
|
||||
@@ -267,7 +267,7 @@ static int TracerThread(void* argument) {
|
||||
|
||||
// Alternate stack for signal handling.
|
||||
InternalScopedBuffer<char> handler_stack_memory(kHandlerStackSize);
|
||||
- struct sigaltstack handler_stack;
|
||||
+ stack_t handler_stack;
|
||||
internal_memset(&handler_stack, 0, sizeof(handler_stack));
|
||||
handler_stack.ss_sp = handler_stack_memory.data();
|
||||
handler_stack.ss_size = kHandlerStackSize;
|
||||
diff --git a/libsanitizer/tsan/tsan_platform_linux.cc b/libsanitizer/tsan/tsan_platform_linux.cc
|
||||
index 09cec5f..908f4fe 100644
|
||||
--- a/libsanitizer/tsan/tsan_platform_linux.cc
|
||||
+++ b/libsanitizer/tsan/tsan_platform_linux.cc
|
||||
@@ -291,7 +291,7 @@ bool IsGlobalVar(uptr addr) {
|
||||
int ExtractResolvFDs(void *state, int *fds, int nfd) {
|
||||
#if SANITIZER_LINUX
|
||||
int cnt = 0;
|
||||
- __res_state *statp = (__res_state*)state;
|
||||
+ struct __res_state *statp = (struct __res_state*)state;
|
||||
for (int i = 0; i < MAXNS && cnt < nfd; i++) {
|
||||
if (statp->_u._ext.nsaddrs[i] && statp->_u._ext.nssocks[i] != -1)
|
||||
fds[cnt++] = statp->_u._ext.nssocks[i];
|
||||
--
|
||||
2.9.5
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
Backport from upstream, see
|
||||
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68467
|
||||
|
||||
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
|
||||
|
||||
diff -Nur gcc-6.4.0.orig/gcc/config/m68k/m68k.c gcc-6.4.0/gcc/config/m68k/m68k.c
|
||||
--- gcc-6.4.0.orig/gcc/config/m68k/m68k.c 2016-01-04 15:30:50.652828000 +0100
|
||||
+++ gcc-6.4.0/gcc/config/m68k/m68k.c 2018-02-17 19:08:16.313168186 +0100
|
||||
@@ -180,6 +180,8 @@
|
||||
const_tree, bool);
|
||||
static bool m68k_cannot_force_const_mem (machine_mode mode, rtx x);
|
||||
static bool m68k_output_addr_const_extra (FILE *, rtx);
|
||||
+static machine_mode m68k_promote_function_mode (const_tree, machine_mode,
|
||||
+ int *, const_tree, int);
|
||||
static void m68k_init_sync_libfuncs (void) ATTRIBUTE_UNUSED;
|
||||
|
||||
/* Initialize the GCC target structure. */
|
||||
@@ -322,6 +324,9 @@
|
||||
#undef TARGET_ATOMIC_TEST_AND_SET_TRUEVAL
|
||||
#define TARGET_ATOMIC_TEST_AND_SET_TRUEVAL 128
|
||||
|
||||
+#undef TARGET_PROMOTE_FUNCTION_MODE
|
||||
+#define TARGET_PROMOTE_FUNCTION_MODE m68k_promote_function_mode
|
||||
+
|
||||
static const struct attribute_spec m68k_attribute_table[] =
|
||||
{
|
||||
/* { name, min_len, max_len, decl_req, type_req, fn_type_req, handler,
|
||||
@@ -6524,4 +6529,20 @@
|
||||
== m68k_fk_interrupt_handler));
|
||||
}
|
||||
|
||||
+/* Implement TARGET_PROMOTE_FUNCTION_MODE. */
|
||||
+
|
||||
+static machine_mode
|
||||
+m68k_promote_function_mode (const_tree type, machine_mode mode,
|
||||
+ int *punsignedp ATTRIBUTE_UNUSED,
|
||||
+ const_tree fntype ATTRIBUTE_UNUSED,
|
||||
+ int for_return)
|
||||
+{
|
||||
+ /* Promote libcall arguments narrower than int to match the normal C
|
||||
+ ABI (for which promotions are handled via
|
||||
+ TARGET_PROMOTE_PROTOTYPES). */
|
||||
+ if (type == NULL_TREE && !for_return && (mode == QImode || mode == HImode))
|
||||
+ return SImode;
|
||||
+ return mode;
|
||||
+}
|
||||
+
|
||||
#include "gt-m68k.h"
|
||||
@@ -1,40 +0,0 @@
|
||||
From aa65a43516da1d48011ef621ed5988289711d99b Mon Sep 17 00:00:00 2001
|
||||
From: marxin <marxin@138bc75d-0d04-0410-961f-82ee72b054a4>
|
||||
Date: Fri, 29 Jun 2018 09:31:30 +0000
|
||||
Subject: [PATCH] Partial backport r256656
|
||||
|
||||
2018-06-29 Martin Liska <mliska@suse.cz>
|
||||
|
||||
Backport from mainline
|
||||
2018-01-10 Kelvin Nilsen <kelvin@gcc.gnu.org>
|
||||
|
||||
* lex.c (search_line_fast): Remove illegal coercion of an
|
||||
unaligned pointer value to vector pointer type and replace with
|
||||
use of __builtin_vec_vsx_ld () built-in function, which operates
|
||||
on unaligned pointer values.
|
||||
|
||||
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@261621 138bc75d-0d04-0410-961f-82ee72b054a4
|
||||
|
||||
|
||||
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@262243 138bc75d-0d04-0410-961f-82ee72b054a4
|
||||
Signed-off-by: Joel Stanley <joel@jms.id.au>
|
||||
---
|
||||
libcpp/lex.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libcpp/lex.c b/libcpp/lex.c
|
||||
index 097c78002cbb..e0fb9e822c44 100644
|
||||
--- a/libcpp/lex.c
|
||||
+++ b/libcpp/lex.c
|
||||
@@ -568,7 +568,7 @@ search_line_fast (const uchar *s, const uchar *end ATTRIBUTE_UNUSED)
|
||||
{
|
||||
vc m_nl, m_cr, m_bs, m_qm;
|
||||
|
||||
- data = *((const vc *)s);
|
||||
+ data = __builtin_vec_vsx_ld (0, s);
|
||||
s += 16;
|
||||
|
||||
m_nl = (vc) __builtin_vec_cmpeq(data, repl_nl);
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,101 +0,0 @@
|
||||
From 87fda0741d210727672cba5e54a37a189e8ac04e Mon Sep 17 00:00:00 2001
|
||||
From: Max Filippov <jcmvbkbc@gmail.com>
|
||||
Date: Sun, 17 Jun 2018 21:18:39 -0700
|
||||
Subject: [PATCH] xtensa: fix PR target/65416
|
||||
|
||||
The issue is caused by reordering of stack pointer update after stack
|
||||
space allocation with instructions that write to the allocated stack
|
||||
space. In windowed ABI register spill area for the previous call frame
|
||||
is located just below the stack pointer and may be reloaded back into
|
||||
the register file on movsp.
|
||||
Implement allocate_stack pattern for windowed ABI configuration and
|
||||
insert an instruction that prevents reordering of frame memory access
|
||||
and stack pointer update.
|
||||
|
||||
gcc/
|
||||
2018-06-19 Max Filippov <jcmvbkbc@gmail.com>
|
||||
|
||||
* config/xtensa/xtensa.md (UNSPEC_FRAME_BLOCKAGE): New unspec
|
||||
constant.
|
||||
(allocate_stack, frame_blockage, *frame_blockage): New patterns.
|
||||
|
||||
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
|
||||
Backported from: r261755
|
||||
---
|
||||
gcc/config/xtensa/xtensa.md | 46 +++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 46 insertions(+)
|
||||
|
||||
diff --git a/gcc/config/xtensa/xtensa.md b/gcc/config/xtensa/xtensa.md
|
||||
index 84967dbedc08..209f839cfb0f 100644
|
||||
--- a/gcc/config/xtensa/xtensa.md
|
||||
+++ b/gcc/config/xtensa/xtensa.md
|
||||
@@ -38,6 +38,7 @@
|
||||
(UNSPEC_MEMW 11)
|
||||
(UNSPEC_LSETUP_START 12)
|
||||
(UNSPEC_LSETUP_END 13)
|
||||
+ (UNSPEC_FRAME_BLOCKAGE 14)
|
||||
|
||||
(UNSPECV_SET_FP 1)
|
||||
(UNSPECV_ENTRY 2)
|
||||
@@ -1676,6 +1677,32 @@
|
||||
|
||||
;; Miscellaneous instructions.
|
||||
|
||||
+;; In windowed ABI stack pointer adjustment must happen before any access
|
||||
+;; to the space allocated on stack is allowed, otherwise register spill
|
||||
+;; area may be clobbered. That's what frame blockage is supposed to enforce.
|
||||
+
|
||||
+(define_expand "allocate_stack"
|
||||
+ [(set (match_operand 0 "nonimmed_operand")
|
||||
+ (minus (reg A1_REG) (match_operand 1 "add_operand")))
|
||||
+ (set (reg A1_REG)
|
||||
+ (minus (reg A1_REG) (match_dup 1)))]
|
||||
+ "TARGET_WINDOWED_ABI"
|
||||
+{
|
||||
+ if (CONST_INT_P (operands[1]))
|
||||
+ {
|
||||
+ rtx neg_op0 = GEN_INT (-INTVAL (operands[1]));
|
||||
+ emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, neg_op0));
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ emit_insn (gen_subsi3 (stack_pointer_rtx, stack_pointer_rtx,
|
||||
+ operands[1]));
|
||||
+ }
|
||||
+ emit_move_insn (operands[0], virtual_stack_dynamic_rtx);
|
||||
+ emit_insn (gen_frame_blockage ());
|
||||
+ DONE;
|
||||
+})
|
||||
+
|
||||
(define_expand "prologue"
|
||||
[(const_int 0)]
|
||||
""
|
||||
@@ -1767,6 +1794,25 @@
|
||||
[(set_attr "length" "0")
|
||||
(set_attr "type" "nop")])
|
||||
|
||||
+;; Do not schedule instructions accessing memory before this point.
|
||||
+
|
||||
+(define_expand "frame_blockage"
|
||||
+ [(set (match_dup 0)
|
||||
+ (unspec:BLK [(match_dup 1)] UNSPEC_FRAME_BLOCKAGE))]
|
||||
+ ""
|
||||
+{
|
||||
+ operands[0] = gen_rtx_MEM (BLKmode, gen_rtx_SCRATCH (Pmode));
|
||||
+ MEM_VOLATILE_P (operands[0]) = 1;
|
||||
+ operands[1] = stack_pointer_rtx;
|
||||
+})
|
||||
+
|
||||
+(define_insn "*frame_blockage"
|
||||
+ [(set (match_operand:BLK 0 "" "")
|
||||
+ (unspec:BLK [(match_operand:SI 1 "" "")] UNSPEC_FRAME_BLOCKAGE))]
|
||||
+ ""
|
||||
+ ""
|
||||
+ [(set_attr "length" "0")])
|
||||
+
|
||||
(define_insn "trap"
|
||||
[(trap_if (const_int 1) (const_int 0))]
|
||||
""
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
From 6765eecde2ed8d4be0fc217408b9e9b92a840aff Mon Sep 17 00:00:00 2001
|
||||
From: Max Filippov <jcmvbkbc@gmail.com>
|
||||
Date: Tue, 4 Sep 2018 00:39:32 -0700
|
||||
Subject: [PATCH] gcc: xtensa: fix NAND code in xtensa_expand_atomic
|
||||
|
||||
NAND is ~(a1 & a2), but xtensa_expand_atomic does ~a1 & a2.
|
||||
That fixes libatomic tests atomic-op-{1,2}.
|
||||
|
||||
gcc/
|
||||
2018-09-04 Max Filippov <jcmvbkbc@gmail.com>
|
||||
|
||||
* config/xtensa/xtensa.c (xtensa_expand_atomic): Reorder AND and
|
||||
XOR operations in NAND case.
|
||||
|
||||
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
|
||||
Backported from: r264087
|
||||
---
|
||||
gcc/config/xtensa/xtensa.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c
|
||||
index 7cfe64d42895..080bb4ad765d 100644
|
||||
--- a/gcc/config/xtensa/xtensa.c
|
||||
+++ b/gcc/config/xtensa/xtensa.c
|
||||
@@ -1614,9 +1614,9 @@ xtensa_expand_atomic (enum rtx_code code, rtx target, rtx mem, rtx val,
|
||||
break;
|
||||
|
||||
case MULT: /* NAND */
|
||||
- tmp = expand_simple_binop (SImode, XOR, old, ac.modemask,
|
||||
+ tmp = expand_simple_binop (SImode, AND, old, val,
|
||||
NULL_RTX, 1, OPTAB_DIRECT);
|
||||
- tmp = expand_simple_binop (SImode, AND, tmp, val,
|
||||
+ tmp = expand_simple_binop (SImode, XOR, tmp, ac.modemask,
|
||||
new_rtx, 1, OPTAB_DIRECT);
|
||||
break;
|
||||
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
From 960a2552f7b418134cdf7a31e96023a3811b98dd Mon Sep 17 00:00:00 2001
|
||||
From: Max Filippov <jcmvbkbc@gmail.com>
|
||||
Date: Sun, 4 Nov 2018 23:55:59 -0800
|
||||
Subject: [PATCH] gcc: xtensa: don't force PIC for uclinux target
|
||||
|
||||
xtensa-uclinux uses bFLT executable file format that cannot relocate
|
||||
fields representing offsets from data to code. C++ objects built as PIC
|
||||
use offsets to encode FDE structures. As a result C++ exception handling
|
||||
doesn't work correctly on xtensa-uclinux. Don't use PIC by default on
|
||||
xtensa-uclinux.
|
||||
|
||||
gcc/
|
||||
2018-11-05 Max Filippov <jcmvbkbc@gmail.com>
|
||||
|
||||
* config/xtensa/uclinux.h (XTENSA_ALWAYS_PIC): Change to 0.
|
||||
|
||||
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
|
||||
---
|
||||
Backported from: r265823
|
||||
|
||||
gcc/config/xtensa/uclinux.h | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/gcc/config/xtensa/uclinux.h b/gcc/config/xtensa/uclinux.h
|
||||
index ba26187c8f7a..c7743df9d97c 100644
|
||||
--- a/gcc/config/xtensa/uclinux.h
|
||||
+++ b/gcc/config/xtensa/uclinux.h
|
||||
@@ -59,8 +59,8 @@ along with GCC; see the file COPYING3. If not see
|
||||
#undef LOCAL_LABEL_PREFIX
|
||||
#define LOCAL_LABEL_PREFIX "."
|
||||
|
||||
-/* Always enable "-fpic" for Xtensa Linux. */
|
||||
-#define XTENSA_ALWAYS_PIC 1
|
||||
+/* Don't enable "-fpic" for Xtensa uclinux. */
|
||||
+#define XTENSA_ALWAYS_PIC 0
|
||||
|
||||
#undef TARGET_LIBC_HAS_FUNCTION
|
||||
#define TARGET_LIBC_HAS_FUNCTION no_c99_libc_has_function
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
From c2773170a1b0e2728f71f2275a99fd177ba2cef4 Mon Sep 17 00:00:00 2001
|
||||
From: Romain Naour <romain.naour@gmail.com>
|
||||
Date: Tue, 2 May 2017 23:25:17 +0200
|
||||
Subject: [PATCH] fix m68k uclinux 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 <wbx@openadk.org>
|
||||
[Romain: convert to git patch]
|
||||
Signed-off-by: Romain Naour <romain.naour@gmail.com>
|
||||
---
|
||||
libgcc/config.host | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libgcc/config.host b/libgcc/config.host
|
||||
index b279a64..04fe183 100644
|
||||
--- a/libgcc/config.host
|
||||
+++ b/libgcc/config.host
|
||||
@@ -820,7 +820,7 @@ m68k*-*-netbsdelf*)
|
||||
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
|
||||
--
|
||||
2.9.3
|
||||
|
||||
@@ -1,111 +0,0 @@
|
||||
From 63f0917d90eb83d267dc517fdfb6523a74b1917c Mon Sep 17 00:00:00 2001
|
||||
From: Romain Naour <romain.naour@gmail.com>
|
||||
Date: Wed, 3 May 2017 00:37:06 +0200
|
||||
Subject: [PATCH] remove selftests
|
||||
|
||||
When the gcc archive is extracted by the gcc.mk, the gcc/testsuite
|
||||
is excluded:
|
||||
|
||||
HOST_GCC_EXCLUDES = \
|
||||
libjava/* libgo/* \
|
||||
gcc/testsuite/* libstdc++-v3/testsuite/*
|
||||
|
||||
The new Makefile target from the "Selftest framework" [1] added a dependency
|
||||
on the gcc/testsuite/Makefile.
|
||||
Revert partially the commit [1] to allow building gcc without selftest.
|
||||
|
||||
[1] https://github.com/gcc-mirror/gcc/commit/99b4f3a2d5bf2c137de9731e27b483eb6b462fd9
|
||||
|
||||
Signed-off-by: Romain Naour <romain.naour@gmail.com>
|
||||
---
|
||||
gcc/Makefile.in | 46 +++++-----------------------------------------
|
||||
1 file changed, 5 insertions(+), 41 deletions(-)
|
||||
|
||||
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
|
||||
index 74d1912..652a554 100644
|
||||
--- a/gcc/Makefile.in
|
||||
+++ b/gcc/Makefile.in
|
||||
@@ -1581,14 +1581,13 @@ OBJS = \
|
||||
OBJS-libcommon = diagnostic.o diagnostic-color.o diagnostic-show-locus.o \
|
||||
edit-context.o \
|
||||
pretty-print.o intl.o \
|
||||
- vec.o input.o version.o hash-table.o ggc-none.o memory-block.o \
|
||||
- selftest.o
|
||||
+ vec.o input.o version.o hash-table.o ggc-none.o memory-block.o
|
||||
|
||||
# Objects in libcommon-target.a, used by drivers and by the core
|
||||
# compiler and containing target-dependent code.
|
||||
OBJS-libcommon-target = $(common_out_object_file) prefix.o params.o \
|
||||
opts.o opts-common.o options.o vec.o hooks.o common/common-targhooks.o \
|
||||
- hash-table.o file-find.o spellcheck.o selftest.o
|
||||
+ hash-table.o file-find.o spellcheck.o
|
||||
|
||||
# This lists all host objects for the front ends.
|
||||
ALL_HOST_FRONTEND_OBJS = $(foreach v,$(CONFIG_LANGUAGES),$($(v)_OBJS))
|
||||
@@ -1865,10 +1864,10 @@ config.status: $(srcdir)/configure $(srcdir)/config.gcc
|
||||
quickstrap: all
|
||||
cd $(toplevel_builddir) && $(MAKE) all-target-libgcc
|
||||
|
||||
-all.internal: start.encap rest.encap doc selftest
|
||||
+all.internal: start.encap rest.encap doc
|
||||
# This is what to compile if making a cross-compiler.
|
||||
all.cross: native gcc-cross$(exeext) cpp$(exeext) specs \
|
||||
- libgcc-support lang.all.cross doc selftest @GENINSRC@ srcextra
|
||||
+ libgcc-support lang.all.cross doc @GENINSRC@ srcextra
|
||||
# This is what must be made before installing GCC and converting libraries.
|
||||
start.encap: native xgcc$(exeext) cpp$(exeext) specs \
|
||||
libgcc-support lang.start.encap @GENINSRC@ srcextra
|
||||
@@ -1888,41 +1887,6 @@ endif
|
||||
# This does the things that can't be done on the host machine.
|
||||
rest.cross: specs
|
||||
|
||||
-# GCC's selftests.
|
||||
-# Specify a dummy input file to placate the driver.
|
||||
-# Specify -nostdinc to work around missing WIND_BASE environment variable
|
||||
-# required for *-wrs-vxworks-* targets.
|
||||
-# Specify -o /dev/null so the output of -S is discarded. More importantly
|
||||
-# It does not try to create a file with the name "null.s" on POSIX and
|
||||
-# "nul.s" on Windows. Because on Windows "nul" is a reserved file name.
|
||||
-# Specify the path to gcc/testsuite/selftests within the srcdir
|
||||
-# as an argument to -fself-test.
|
||||
-SELFTEST_FLAGS = -nostdinc -x c /dev/null -S -o /dev/null \
|
||||
- -fself-test=$(srcdir)/testsuite/selftests
|
||||
-
|
||||
-# Run the selftests during the build once we have a driver and a cc1,
|
||||
-# so that self-test failures are caught as early as possible.
|
||||
-# Use "s-selftest" to ensure that we only run the selftests if the
|
||||
-# driver, cc1, or selftest data change.
|
||||
-.PHONY: selftest
|
||||
-selftest: s-selftest
|
||||
-s-selftest: $(GCC_PASSES) cc1$(exeext) stmp-int-hdrs \
|
||||
- $(srcdir)/testsuite/selftests
|
||||
- $(GCC_FOR_TARGET) $(SELFTEST_FLAGS)
|
||||
- $(STAMP) $@
|
||||
-
|
||||
-# Convenience method for running selftests under gdb:
|
||||
-.PHONY: selftest-gdb
|
||||
-selftest-gdb: $(GCC_PASSES) cc1$(exeext) stmp-int-hdrs
|
||||
- $(GCC_FOR_TARGET) $(SELFTEST_FLAGS) \
|
||||
- -wrapper gdb,--args
|
||||
-
|
||||
-# Convenience method for running selftests under valgrind:
|
||||
-.PHONY: selftest-valgrind
|
||||
-selftest-valgrind: $(GCC_PASSES) cc1$(exeext) stmp-int-hdrs
|
||||
- $(GCC_FOR_TARGET) $(SELFTEST_FLAGS) \
|
||||
- -wrapper valgrind,--leak-check=full
|
||||
-
|
||||
# Recompile all the language-independent object files.
|
||||
# This is used only if the user explicitly asks for it.
|
||||
compilations: $(BACKEND)
|
||||
@@ -2076,7 +2040,7 @@ gcc-nm.c: gcc-ar.c
|
||||
cp $^ $@
|
||||
|
||||
COLLECT2_OBJS = collect2.o collect2-aix.o tlink.o vec.o ggc-none.o \
|
||||
- collect-utils.o file-find.o hash-table.o selftest.o
|
||||
+ collect-utils.o file-find.o hash-table.o
|
||||
COLLECT2_LIBS = @COLLECT2_LIBS@
|
||||
collect2$(exeext): $(COLLECT2_OBJS) $(LIBDEPS)
|
||||
# Don't try modifying collect2 (aka ld) in place--it might be linking this.
|
||||
--
|
||||
2.9.3
|
||||
|
||||
@@ -14,6 +14,7 @@ Subject: [PATCH] Revert: 2016-01-21 Ajit Agarwal
|
||||
|
||||
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248540 138bc75d-0d04-0410-961f-82ee72b054a4
|
||||
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
|
||||
Signed-off-by: Romain Naour <romain.naour@gmail.com>
|
||||
diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
|
||||
index 66e4ef5..2c9ece1 100644
|
||||
--- a/gcc/config/microblaze/microblaze.h
|
||||
@@ -38,11 +38,11 @@ with the first arm-specific C++ tests (in that directory).
|
||||
* g++.target/arm/arm.exp: New file.
|
||||
* g++.target/arm/pr81497.C: Likewise.
|
||||
|
||||
|
||||
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261191 138bc75d-0d04-0410-961f-82ee72b054a4
|
||||
Upstream-Status: Merged (gcc-8-branch)
|
||||
Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com>
|
||||
[gportay: drop gcc/{,testsuite/}ChangeLog changes]
|
||||
Signed-off-by: Romain Naour <romain.naour@gmail.com>
|
||||
---
|
||||
gcc/config/arm/arm-builtins.c | 42 +++++++++++++---------
|
||||
gcc/config/arm/arm_acle.h | 28 +++++++--------
|
||||
@@ -56,7 +56,7 @@ diff --git a/gcc/config/arm/arm-builtins.c b/gcc/config/arm/arm-builtins.c
|
||||
index 7fde7a04672..183a7b907f6 100644
|
||||
--- a/gcc/config/arm/arm-builtins.c
|
||||
+++ b/gcc/config/arm/arm-builtins.c
|
||||
@@ -78,7 +78,11 @@ enum arm_type_qualifiers
|
||||
@@ -75,7 +75,11 @@ enum arm_type_qualifiers
|
||||
/* Lane indices - must be within range of previous argument = a vector. */
|
||||
qualifier_lane_index = 0x200,
|
||||
/* Lane indices for single lane structure loads and stores. */
|
||||
@@ -69,7 +69,7 @@ index 7fde7a04672..183a7b907f6 100644
|
||||
};
|
||||
|
||||
/* The qualifier_internal allows generation of a unary builtin from
|
||||
@@ -202,7 +206,7 @@ arm_cdp_qualifiers[SIMD_MAX_BUILTIN_ARGS]
|
||||
@@ -185,7 +189,7 @@ arm_cdp_qualifiers[SIMD_MAX_BUILTIN_ARGS]
|
||||
static enum arm_type_qualifiers
|
||||
arm_ldc_qualifiers[SIMD_MAX_BUILTIN_ARGS]
|
||||
= { qualifier_void, qualifier_unsigned_immediate,
|
||||
@@ -78,7 +78,7 @@ index 7fde7a04672..183a7b907f6 100644
|
||||
#define LDC_QUALIFIERS \
|
||||
(arm_ldc_qualifiers)
|
||||
|
||||
@@ -210,7 +214,7 @@ arm_ldc_qualifiers[SIMD_MAX_BUILTIN_ARGS]
|
||||
@@ -193,7 +197,7 @@ arm_ldc_qualifiers[SIMD_MAX_BUILTIN_ARGS]
|
||||
static enum arm_type_qualifiers
|
||||
arm_stc_qualifiers[SIMD_MAX_BUILTIN_ARGS]
|
||||
= { qualifier_void, qualifier_unsigned_immediate,
|
||||
@@ -87,7 +87,7 @@ index 7fde7a04672..183a7b907f6 100644
|
||||
#define STC_QUALIFIERS \
|
||||
(arm_stc_qualifiers)
|
||||
|
||||
@@ -1095,19 +1099,25 @@ arm_init_builtin (unsigned int fcode, arm_builtin_datum *d,
|
||||
@@ -1079,19 +1083,25 @@ arm_init_builtin (unsigned int fcode, arm_builtin_datum *d,
|
||||
if (qualifiers & qualifier_pointer && VECTOR_MODE_P (op_mode))
|
||||
op_mode = GET_MODE_INNER (op_mode);
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
From 6ea832d09415cd82b744d0cf168cdd728c43df47 Mon Sep 17 00:00:00 2001
|
||||
From: Mark Corbin <mark.corbin@embecosm.com>
|
||||
Date: Thu, 22 Nov 2018 12:19:11 +0000
|
||||
Subject: [PATCH] gcc: define _REENTRANT for RISC-V when -pthread is passed
|
||||
|
||||
The detection of pthread support fails on RISC-V unless _REENTRANT
|
||||
is defined. Added the CPP_SPEC definition from gcc 8.1.0 to correct
|
||||
this.
|
||||
|
||||
Signed-off-by: Mark Corbin <mark.corbin@embecosm.com>
|
||||
Signed-off-by: Romain Naour <romain.naour@gmail.com>
|
||||
---
|
||||
gcc/config/riscv/linux.h | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/gcc/config/riscv/linux.h b/gcc/config/riscv/linux.h
|
||||
index 4b2f7b6e1fd..b00d23ddfa0 100644
|
||||
--- a/gcc/config/riscv/linux.h
|
||||
+++ b/gcc/config/riscv/linux.h
|
||||
@@ -47,6 +47,8 @@ along with GCC; see the file COPYING3. If not see
|
||||
|
||||
#define ICACHE_FLUSH_FUNC "__riscv_flush_icache"
|
||||
|
||||
+#define CPP_SPEC "%{pthread:-D_REENTRANT}"
|
||||
+
|
||||
#define LINK_SPEC "\
|
||||
-melf" XLEN_SPEC "lriscv \
|
||||
%{shared} \
|
||||
--
|
||||
2.19.1
|
||||
|
||||
@@ -4,15 +4,15 @@ choice
|
||||
prompt "GCC compiler Version"
|
||||
default BR2_GCC_VERSION_ARC if BR2_arc
|
||||
default BR2_GCC_VERSION_OR1K if BR2_or1k
|
||||
default BR2_GCC_VERSION_6_X
|
||||
default BR2_GCC_VERSION_7_X
|
||||
help
|
||||
Select the version of gcc you wish to use.
|
||||
|
||||
config BR2_GCC_VERSION_ARC
|
||||
bool "gcc arc (7.x)"
|
||||
bool "gcc arc (8.x)"
|
||||
# Only supported architecture
|
||||
depends on BR2_arc
|
||||
select BR2_TOOLCHAIN_GCC_AT_LEAST_7
|
||||
select BR2_TOOLCHAIN_GCC_AT_LEAST_8
|
||||
|
||||
config BR2_GCC_VERSION_OR1K
|
||||
bool "gcc or1k (5.x)"
|
||||
@@ -32,6 +32,8 @@ config BR2_GCC_VERSION_4_9_X
|
||||
depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_mips64 || BR2_mips64el))
|
||||
# glibc >= 2.26 needs gcc >= 6.2
|
||||
depends on !(BR2_TOOLCHAIN_USES_GLIBC && BR2_powerpc64le)
|
||||
# glibc >= 2.27 needs gcc >= 5
|
||||
depends on !(BR2_TOOLCHAIN_USES_GLIBC && (BR2_aarch64 || BR2_aarch64_be))
|
||||
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
|
||||
|
||||
config BR2_GCC_VERSION_5_X
|
||||
@@ -57,30 +59,33 @@ config BR2_GCC_VERSION_6_X
|
||||
|
||||
config BR2_GCC_VERSION_7_X
|
||||
bool "gcc 7.x"
|
||||
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_8
|
||||
# Broken or unsupported architectures
|
||||
depends on !BR2_or1k
|
||||
select BR2_TOOLCHAIN_GCC_AT_LEAST_7
|
||||
|
||||
config BR2_GCC_VERSION_8_X
|
||||
bool "gcc 8.x"
|
||||
# Broken or unsupported architectures
|
||||
depends on !BR2_or1k
|
||||
select BR2_TOOLCHAIN_GCC_AT_LEAST_8
|
||||
|
||||
endchoice
|
||||
|
||||
# Indicates if GCC for architecture supports --with-{arch,cpu,..} to
|
||||
# set default CFLAGS, otherwise values will be used by toolchain
|
||||
# wrapper.
|
||||
config BR2_GCC_ARCH_HAS_CONFIGURABLE_DEFAULTS
|
||||
# libcilkrts was introduced in gcc 4.9 (oldest gcc version we
|
||||
# support), and removed in gcc 8.x
|
||||
config BR2_GCC_SUPPORTS_LIBCILKRTS
|
||||
bool
|
||||
default y if !BR2_bfin
|
||||
|
||||
config BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE
|
||||
bool
|
||||
default y
|
||||
default y if !BR2_TOOLCHAIN_GCC_AT_LEAST_8
|
||||
|
||||
config BR2_GCC_VERSION
|
||||
string
|
||||
default "4.9.4" if BR2_GCC_VERSION_4_9_X
|
||||
default "5.5.0" if BR2_GCC_VERSION_5_X
|
||||
default "6.4.0" if BR2_GCC_VERSION_6_X
|
||||
default "7.3.0" if BR2_GCC_VERSION_7_X
|
||||
default "arc-2017.09-release" if BR2_GCC_VERSION_ARC
|
||||
default "6.5.0" if BR2_GCC_VERSION_6_X
|
||||
default "7.4.0" if BR2_GCC_VERSION_7_X
|
||||
default "8.3.0" if BR2_GCC_VERSION_8_X
|
||||
default "arc-2018.09-release" if BR2_GCC_VERSION_ARC
|
||||
default "or1k-musl-5.4.0-20170218" if BR2_GCC_VERSION_OR1K
|
||||
|
||||
config BR2_EXTRA_GCC_CONFIG_OPTIONS
|
||||
|
||||
@@ -1,49 +0,0 @@
|
||||
From c2694d3739d90ea3350b42252638b604a2c122b7 Mon Sep 17 00:00:00 2001
|
||||
From: Claudiu Zissulescu <claziss@gmail.com>
|
||||
Date: Tue, 7 Nov 2017 20:16:41 +0200
|
||||
Subject: [PATCH] [FIX][ZOL] fix checking for jumps
|
||||
|
||||
Signed-off-by: Evgeniy Didin <didin@synopsys.com>
|
||||
---
|
||||
gcc/config/arc/arc.c | 3 ++-
|
||||
gcc/testsuite/gcc.target/arc/loop-4.c | 14 ++++++++++++++
|
||||
2 files changed, 16 insertions(+), 1 deletion(-)
|
||||
create mode 100644 gcc/testsuite/gcc.target/arc/loop-4.c
|
||||
|
||||
diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c
|
||||
index 22eeb34a371..5d367499d03 100644
|
||||
--- a/gcc/config/arc/arc.c
|
||||
+++ b/gcc/config/arc/arc.c
|
||||
@@ -7505,7 +7505,8 @@ hwloop_optimize (hwloop_info loop)
|
||||
&& INSN_P (last_insn)
|
||||
&& (JUMP_P (last_insn) || CALL_P (last_insn)
|
||||
|| GET_CODE (PATTERN (last_insn)) == SEQUENCE
|
||||
- || JUMP_P (prev_active_insn (last_insn))
|
||||
+ || (prev_active_insn (last_insn)
|
||||
+ && JUMP_P (prev_active_insn (last_insn)))
|
||||
/* At this stage we can have (insn (clobber (mem:BLK
|
||||
(reg)))) instructions, ignpre them. */
|
||||
|| (GET_CODE (PATTERN (last_insn)) != CLOBBER
|
||||
diff --git a/gcc/testsuite/gcc.target/arc/loop-4.c b/gcc/testsuite/gcc.target/arc/loop-4.c
|
||||
new file mode 100644
|
||||
index 00000000000..99a93a74d1e
|
||||
--- /dev/null
|
||||
+++ b/gcc/testsuite/gcc.target/arc/loop-4.c
|
||||
@@ -0,0 +1,14 @@
|
||||
+/* { dg-do assemble } */
|
||||
+/* { dg-do compile } */
|
||||
+/* { dg-options "-Os" } */
|
||||
+
|
||||
+
|
||||
+void fn1(void *p1, int p2, int p3)
|
||||
+{
|
||||
+ char *d = p1;
|
||||
+ do
|
||||
+ *d++ = p2;
|
||||
+ while (--p3);
|
||||
+}
|
||||
+
|
||||
+/* { dg-final { scan-assembler "lp_count" } } */
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -1,64 +0,0 @@
|
||||
From 714739e69ead1d9823233af40645277f6d4633ea Mon Sep 17 00:00:00 2001
|
||||
From: Peter Korsgaard <peter@korsgaard.com>
|
||||
Date: Tue, 2 May 2017 23:21:46 +0200
|
||||
Subject: [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 <peter@korsgaard.com>
|
||||
[Romain: convert to git patch]
|
||||
Signed-off-by: Romain Naour <romain.naour@gmail.com>
|
||||
---
|
||||
libcilkrts/include/cilk/reducer_min_max.h | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/libcilkrts/include/cilk/reducer_min_max.h b/libcilkrts/include/cilk/reducer_min_max.h
|
||||
index 641aa82..4f8e010 100644
|
||||
--- a/libcilkrts/include/cilk/reducer_min_max.h
|
||||
+++ b/libcilkrts/include/cilk/reducer_min_max.h
|
||||
@@ -3289,7 +3289,9 @@ __CILKRTS_BEGIN_EXTERN_C
|
||||
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 @@ __CILKRTS_BEGIN_EXTERN_C
|
||||
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 @@ __CILKRTS_BEGIN_EXTERN_C
|
||||
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 @@ __CILKRTS_BEGIN_EXTERN_C
|
||||
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)
|
||||
--
|
||||
2.9.3
|
||||
|
||||
@@ -1,111 +0,0 @@
|
||||
From 63f0917d90eb83d267dc517fdfb6523a74b1917c Mon Sep 17 00:00:00 2001
|
||||
From: Romain Naour <romain.naour@gmail.com>
|
||||
Date: Wed, 3 May 2017 00:37:06 +0200
|
||||
Subject: [PATCH] remove selftests
|
||||
|
||||
When the gcc archive is extracted by the gcc.mk, the gcc/testsuite
|
||||
is excluded:
|
||||
|
||||
HOST_GCC_EXCLUDES = \
|
||||
libjava/* libgo/* \
|
||||
gcc/testsuite/* libstdc++-v3/testsuite/*
|
||||
|
||||
The new Makefile target from the "Selftest framework" [1] added a dependency
|
||||
on the gcc/testsuite/Makefile.
|
||||
Revert partially the commit [1] to allow building gcc without selftest.
|
||||
|
||||
[1] https://github.com/gcc-mirror/gcc/commit/99b4f3a2d5bf2c137de9731e27b483eb6b462fd9
|
||||
|
||||
Signed-off-by: Romain Naour <romain.naour@gmail.com>
|
||||
---
|
||||
gcc/Makefile.in | 46 +++++-----------------------------------------
|
||||
1 file changed, 5 insertions(+), 41 deletions(-)
|
||||
|
||||
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
|
||||
index 74d1912..652a554 100644
|
||||
--- a/gcc/Makefile.in
|
||||
+++ b/gcc/Makefile.in
|
||||
@@ -1581,14 +1581,13 @@ OBJS = \
|
||||
OBJS-libcommon = diagnostic.o diagnostic-color.o diagnostic-show-locus.o \
|
||||
edit-context.o \
|
||||
pretty-print.o intl.o \
|
||||
- vec.o input.o version.o hash-table.o ggc-none.o memory-block.o \
|
||||
- selftest.o
|
||||
+ vec.o input.o version.o hash-table.o ggc-none.o memory-block.o
|
||||
|
||||
# Objects in libcommon-target.a, used by drivers and by the core
|
||||
# compiler and containing target-dependent code.
|
||||
OBJS-libcommon-target = $(common_out_object_file) prefix.o params.o \
|
||||
opts.o opts-common.o options.o vec.o hooks.o common/common-targhooks.o \
|
||||
- hash-table.o file-find.o spellcheck.o selftest.o
|
||||
+ hash-table.o file-find.o spellcheck.o
|
||||
|
||||
# This lists all host objects for the front ends.
|
||||
ALL_HOST_FRONTEND_OBJS = $(foreach v,$(CONFIG_LANGUAGES),$($(v)_OBJS))
|
||||
@@ -1865,10 +1864,10 @@ config.status: $(srcdir)/configure $(srcdir)/config.gcc
|
||||
quickstrap: all
|
||||
cd $(toplevel_builddir) && $(MAKE) all-target-libgcc
|
||||
|
||||
-all.internal: start.encap rest.encap doc selftest
|
||||
+all.internal: start.encap rest.encap doc
|
||||
# This is what to compile if making a cross-compiler.
|
||||
all.cross: native gcc-cross$(exeext) cpp$(exeext) specs \
|
||||
- libgcc-support lang.all.cross doc selftest @GENINSRC@ srcextra
|
||||
+ libgcc-support lang.all.cross doc @GENINSRC@ srcextra
|
||||
# This is what must be made before installing GCC and converting libraries.
|
||||
start.encap: native xgcc$(exeext) cpp$(exeext) specs \
|
||||
libgcc-support lang.start.encap @GENINSRC@ srcextra
|
||||
@@ -1888,41 +1887,6 @@ endif
|
||||
# This does the things that can't be done on the host machine.
|
||||
rest.cross: specs
|
||||
|
||||
-# GCC's selftests.
|
||||
-# Specify a dummy input file to placate the driver.
|
||||
-# Specify -nostdinc to work around missing WIND_BASE environment variable
|
||||
-# required for *-wrs-vxworks-* targets.
|
||||
-# Specify -o /dev/null so the output of -S is discarded. More importantly
|
||||
-# It does not try to create a file with the name "null.s" on POSIX and
|
||||
-# "nul.s" on Windows. Because on Windows "nul" is a reserved file name.
|
||||
-# Specify the path to gcc/testsuite/selftests within the srcdir
|
||||
-# as an argument to -fself-test.
|
||||
-SELFTEST_FLAGS = -nostdinc -x c /dev/null -S -o /dev/null \
|
||||
- -fself-test=$(srcdir)/testsuite/selftests
|
||||
-
|
||||
-# Run the selftests during the build once we have a driver and a cc1,
|
||||
-# so that self-test failures are caught as early as possible.
|
||||
-# Use "s-selftest" to ensure that we only run the selftests if the
|
||||
-# driver, cc1, or selftest data change.
|
||||
-.PHONY: selftest
|
||||
-selftest: s-selftest
|
||||
-s-selftest: $(GCC_PASSES) cc1$(exeext) stmp-int-hdrs \
|
||||
- $(srcdir)/testsuite/selftests
|
||||
- $(GCC_FOR_TARGET) $(SELFTEST_FLAGS)
|
||||
- $(STAMP) $@
|
||||
-
|
||||
-# Convenience method for running selftests under gdb:
|
||||
-.PHONY: selftest-gdb
|
||||
-selftest-gdb: $(GCC_PASSES) cc1$(exeext) stmp-int-hdrs
|
||||
- $(GCC_FOR_TARGET) $(SELFTEST_FLAGS) \
|
||||
- -wrapper gdb,--args
|
||||
-
|
||||
-# Convenience method for running selftests under valgrind:
|
||||
-.PHONY: selftest-valgrind
|
||||
-selftest-valgrind: $(GCC_PASSES) cc1$(exeext) stmp-int-hdrs
|
||||
- $(GCC_FOR_TARGET) $(SELFTEST_FLAGS) \
|
||||
- -wrapper valgrind,--leak-check=full
|
||||
-
|
||||
# Recompile all the language-independent object files.
|
||||
# This is used only if the user explicitly asks for it.
|
||||
compilations: $(BACKEND)
|
||||
@@ -2076,7 +2040,7 @@ gcc-nm.c: gcc-ar.c
|
||||
cp $^ $@
|
||||
|
||||
COLLECT2_OBJS = collect2.o collect2-aix.o tlink.o vec.o ggc-none.o \
|
||||
- collect-utils.o file-find.o hash-table.o selftest.o
|
||||
+ collect-utils.o file-find.o hash-table.o
|
||||
COLLECT2_LIBS = @COLLECT2_LIBS@
|
||||
collect2$(exeext): $(COLLECT2_OBJS) $(LIBDEPS)
|
||||
# Don't try modifying collect2 (aka ld) in place--it might be linking this.
|
||||
--
|
||||
2.9.3
|
||||
|
||||
@@ -8,12 +8,13 @@ GCC_FINAL_VERSION = $(GCC_VERSION)
|
||||
GCC_FINAL_SITE = $(GCC_SITE)
|
||||
GCC_FINAL_SOURCE = $(GCC_SOURCE)
|
||||
|
||||
HOST_GCC_FINAL_DL_SUBDIR = gcc
|
||||
|
||||
HOST_GCC_FINAL_DEPENDENCIES = \
|
||||
$(HOST_GCC_COMMON_DEPENDENCIES) \
|
||||
$(BR_LIBC)
|
||||
|
||||
HOST_GCC_FINAL_EXCLUDES = $(HOST_GCC_EXCLUDES)
|
||||
HOST_GCC_FINAL_POST_EXTRACT_HOOKS += HOST_GCC_FAKE_TESTSUITE
|
||||
|
||||
ifneq ($(ARCH_XTENSA_OVERLAY_FILE),)
|
||||
HOST_GCC_FINAL_POST_EXTRACT_HOOKS += HOST_GCC_XTENSA_OVERLAY_EXTRACT
|
||||
@@ -67,16 +68,16 @@ HOST_GCC_FINAL_GCC_LIB_DIR = $(HOST_DIR)/$(GNU_TARGET_NAME)/lib*
|
||||
# doesn't use floating point operations.
|
||||
ifeq ($(BR2_sh4)$(BR2_sh4eb),y)
|
||||
HOST_GCC_FINAL_CONF_OPTS += "--with-multilib-list=m4,m4-nofpu"
|
||||
# check-package OverriddenVariable
|
||||
HOST_GCC_FINAL_GCC_LIB_DIR = $(HOST_DIR)/$(GNU_TARGET_NAME)/lib/!m4*
|
||||
endif
|
||||
ifeq ($(BR2_sh4a)$(BR2_sh4aeb),y)
|
||||
HOST_GCC_FINAL_CONF_OPTS += "--with-multilib-list=m4a,m4a-nofpu"
|
||||
# check-package OverriddenVariable
|
||||
HOST_GCC_FINAL_GCC_LIB_DIR = $(HOST_DIR)/$(GNU_TARGET_NAME)/lib/!m4*
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_bfin),y)
|
||||
HOST_GCC_FINAL_CONF_OPTS += --disable-symvers
|
||||
endif
|
||||
ifeq ($(BR2_GCC_SUPPORTS_LIBCILKRTS),y)
|
||||
|
||||
# libcilkrts does not support v8
|
||||
ifeq ($(BR2_sparc),y)
|
||||
@@ -88,10 +89,16 @@ ifeq ($(BR2_PTHREADS_NONE),y)
|
||||
HOST_GCC_FINAL_CONF_OPTS += --disable-libcilkrts
|
||||
endif
|
||||
|
||||
# Disable shared libs like libstdc++ if we do static since it confuses linking
|
||||
# In that case also disable libcilkrts as there is no static version
|
||||
ifeq ($(BR2_STATIC_LIBS),y)
|
||||
HOST_GCC_FINAL_CONF_OPTS += --disable-shared --disable-libcilkrts
|
||||
# disable libcilkrts as there is no static version
|
||||
HOST_GCC_FINAL_CONF_OPTS += --disable-libcilkrts
|
||||
endif
|
||||
|
||||
endif # BR2_GCC_SUPPORTS_LIBCILKRTS
|
||||
|
||||
# Disable shared libs like libstdc++ if we do static since it confuses linking
|
||||
ifeq ($(BR2_STATIC_LIBS),y)
|
||||
HOST_GCC_FINAL_CONF_OPTS += --disable-shared
|
||||
else
|
||||
HOST_GCC_FINAL_CONF_OPTS += --enable-shared
|
||||
endif
|
||||
|
||||
@@ -8,10 +8,14 @@ GCC_INITIAL_VERSION = $(GCC_VERSION)
|
||||
GCC_INITIAL_SITE = $(GCC_SITE)
|
||||
GCC_INITIAL_SOURCE = $(GCC_SOURCE)
|
||||
|
||||
# We do not have a 'gcc' package per-se; we only have two incarnations,
|
||||
# gcc-initial and gcc-final. gcc-initial is just am internal step that
|
||||
# users should not care about, while gcc-final is the one they shall see.
|
||||
HOST_GCC_INITIAL_DL_SUBDIR = gcc
|
||||
|
||||
HOST_GCC_INITIAL_DEPENDENCIES = $(HOST_GCC_COMMON_DEPENDENCIES)
|
||||
|
||||
HOST_GCC_INITIAL_EXCLUDES = $(HOST_GCC_EXCLUDES)
|
||||
HOST_GCC_INITIAL_POST_EXTRACT_HOOKS += HOST_GCC_FAKE_TESTSUITE
|
||||
|
||||
ifneq ($(ARCH_XTENSA_OVERLAY_FILE),)
|
||||
HOST_GCC_INITIAL_POST_EXTRACT_HOOKS += HOST_GCC_XTENSA_OVERLAY_EXTRACT
|
||||
@@ -40,13 +44,8 @@ HOST_GCC_INITIAL_CONF_OPTS = \
|
||||
HOST_GCC_INITIAL_CONF_ENV = \
|
||||
$(HOST_GCC_COMMON_CONF_ENV)
|
||||
|
||||
HOST_GCC_INITIAL_MAKE_OPTS = $(HOST_GCC_COMMON_MAKE_OPTS) all-gcc
|
||||
HOST_GCC_INITIAL_INSTALL_OPTS = install-gcc
|
||||
|
||||
ifeq ($(BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE),y)
|
||||
HOST_GCC_INITIAL_MAKE_OPTS += all-target-libgcc
|
||||
HOST_GCC_INITIAL_INSTALL_OPTS += install-target-libgcc
|
||||
endif
|
||||
HOST_GCC_INITIAL_MAKE_OPTS = $(HOST_GCC_COMMON_MAKE_OPTS) all-gcc all-target-libgcc
|
||||
HOST_GCC_INITIAL_INSTALL_OPTS = install-gcc install-target-libgcc
|
||||
|
||||
HOST_GCC_INITIAL_TOOLCHAIN_WRAPPER_ARGS += $(HOST_GCC_COMMON_TOOLCHAIN_WRAPPER_ARGS)
|
||||
HOST_GCC_INITIAL_POST_BUILD_HOOKS += TOOLCHAIN_WRAPPER_BUILD
|
||||
|
||||
@@ -2,12 +2,14 @@
|
||||
sha512 93abb78e16277454f41a8e9810f41f66c0fdffdc539a762ff6b67d3037f78db971378683fd2ebf707d1d51c059fad2161fe42d110c330027f40214b7db0f3efe gcc-4.9.4.tar.bz2
|
||||
# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-5.5.0/sha512.sum
|
||||
sha512 670ff52c2ae12c7852c12987e91798c5aa8bd6daf21f0d6e0cd57a4aa59cc4f06a837fe76426eaa1424cfddca937bed377680700eadc04d76b9180d462364fa1 gcc-5.5.0.tar.xz
|
||||
# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-6.4.0/sha512.sum
|
||||
sha512 02c60e54527c7adf584798d5251f8a0b80c93d5deafce82501b2c28e6692e0bd783927bbfc4bc527a863c0cccc025150a34740a9e29badb02d4b48e56a8aba90 gcc-6.4.0.tar.xz
|
||||
# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-7.3.0/sha512.sum
|
||||
sha512 ad41a7e4584e40e92cdf860bc0288500fbaf5dfb7e8c3fcabe9eba809c87bcfa85b46c19c19921b0cdf6d05483faede8287bb9ea120c0d1559449a70e602c8d4 gcc-7.3.0.tar.xz
|
||||
# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-6.5.0/sha512.sum
|
||||
sha512 ce046f9a50050fd54b870aab764f7db187fe7ea92eb4aaffb7c3689ca623755604e231f2af97ef795f41c406bb80c797dd69957cfdd51dfa2ba60813f72b7eac gcc-6.5.0.tar.xz
|
||||
# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-7.4.0/sha512.sum
|
||||
sha512 8864d8e4b97c2e1a4f17422f6e68120172ebefeab97b1757734f7185ca68a6b9a89011c6833c03fa454c17b0ac35b15e1d284881e6971035948ac6100f3aa45e gcc-7.4.0.tar.xz
|
||||
# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-8.3.0/sha512.sum
|
||||
sha512 1811337ae3add9680cec64968a2509d085b6dc5b6783fc1e8c295e3e47416196fd1a3ad8dfe7e10be2276b4f62c357659ce2902f239f60a8648548231b4b5802 gcc-8.3.0.tar.xz
|
||||
|
||||
# Locally calculated (fetched from Github)
|
||||
sha512 c30addd3c4dc66b90749a0f99b257c8a8e7966d27f286057b6b66f4a70ca22a1ee50d92882c4db13307d769a6fb28e1e2a2bab749a692cf3f89ef0c38f145efa gcc-arc-2017.09-release.tar.gz
|
||||
sha512 4d12c3ac27b9de9c533be3b8964cf23d21bf6933b5073183e1affe714b0ff33f9d6169e3b55a5c505d7dae33c9bb4f8b0d110461e3a124182d8c8d51b66b8e45 gcc-arc-2018.09-release.tar.gz
|
||||
# Locally calculated (fetched from Github)
|
||||
sha512 2de7cf47333a4092b02d3bb98f4206f14966f1d139a724d09cf3b22f8a43ae0c704f33e6477d6367a03c29b265480dc900169e9d417006c5d46f0ae446b8c6f1 gcc-or1k-musl-5.4.0-20170218.tar.gz
|
||||
|
||||
@@ -18,13 +18,13 @@ GCC_SITE = $(call github,openrisc,or1k-gcc,$(GCC_VERSION))
|
||||
GCC_SOURCE = gcc-$(GCC_VERSION).tar.gz
|
||||
else
|
||||
GCC_SITE = $(BR2_GNU_MIRROR:/=)/gcc/gcc-$(GCC_VERSION)
|
||||
# From version 5.5.0, 6.4.0 and 7.2.0 a bz2 release tarball is not
|
||||
# From version 5.5.0, 6.4.0, 7.2.0 and 8.1.0 a bz2 release tarball is not
|
||||
# provided anymore. Use the xz tarball instead.
|
||||
ifeq ($(BR2_GCC_VERSION_5_X)$(BR2_GCC_VERSION_6_X)$(BR2_GCC_VERSION_7_X),y)
|
||||
GCC_SOURCE = gcc-$(GCC_VERSION).tar.xz
|
||||
else
|
||||
ifeq ($(BR2_GCC_VERSION_4_9_X),y)
|
||||
GCC_SOURCE = gcc-$(GCC_VERSION).tar.bz2
|
||||
endif # BR2_GCC_VERSION_6_X
|
||||
else
|
||||
GCC_SOURCE = gcc-$(GCC_VERSION).tar.xz
|
||||
endif
|
||||
endif
|
||||
|
||||
#
|
||||
@@ -62,14 +62,7 @@ define HOST_GCC_APPLY_PATCHES
|
||||
endef
|
||||
|
||||
HOST_GCC_EXCLUDES = \
|
||||
libjava/* libgo/* \
|
||||
gcc/testsuite/* libstdc++-v3/testsuite/*
|
||||
|
||||
define HOST_GCC_FAKE_TESTSUITE
|
||||
mkdir -p $(@D)/libstdc++-v3/testsuite/
|
||||
echo "all:" > $(@D)/libstdc++-v3/testsuite/Makefile.in
|
||||
echo "install:" >> $(@D)/libstdc++-v3/testsuite/Makefile.in
|
||||
endef
|
||||
libjava/* libgo/*
|
||||
|
||||
#
|
||||
# Create 'build' directory and configure symlink
|
||||
@@ -94,10 +87,11 @@ HOST_GCC_COMMON_DEPENDENCIES = \
|
||||
HOST_GCC_COMMON_CONF_OPTS = \
|
||||
--target=$(GNU_TARGET_NAME) \
|
||||
--with-sysroot=$(STAGING_DIR) \
|
||||
--disable-__cxa_atexit \
|
||||
--enable-__cxa_atexit \
|
||||
--with-gnu-ld \
|
||||
--disable-libssp \
|
||||
--disable-multilib \
|
||||
--disable-decimal-float \
|
||||
--with-gmp=$(HOST_DIR) \
|
||||
--with-mpc=$(HOST_DIR) \
|
||||
--with-mpfr=$(HOST_DIR) \
|
||||
@@ -195,49 +189,36 @@ HOST_GCC_COMMON_CONF_OPTS += --with-float=soft
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE),y)
|
||||
HOST_GCC_COMMON_CONF_OPTS += --disable-decimal-float
|
||||
endif
|
||||
|
||||
# Determine arch/tune/abi/cpu options
|
||||
ifeq ($(BR2_GCC_ARCH_HAS_CONFIGURABLE_DEFAULTS),y)
|
||||
ifneq ($(call qstrip,$(BR2_GCC_TARGET_ARCH)),)
|
||||
HOST_GCC_COMMON_CONF_OPTS += --with-arch=$(BR2_GCC_TARGET_ARCH)
|
||||
ifneq ($(GCC_TARGET_ARCH),)
|
||||
HOST_GCC_COMMON_CONF_OPTS += --with-arch="$(GCC_TARGET_ARCH)"
|
||||
endif
|
||||
ifneq ($(call qstrip,$(BR2_GCC_TARGET_ABI)),)
|
||||
HOST_GCC_COMMON_CONF_OPTS += --with-abi=$(BR2_GCC_TARGET_ABI)
|
||||
ifneq ($(GCC_TARGET_ABI),)
|
||||
HOST_GCC_COMMON_CONF_OPTS += --with-abi="$(GCC_TARGET_ABI)"
|
||||
endif
|
||||
ifeq ($(BR2_TOOLCHAIN_HAS_MNAN_OPTION),y)
|
||||
ifneq ($(call qstrip,$(BR2_GCC_TARGET_NAN)),)
|
||||
HOST_GCC_COMMON_CONF_OPTS += --with-nan=$(BR2_GCC_TARGET_NAN)
|
||||
ifneq ($(GCC_TARGET_NAN),)
|
||||
HOST_GCC_COMMON_CONF_OPTS += --with-nan="$(GCC_TARGET_NAN)"
|
||||
endif
|
||||
endif
|
||||
ifneq ($(call qstrip,$(BR2_GCC_TARGET_FP32_MODE)),)
|
||||
HOST_GCC_COMMON_CONF_OPTS += --with-fp-32=$(BR2_GCC_TARGET_FP32_MODE)
|
||||
endif
|
||||
ifneq ($(call qstrip,$(BR2_GCC_TARGET_CPU)),)
|
||||
ifneq ($(call qstrip,$(BR2_GCC_TARGET_CPU_REVISION)),)
|
||||
HOST_GCC_COMMON_CONF_OPTS += --with-cpu=$(call qstrip,$(BR2_GCC_TARGET_CPU)-$(BR2_GCC_TARGET_CPU_REVISION))
|
||||
else
|
||||
HOST_GCC_COMMON_CONF_OPTS += --with-cpu=$(call qstrip,$(BR2_GCC_TARGET_CPU))
|
||||
ifneq ($(GCC_TARGET_FP32_MODE),)
|
||||
HOST_GCC_COMMON_CONF_OPTS += --with-fp-32="$(GCC_TARGET_FP32_MODE)"
|
||||
endif
|
||||
ifneq ($(GCC_TARGET_CPU),)
|
||||
HOST_GCC_COMMON_CONF_OPTS += --with-cpu=$(GCC_TARGET_CPU)
|
||||
endif
|
||||
|
||||
GCC_TARGET_FPU = $(call qstrip,$(BR2_GCC_TARGET_FPU))
|
||||
ifneq ($(GCC_TARGET_FPU),)
|
||||
HOST_GCC_COMMON_CONF_OPTS += --with-fpu=$(GCC_TARGET_FPU)
|
||||
endif
|
||||
|
||||
GCC_TARGET_FLOAT_ABI = $(call qstrip,$(BR2_GCC_TARGET_FLOAT_ABI))
|
||||
ifneq ($(GCC_TARGET_FLOAT_ABI),)
|
||||
HOST_GCC_COMMON_CONF_OPTS += --with-float=$(GCC_TARGET_FLOAT_ABI)
|
||||
endif
|
||||
|
||||
GCC_TARGET_MODE = $(call qstrip,$(BR2_GCC_TARGET_MODE))
|
||||
ifneq ($(GCC_TARGET_MODE),)
|
||||
HOST_GCC_COMMON_CONF_OPTS += --with-mode=$(GCC_TARGET_MODE)
|
||||
endif
|
||||
endif # BR2_GCC_ARCH_HAS_CONFIGURABLE_DEFAULTS
|
||||
|
||||
# Enable proper double/long double for SPE ABI
|
||||
ifeq ($(BR2_powerpc_SPE),y)
|
||||
@@ -265,45 +246,6 @@ HOST_GCC_COMMON_CONF_OPTS += \
|
||||
endif
|
||||
|
||||
HOST_GCC_COMMON_TOOLCHAIN_WRAPPER_ARGS += -DBR_CROSS_PATH_SUFFIX='".br_real"'
|
||||
ifeq ($(BR2_GCC_ARCH_HAS_CONFIGURABLE_DEFAULTS),)
|
||||
ifeq ($(call qstrip,$(BR2_GCC_TARGET_CPU_REVISION)),)
|
||||
HOST_GCC_COMMON_WRAPPER_TARGET_CPU := $(call qstrip,$(BR2_GCC_TARGET_CPU))
|
||||
else
|
||||
HOST_GCC_COMMON_WRAPPER_TARGET_CPU := $(call qstrip,$(BR2_GCC_TARGET_CPU)-$(BR2_GCC_TARGET_CPU_REVISION))
|
||||
endif
|
||||
HOST_GCC_COMMON_WRAPPER_TARGET_ARCH := $(call qstrip,$(BR2_GCC_TARGET_ARCH))
|
||||
HOST_GCC_COMMON_WRAPPER_TARGET_ABI := $(call qstrip,$(BR2_GCC_TARGET_ABI))
|
||||
HOST_GCC_COMMON_WRAPPER_TARGET_NAN := $(call qstrip,$(BR2_GCC_TARGET_NAN))
|
||||
HOST_GCC_COMMON_WRAPPER_TARGET_FP32_MODE := $(call qstrip,$(BR2_GCC_TARGET_FP32_MODE))
|
||||
HOST_GCC_COMMON_WRAPPER_TARGET_FPU := $(call qstrip,$(BR2_GCC_TARGET_FPU))
|
||||
HOST_GCC_COMMON_WRAPPER_TARGET_FLOAT_ABI := $(call qstrip,$(BR2_GCC_TARGET_FLOAT_ABI))
|
||||
HOST_GCC_COMMON_WRAPPER_TARGET_MODE := $(call qstrip,$(BR2_GCC_TARGET_MODE))
|
||||
|
||||
ifneq ($(HOST_GCC_COMMON_WRAPPER_TARGET_ARCH),)
|
||||
HOST_GCC_COMMON_TOOLCHAIN_WRAPPER_ARGS += -DBR_ARCH='"$(HOST_GCC_COMMON_WRAPPER_TARGET_ARCH)"'
|
||||
endif
|
||||
ifneq ($(HOST_GCC_COMMON_WRAPPER_TARGET_CPU),)
|
||||
HOST_GCC_COMMON_TOOLCHAIN_WRAPPER_ARGS += -DBR_CPU='"$(HOST_GCC_COMMON_WRAPPER_TARGET_CPU)"'
|
||||
endif
|
||||
ifneq ($(HOST_GCC_COMMON_WRAPPER_TARGET_ABI),)
|
||||
HOST_GCC_COMMON_TOOLCHAIN_WRAPPER_ARGS += -DBR_ABI='"$(HOST_GCC_COMMON_WRAPPER_TARGET_ABI)"'
|
||||
endif
|
||||
ifneq ($(HOST_GCC_COMMON_WRAPPER_TARGET_NAN),)
|
||||
HOST_GCC_COMMON_TOOLCHAIN_WRAPPER_ARGS += -DBR_NAN='"$(HOST_GCC_COMMON_WRAPPER_TARGET_NAN)"'
|
||||
endif
|
||||
ifneq ($(HOST_GCC_COMMON_WRAPPER_TARGET_FP32_MODE),)
|
||||
HOST_GCC_COMMON_TOOLCHAIN_WRAPPER_ARGS += -DBR_FP32_MODE='"$(HOST_GCC_COMMON_WRAPPER_TARGET_FP32_MODE)"'
|
||||
endif
|
||||
ifneq ($(HOST_GCC_COMMON_WRAPPER_TARGET_FPU),)
|
||||
HOST_GCC_COMMON_TOOLCHAIN_WRAPPER_ARGS += -DBR_FPU='"$(HOST_GCC_COMMON_WRAPPER_TARGET_FPU)"'
|
||||
endif
|
||||
ifneq ($(HOST_GCC_COMMON_WRAPPER_TARGET_FLOATABI_),)
|
||||
HOST_GCC_COMMON_TOOLCHAIN_WRAPPER_ARGS += -DBR_FLOAT_ABI='"$(HOST_GCC_COMMON_WRAPPER_TARGET_FLOATABI_)"'
|
||||
endif
|
||||
ifneq ($(HOST_GCC_COMMON_WRAPPER_TARGET_MODE),)
|
||||
HOST_GCC_COMMON_TOOLCHAIN_WRAPPER_ARGS += -DBR_MODE='"$(HOST_GCC_COMMON_WRAPPER_TARGET_MODE)"'
|
||||
endif
|
||||
endif # !BR2_GCC_ARCH_HAS_CONFIGURABLE_DEFAULTS
|
||||
|
||||
# For gcc-initial, we need to tell gcc that the C library will be
|
||||
# providing the ssp support, as it can't guess it since the C library
|
||||
@@ -316,7 +258,7 @@ HOST_GCC_COMMON_MAKE_OPTS = \
|
||||
gcc_cv_libc_provides_ssp=$(if $(BR2_TOOLCHAIN_HAS_SSP),yes,no)
|
||||
|
||||
ifeq ($(BR2_CCACHE),y)
|
||||
HOST_GCC_COMMON_CCACHE_HASH_FILES += $(DL_DIR)/$(GCC_SOURCE)
|
||||
HOST_GCC_COMMON_CCACHE_HASH_FILES += $(GCC_DL_DIR)/$(GCC_SOURCE)
|
||||
|
||||
# Cfr. PATCH_BASE_DIRS in .stamp_patched, but we catch both versioned
|
||||
# and unversioned patches unconditionally. Moreover, to facilitate the
|
||||
|
||||
Reference in New Issue
Block a user