summaryrefslogtreecommitdiffstats
path: root/meta-microblaze/recipes-devtools/gcc/gcc-10/0039-Fix-various-issues.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-microblaze/recipes-devtools/gcc/gcc-10/0039-Fix-various-issues.patch')
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-10/0039-Fix-various-issues.patch72
1 files changed, 72 insertions, 0 deletions
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0039-Fix-various-issues.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0039-Fix-various-issues.patch
new file mode 100644
index 00000000..c9d4b8c7
--- /dev/null
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0039-Fix-various-issues.patch
@@ -0,0 +1,72 @@
1From 0405777c25bb8110ebfd8ea69c7df062a4c03d6b Mon Sep 17 00:00:00 2001
2From: Nagaraju Mekala <nmekala@xilix.com>
3Date: Tue, 11 Sep 2018 14:58:00 +0530
4Subject: [PATCH 39/58] Fix various issues
5
6Fixed issues like:
71 Interrupt alignment issue
82 Sign extension issue
9---
10 gcc/config/microblaze/microblaze.c | 16 ++++++++++------
11 gcc/config/microblaze/microblaze.md | 2 +-
12 2 files changed, 11 insertions(+), 7 deletions(-)
13
14diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
15index cba5d86225c..b94902b8fbb 100644
16--- a/gcc/config/microblaze/microblaze.c
17+++ b/gcc/config/microblaze/microblaze.c
18@@ -2307,9 +2307,14 @@ compute_frame_size (HOST_WIDE_INT size)
19
20 total_size += gp_reg_size;
21
22- /* Add 4 bytes for MSR. */
23+ /* Add 4/8 bytes for MSR. */
24 if (microblaze_is_interrupt_variant ())
25- total_size += 4;
26+ {
27+ if (TARGET_MB_64)
28+ total_size += 8;
29+ else
30+ total_size += 4;
31+ }
32
33 /* No space to be allocated for link register in leaf functions with no other
34 stack requirements. */
35@@ -2594,7 +2599,6 @@ print_operand (FILE * file, rtx op, int letter)
36 else if (letter == 'h' || letter == 'j')
37 {
38 long val[2];
39- int val1[2];
40 long l[2];
41 if (code == CONST_DOUBLE)
42 {
43@@ -2609,10 +2613,10 @@ print_operand (FILE * file, rtx op, int letter)
44 }
45 else if (code == CONST_INT || code == CONST)// || code == SYMBOL_REF ||code == LABEL_REF)
46 {
47- val1[0] = (INTVAL (op) & 0xffffffff00000000LL) >> 32;
48- val1[1] = INTVAL (op) & 0x00000000ffffffffLL;
49+ val[0] = (INTVAL (op) & 0xffffffff00000000LL) >> 32;
50+ val[1] = INTVAL (op) & 0x00000000ffffffffLL;
51 }
52- fprintf (file, "0x%8.8lx", (letter == 'h') ? val1[0] : val1[1]);
53+ fprintf (file, "0x%8.8lx", (letter == 'h') ? val[0] : val[1]);
54 }
55 else if (code == CONST_DOUBLE)
56 {
57diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
58index 1a8853056d7..7cc26e7d786 100644
59--- a/gcc/config/microblaze/microblaze.md
60+++ b/gcc/config/microblaze/microblaze.md
61@@ -1096,7 +1096,7 @@
62 case 1:
63 case 2:
64 {
65- output_asm_insn ("ll%i1\t%0,%1", operands);
66+ output_asm_insn ("lw%i1\t%0,%1", operands);
67 return "sextl32\t%0,%0";
68 }
69 }
70--
712.17.1
72