aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0055-fixing-the-long-long-long-mingw-toolchain-issue.patch59
-rw-r--r--meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0056-fix-the-lto-wrapper-issue-on-windows.patch36
-rw-r--r--meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0057-Fix-the-MB-64-bug-of-handling-QI-objects.patch47
-rw-r--r--meta-xilinx-bsp/recipes-microblaze/gcc/gcc-source_8.%.bbappend3
4 files changed, 145 insertions, 0 deletions
diff --git a/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0055-fixing-the-long-long-long-mingw-toolchain-issue.patch b/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0055-fixing-the-long-long-long-mingw-toolchain-issue.patch
new file mode 100644
index 00000000..4c694723
--- /dev/null
+++ b/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0055-fixing-the-long-long-long-mingw-toolchain-issue.patch
@@ -0,0 +1,59 @@
+From 76e231f92afd8fda13d6ae18ef3aef0ea6096489 Mon Sep 17 00:00:00 2001
+From: Nagaraju Mekala <nmekala@xilix.com>
+Date: Thu, 29 Nov 2018 17:55:08 +0530
+Subject: [PATCH 55/57] fixing the long & long long mingw toolchain issue
+
+---
+ gcc/config/microblaze/constraints.md | 2 +-
+ gcc/config/microblaze/microblaze.md | 8 ++++----
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/gcc/config/microblaze/constraints.md b/gcc/config/microblaze/constraints.md
+index 867a7b5..27c6bfc 100644
+--- a/gcc/config/microblaze/constraints.md
++++ b/gcc/config/microblaze/constraints.md
+@@ -55,7 +55,7 @@
+ (define_constraint "K"
+ "A constant in the range 0xffffff8000000000L to 0x0000007fffffffffL (inclusive)."
+ (and (match_code "const_int")
+- (match_test "ival > (long)-549755813888 && ival < (long)549755813887")))
++ (match_test "ival > (long long)-549755813888 && ival < (long long)549755813887")))
+
+ ;; Define floating point constraints
+
+diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
+index cbd7e77..e03b835 100644
+--- a/gcc/config/microblaze/microblaze.md
++++ b/gcc/config/microblaze/microblaze.md
+@@ -646,8 +646,8 @@
+ if (TARGET_MB_64)
+ {
+ if (GET_CODE (operands[2]) == CONST_INT &&
+- INTVAL(operands[2]) < (long)-549755813888 &&
+- INTVAL(operands[2]) > (long)549755813887)
++ INTVAL(operands[2]) < (long long)-549755813888 &&
++ INTVAL(operands[2]) > (long long)549755813887)
+ FAIL;
+ }
+ })
+@@ -1264,7 +1264,7 @@
+ (match_operand:DI 1 "immediate_operand" "J,I,Mnis"))]
+ "TARGET_MB_64 && (register_operand (operands[0], DImode) &&
+ (GET_CODE (operands[1]) == CONST_INT &&
+- (INTVAL (operands[1]) <= (long)549755813887 && INTVAL (operands[1]) >= (long)-549755813888)))"
++ (INTVAL (operands[1]) <= (long long)549755813887 && INTVAL (operands[1]) >= (long long)-549755813888)))"
+ "@
+ addlk\t%0,r0,r0\t
+ addlik\t%0,r0,%1\t #N1 %X1
+@@ -1298,7 +1298,7 @@
+ case 1:
+ case 2:
+ if (GET_CODE (operands[1]) == CONST_INT &&
+- (INTVAL (operands[1]) > (long)549755813887 || INTVAL (operands[1]) < (long)-549755813888))
++ (INTVAL (operands[1]) > (long long)549755813887 || INTVAL (operands[1]) < (long long)-549755813888))
+ return "addlik\t%0,r0,%h1\n\tbsllli\t%0,%0,32\n\taddlik\t%0,%0,%j1 #li => la";
+ else
+ return "addlik\t%0,r0,%1";
+--
+2.7.4
+
diff --git a/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0056-fix-the-lto-wrapper-issue-on-windows.patch b/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0056-fix-the-lto-wrapper-issue-on-windows.patch
new file mode 100644
index 00000000..ff524770
--- /dev/null
+++ b/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0056-fix-the-lto-wrapper-issue-on-windows.patch
@@ -0,0 +1,36 @@
+From f30b99b5b8d3f2a8d8e4973cd155a4b9f1849039 Mon Sep 17 00:00:00 2001
+From: Nagaraju <nmekala@xilinx.com>
+Date: Thu, 14 Mar 2019 18:08:06 +0530
+Subject: [PATCH 56/57] fix the lto-wrapper issue on windows
+
+---
+ libiberty/simple-object.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/libiberty/simple-object.c b/libiberty/simple-object.c
+index 42aa6ac..d2465c6 100644
+--- a/libiberty/simple-object.c
++++ b/libiberty/simple-object.c
+@@ -44,6 +44,10 @@ Boston, MA 02110-1301, USA. */
+ #define SEEK_SET 0
+ #endif
+
++#ifndef O_BINARY
++#define O_BINARY 0
++#endif
++
+ #include "simple-object-common.h"
+
+ /* The known object file formats. */
+@@ -326,7 +330,7 @@ simple_object_copy_lto_debug_sections (simple_object_read *sobj,
+ return errmsg;
+ }
+
+- outfd = creat (dest, 00777);
++ outfd = open (dest, O_CREAT|O_WRONLY|O_TRUNC|O_BINARY, 00777);
+ if (outfd == -1)
+ {
+ *err = errno;
+--
+2.7.4
+
diff --git a/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0057-Fix-the-MB-64-bug-of-handling-QI-objects.patch b/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0057-Fix-the-MB-64-bug-of-handling-QI-objects.patch
new file mode 100644
index 00000000..a5a2039d
--- /dev/null
+++ b/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0057-Fix-the-MB-64-bug-of-handling-QI-objects.patch
@@ -0,0 +1,47 @@
+From 6c58973f1cc1e37773aeab583aa3ac6331489106 Mon Sep 17 00:00:00 2001
+From: Nagaraju <nmekala@xilinx.com>
+Date: Thu, 14 Mar 2019 18:11:04 +0530
+Subject: [PATCH 57/57] Fix the MB-64 bug of handling QI objects
+
+---
+ gcc/config/microblaze/microblaze.md | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
+index e03b835..88aee9e 100644
+--- a/gcc/config/microblaze/microblaze.md
++++ b/gcc/config/microblaze/microblaze.md
+@@ -2345,11 +2345,11 @@ else
+
+ (define_insn "branch_zero_64"
+ [(set (pc)
+- (if_then_else (match_operator:SI 0 "ordered_comparison_operator"
++ (if_then_else (match_operator 0 "ordered_comparison_operator"
+ [(match_operand:SI 1 "register_operand" "d")
+ (const_int 0)])
+- (match_operand:SI 2 "pc_or_label_operand" "")
+- (match_operand:SI 3 "pc_or_label_operand" "")))
++ (match_operand 2 "pc_or_label_operand" "")
++ (match_operand 3 "pc_or_label_operand" "")))
+ ]
+ "TARGET_MB_64"
+ {
+@@ -2365,11 +2365,11 @@ else
+
+ (define_insn "long_branch_zero"
+ [(set (pc)
+- (if_then_else (match_operator 0 "ordered_comparison_operator"
+- [(match_operand 1 "register_operand" "d")
++ (if_then_else (match_operator:DI 0 "ordered_comparison_operator"
++ [(match_operand:DI 1 "register_operand" "d")
+ (const_int 0)])
+- (match_operand 2 "pc_or_label_operand" "")
+- (match_operand 3 "pc_or_label_operand" "")))
++ (match_operand:DI 2 "pc_or_label_operand" "")
++ (match_operand:DI 3 "pc_or_label_operand" "")))
+ ]
+ "TARGET_MB_64"
+ {
+--
+2.7.4
+
diff --git a/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-source_8.%.bbappend b/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-source_8.%.bbappend
index a1148a8f..9a404a01 100644
--- a/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-source_8.%.bbappend
+++ b/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-source_8.%.bbappend
@@ -55,4 +55,7 @@ file://0001-LOCAL-Testsuite-builtins-tests-require-fpic.patch \
file://0052-fixing-the-32bit-LTO-related-issue9-1014024.patch \
file://0053-Fixed-the-missing-stack-adjustment-in-prologue-of-mo.patch \
file://0054-Patch-Microblaze-corrected-SPN-for-dlong-instruction.patch \
+ file://0055-fixing-the-long-long-long-mingw-toolchain-issue.patch \
+ file://0056-fix-the-lto-wrapper-issue-on-windows.patch \
+ file://0057-Fix-the-MB-64-bug-of-handling-QI-objects.patch \
"