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