summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@xilinx.com>2021-04-19 14:40:33 -0700
committerMark Hatle <mark.hatle@xilinx.com>2021-04-20 08:44:19 -0700
commit907a68eb1bc1ac01269cea332e6559dc9faa65ef (patch)
treed2992dab1e8f18e89f962dfe1826e5d8ca4936c6
parent65235620b44de956caf385c40e0e4a940f616666 (diff)
downloadmeta-xilinx-907a68eb1bc1ac01269cea332e6559dc9faa65ef.tar.gz
binutils/gdb: Fix various microblaze 64 issues
Issue: CR-1089197 Issue: CR-1093443 Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
-rw-r--r--meta-microblaze/recipes-devtools/binutils/binutils-microblaze.inc9
-rw-r--r--meta-microblaze/recipes-devtools/binutils/binutils/0054-Patch-MicroBlaze.patch173
-rw-r--r--meta-microblaze/recipes-devtools/binutils/binutils/0055-Patch-MicroBlaze-these-changes-will-make-64-bit-vect.patch31
-rw-r--r--meta-microblaze/recipes-devtools/gdb/gdb-microblaze.inc8
-rw-r--r--meta-microblaze/recipes-devtools/gdb/gdb/0054-Patch-MicroBlaze.patch173
-rw-r--r--meta-microblaze/recipes-devtools/gdb/gdb/0055-Patch-MicroBlaze-these-changes-will-make-64-bit-vect.patch31
6 files changed, 412 insertions, 13 deletions
diff --git a/meta-microblaze/recipes-devtools/binutils/binutils-microblaze.inc b/meta-microblaze/recipes-devtools/binutils/binutils-microblaze.inc
index c1a7bb4c..b0a3f2de 100644
--- a/meta-microblaze/recipes-devtools/binutils/binutils-microblaze.inc
+++ b/meta-microblaze/recipes-devtools/binutils/binutils-microblaze.inc
@@ -54,11 +54,6 @@ SRC_URI_append = " \
54 file://0051-gdb-microblaze-tdep.c-Remove-unused-functions.patch \ 54 file://0051-gdb-microblaze-tdep.c-Remove-unused-functions.patch \
55 file://0052-sim-Allow-microblaze-architecture.patch \ 55 file://0052-sim-Allow-microblaze-architecture.patch \
56 file://0053-gdb-Fix-microblaze-target-compilation.patch \ 56 file://0053-gdb-Fix-microblaze-target-compilation.patch \
57 file://0054-Patch-MicroBlaze.patch \
58 file://0055-Patch-MicroBlaze-these-changes-will-make-64-bit-vect.patch \
57 " 59 "
58
59#
60## file://0048-bfd-gas-Use-standard-method-to-set-the-machine-arch.patch \
61## file://0052-opcodes-microblaze-opc.h-Expand-the-size-to-int-to-d.patch \
62## file://0053-opcodes-microblaze-opc.h-MIN_IMML-is-too-large.patch \
63## file://0054-gas-config-tc-microblaze.c-Resolve-numerous-compiler.patch \
64#
diff --git a/meta-microblaze/recipes-devtools/binutils/binutils/0054-Patch-MicroBlaze.patch b/meta-microblaze/recipes-devtools/binutils/binutils/0054-Patch-MicroBlaze.patch
new file mode 100644
index 00000000..2c80e5ce
--- /dev/null
+++ b/meta-microblaze/recipes-devtools/binutils/binutils/0054-Patch-MicroBlaze.patch
@@ -0,0 +1,173 @@
1From 75272152884a0cb003a8e45f8ca9ffa0ac43eea2 Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Thu, 15 Apr 2021 16:16:11 +0530
4Subject: [PATCH 54] [Patch,MicroBlaze]: 1. set BFD machine to
5 bfd_mach_microblaze64 for 64 bit elf. 2. XSDB and QEMU : agreed to append r
6 to all special registers except slr/shr
7
8---
9 bfd/elf64-microblaze.c | 11 +++++++++++
10 gdb/features/microblaze-core.xml | 4 ++--
11 gdb/features/microblaze-stack-protect.xml | 4 ++--
12 gdb/features/microblaze-with-stack-protect.c | 4 ++--
13 gdb/features/microblaze.c | 4 ++--
14 gdb/features/microblaze64-core.xml | 4 ++--
15 gdb/features/microblaze64-stack-protect.xml | 4 ++--
16 gdb/features/microblaze64-with-stack-protect.c | 4 ++--
17 gdb/features/microblaze64.c | 4 ++--
18 gdb/microblaze-tdep.c | 2 +-
19 10 files changed, 28 insertions(+), 17 deletions(-)
20
21Index: gdb-9.2/bfd/elf64-microblaze.c
22===================================================================
23--- gdb-9.2.orig/bfd/elf64-microblaze.c
24+++ gdb-9.2/bfd/elf64-microblaze.c
25@@ -3631,6 +3631,16 @@ microblaze_elf_finish_dynamic_sections (
26 return TRUE;
27 }
28
29+static bfd_boolean
30+microblaze_elf64_object_p (bfd *abfd)
31+{
32+ bfd_default_set_arch_mach (abfd, bfd_arch_microblaze,
33+ bfd_mach_microblaze64);
34+ return TRUE;
35+}
36+
37+
38+
39 /* Hook called by the linker routine which adds symbols from an object
40 file. We use it to put .comm items in .sbss, and not .bss. */
41
42@@ -3698,5 +3708,6 @@ microblaze_elf_add_symbol_hook (bfd *abf
43 #define elf_backend_finish_dynamic_symbol microblaze_elf_finish_dynamic_symbol
44 #define elf_backend_size_dynamic_sections microblaze_elf_size_dynamic_sections
45 #define elf_backend_add_symbol_hook microblaze_elf_add_symbol_hook
46+#define elf_backend_object_p microblaze_elf64_object_p
47
48 #include "elf64-target.h"
49Index: gdb-9.2/gdb/features/microblaze-core.xml
50===================================================================
51--- gdb-9.2.orig/gdb/features/microblaze-core.xml
52+++ gdb-9.2/gdb/features/microblaze-core.xml
53@@ -64,6 +64,6 @@
54 <reg name="rtlbsx" bitsize="32"/>
55 <reg name="rtlblo" bitsize="32"/>
56 <reg name="rtlbhi" bitsize="32"/>
57- <reg name="rslr" bitsize="32"/>
58- <reg name="rshr" bitsize="32"/>
59+ <reg name="slr" bitsize="32"/>
60+ <reg name="shr" bitsize="32"/>
61 </feature>
62Index: gdb-9.2/gdb/features/microblaze-stack-protect.xml
63===================================================================
64--- gdb-9.2.orig/gdb/features/microblaze-stack-protect.xml
65+++ gdb-9.2/gdb/features/microblaze-stack-protect.xml
66@@ -7,6 +7,6 @@
67
68 <!DOCTYPE feature SYSTEM "gdb-target.dtd">
69 <feature name="org.gnu.gdb.microblaze.stack-protect">
70- <reg name="rslr" bitsize="32"/>
71- <reg name="rshr" bitsize="32"/>
72+ <reg name="slr" bitsize="32"/>
73+ <reg name="shr" bitsize="32"/>
74 </feature>
75Index: gdb-9.2/gdb/features/microblaze-with-stack-protect.c
76===================================================================
77--- gdb-9.2.orig/gdb/features/microblaze-with-stack-protect.c
78+++ gdb-9.2/gdb/features/microblaze-with-stack-protect.c
79@@ -72,8 +72,8 @@ initialize_tdesc_microblaze_with_stack_p
80 tdesc_create_reg (feature, "rtlbhi", 56, 1, NULL, 32, "int");
81
82 feature = tdesc_create_feature (result, "org.gnu.gdb.microblaze.stack-protect");
83- tdesc_create_reg (feature, "rslr", 57, 1, NULL, 32, "int");
84- tdesc_create_reg (feature, "rshr", 58, 1, NULL, 32, "int");
85+ tdesc_create_reg (feature, "slr", 57, 1, NULL, 32, "int");
86+ tdesc_create_reg (feature, "shr", 58, 1, NULL, 32, "int");
87
88 tdesc_microblaze_with_stack_protect = result;
89 }
90Index: gdb-9.2/gdb/features/microblaze.c
91===================================================================
92--- gdb-9.2.orig/gdb/features/microblaze.c
93+++ gdb-9.2/gdb/features/microblaze.c
94@@ -70,8 +70,8 @@ initialize_tdesc_microblaze (void)
95 tdesc_create_reg (feature, "rtlbsx", 54, 1, NULL, 32, "int");
96 tdesc_create_reg (feature, "rtlblo", 55, 1, NULL, 32, "int");
97 tdesc_create_reg (feature, "rtlbhi", 56, 1, NULL, 32, "int");
98- tdesc_create_reg (feature, "rslr", 57, 1, NULL, 64, "uint64");
99- tdesc_create_reg (feature, "rshr", 58, 1, NULL, 64, "uint64");
100+ tdesc_create_reg (feature, "slr", 57, 1, NULL, 64, "uint64");
101+ tdesc_create_reg (feature, "shr", 58, 1, NULL, 64, "uint64");
102
103 tdesc_microblaze = result;
104 }
105Index: gdb-9.2/gdb/features/microblaze64-core.xml
106===================================================================
107--- gdb-9.2.orig/gdb/features/microblaze64-core.xml
108+++ gdb-9.2/gdb/features/microblaze64-core.xml
109@@ -64,6 +64,6 @@
110 <reg name="rtlbsx" bitsize="32"/>
111 <reg name="rtlblo" bitsize="32"/>
112 <reg name="rtlbhi" bitsize="32"/>
113- <reg name="rslr" bitsize="64"/>
114- <reg name="rshr" bitsize="64"/>
115+ <reg name="slr" bitsize="64"/>
116+ <reg name="shr" bitsize="64"/>
117 </feature>
118Index: gdb-9.2/gdb/features/microblaze64-stack-protect.xml
119===================================================================
120--- gdb-9.2.orig/gdb/features/microblaze64-stack-protect.xml
121+++ gdb-9.2/gdb/features/microblaze64-stack-protect.xml
122@@ -7,6 +7,6 @@
123
124 <!DOCTYPE feature SYSTEM "gdb-target.dtd">
125 <feature name="org.gnu.gdb.microblaze64.stack-protect">
126- <reg name="rslr" bitsize="64"/>
127- <reg name="rshr" bitsize="64"/>
128+ <reg name="slr" bitsize="64"/>
129+ <reg name="shr" bitsize="64"/>
130 </feature>
131Index: gdb-9.2/gdb/features/microblaze64-with-stack-protect.c
132===================================================================
133--- gdb-9.2.orig/gdb/features/microblaze64-with-stack-protect.c
134+++ gdb-9.2/gdb/features/microblaze64-with-stack-protect.c
135@@ -72,8 +72,8 @@ initialize_tdesc_microblaze64_with_stack
136 tdesc_create_reg (feature, "rtlbhi", 56, 1, NULL, 32, "int");
137
138 feature = tdesc_create_feature (result, "org.gnu.gdb.microblaze64.stack-protect");
139- tdesc_create_reg (feature, "rslr", 57, 1, NULL, 64, "uint64");
140- tdesc_create_reg (feature, "rshr", 58, 1, NULL, 64, "uint64");
141+ tdesc_create_reg (feature, "slr", 57, 1, NULL, 64, "uint64");
142+ tdesc_create_reg (feature, "shr", 58, 1, NULL, 64, "uint64");
143
144 tdesc_microblaze64_with_stack_protect = result;
145 }
146Index: gdb-9.2/gdb/features/microblaze64.c
147===================================================================
148--- gdb-9.2.orig/gdb/features/microblaze64.c
149+++ gdb-9.2/gdb/features/microblaze64.c
150@@ -70,8 +70,8 @@ initialize_tdesc_microblaze64 (void)
151 tdesc_create_reg (feature, "rtlbsx", 54, 1, NULL, 32, "int");
152 tdesc_create_reg (feature, "rtlblo", 55, 1, NULL, 32, "int");
153 tdesc_create_reg (feature, "rtlbhi", 56, 1, NULL, 32, "int");
154- tdesc_create_reg (feature, "rslr", 57, 1, NULL, 64, "uint64");
155- tdesc_create_reg (feature, "rshr", 58, 1, NULL, 64, "uint64");
156+ tdesc_create_reg (feature, "slr", 57, 1, NULL, 64, "uint64");
157+ tdesc_create_reg (feature, "shr", 58, 1, NULL, 64, "uint64");
158
159 tdesc_microblaze64 = result;
160 }
161Index: gdb-9.2/gdb/microblaze-tdep.c
162===================================================================
163--- gdb-9.2.orig/gdb/microblaze-tdep.c
164+++ gdb-9.2/gdb/microblaze-tdep.c
165@@ -77,7 +77,7 @@ static const char *microblaze_register_n
166 "rpvr0", "rpvr1", "rpvr2", "rpvr3", "rpvr4", "rpvr5", "rpvr6",
167 "rpvr7", "rpvr8", "rpvr9", "rpvr10", "rpvr11",
168 "redr", "rpid", "rzpr", "rtlbx", "rtlbsx", "rtlblo", "rtlbhi",
169- "rslr", "rshr"
170+ "slr", "shr"
171 };
172
173 #define MICROBLAZE_NUM_REGS ARRAY_SIZE (microblaze_register_names)
diff --git a/meta-microblaze/recipes-devtools/binutils/binutils/0055-Patch-MicroBlaze-these-changes-will-make-64-bit-vect.patch b/meta-microblaze/recipes-devtools/binutils/binutils/0055-Patch-MicroBlaze-these-changes-will-make-64-bit-vect.patch
new file mode 100644
index 00000000..b8e9e17c
--- /dev/null
+++ b/meta-microblaze/recipes-devtools/binutils/binutils/0055-Patch-MicroBlaze-these-changes-will-make-64-bit-vect.patch
@@ -0,0 +1,31 @@
1From 6b29e1a8ff62e01299ee07840b4443cbda5b8c61 Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Mon, 19 Apr 2021 14:33:27 +0530
4Subject: [PATCH 2/2] [Patch,MicroBlaze] : these changes will make 64 bit
5 vectors as default target types when we built gdb with microblaze 64 bit type
6 targets,for instance microblaze-xilinx-elf64/microblazeel-xilinx-elf64
7
8---
9 bfd/config.bfd | 8 ++++++++
10 1 file changed, 8 insertions(+)
11
12Index: gdb-9.2/bfd/config.bfd
13===================================================================
14--- gdb-9.2.orig/bfd/config.bfd
15+++ gdb-9.2/bfd/config.bfd
16@@ -838,7 +838,15 @@ case "${targ}" in
17 targ_defvec=metag_elf32_vec
18 targ_underscore=yes
19 ;;
20+ microblazeel*-*64)
21+ targ_defvec=microblaze_elf64_le_vec
22+ targ_selvecs=microblaze_elf64_vec
23+ ;;
24
25+ microblaze*-*64)
26+ targ_defvec=microblaze_elf64_vec
27+ targ_selvecs=microblaze_elf64_le_vec
28+ ;;
29 microblazeel*-*)
30 targ_defvec=microblaze_elf32_le_vec
31 targ_selvecs=microblaze_elf32_vec
diff --git a/meta-microblaze/recipes-devtools/gdb/gdb-microblaze.inc b/meta-microblaze/recipes-devtools/gdb/gdb-microblaze.inc
index 4ba5d98c..006b135d 100644
--- a/meta-microblaze/recipes-devtools/gdb/gdb-microblaze.inc
+++ b/meta-microblaze/recipes-devtools/gdb/gdb-microblaze.inc
@@ -49,10 +49,6 @@ SRC_URI_append_microblaze = " \
49 file://0051-gdb-microblaze-tdep.c-Remove-unused-functions.patch \ 49 file://0051-gdb-microblaze-tdep.c-Remove-unused-functions.patch \
50 file://0052-sim-Allow-microblaze-architecture.patch \ 50 file://0052-sim-Allow-microblaze-architecture.patch \
51 file://0053-gdb-Fix-microblaze-target-compilation.patch \ 51 file://0053-gdb-Fix-microblaze-target-compilation.patch \
52 file://0054-Patch-MicroBlaze.patch \
53 file://0055-Patch-MicroBlaze-these-changes-will-make-64-bit-vect.patch \
52 " 54 "
53
54#
55## file://0048-bfd-gas-Use-standard-method-to-set-the-machine-arch.patch \
56## file://0052-opcodes-microblaze-opc.h-Expand-the-size-to-int-to-d.patch \
57## file://0053-opcodes-microblaze-opc.h-MIN_IMML-is-too-large.patch \
58#
diff --git a/meta-microblaze/recipes-devtools/gdb/gdb/0054-Patch-MicroBlaze.patch b/meta-microblaze/recipes-devtools/gdb/gdb/0054-Patch-MicroBlaze.patch
new file mode 100644
index 00000000..2c80e5ce
--- /dev/null
+++ b/meta-microblaze/recipes-devtools/gdb/gdb/0054-Patch-MicroBlaze.patch
@@ -0,0 +1,173 @@
1From 75272152884a0cb003a8e45f8ca9ffa0ac43eea2 Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Thu, 15 Apr 2021 16:16:11 +0530
4Subject: [PATCH 54] [Patch,MicroBlaze]: 1. set BFD machine to
5 bfd_mach_microblaze64 for 64 bit elf. 2. XSDB and QEMU : agreed to append r
6 to all special registers except slr/shr
7
8---
9 bfd/elf64-microblaze.c | 11 +++++++++++
10 gdb/features/microblaze-core.xml | 4 ++--
11 gdb/features/microblaze-stack-protect.xml | 4 ++--
12 gdb/features/microblaze-with-stack-protect.c | 4 ++--
13 gdb/features/microblaze.c | 4 ++--
14 gdb/features/microblaze64-core.xml | 4 ++--
15 gdb/features/microblaze64-stack-protect.xml | 4 ++--
16 gdb/features/microblaze64-with-stack-protect.c | 4 ++--
17 gdb/features/microblaze64.c | 4 ++--
18 gdb/microblaze-tdep.c | 2 +-
19 10 files changed, 28 insertions(+), 17 deletions(-)
20
21Index: gdb-9.2/bfd/elf64-microblaze.c
22===================================================================
23--- gdb-9.2.orig/bfd/elf64-microblaze.c
24+++ gdb-9.2/bfd/elf64-microblaze.c
25@@ -3631,6 +3631,16 @@ microblaze_elf_finish_dynamic_sections (
26 return TRUE;
27 }
28
29+static bfd_boolean
30+microblaze_elf64_object_p (bfd *abfd)
31+{
32+ bfd_default_set_arch_mach (abfd, bfd_arch_microblaze,
33+ bfd_mach_microblaze64);
34+ return TRUE;
35+}
36+
37+
38+
39 /* Hook called by the linker routine which adds symbols from an object
40 file. We use it to put .comm items in .sbss, and not .bss. */
41
42@@ -3698,5 +3708,6 @@ microblaze_elf_add_symbol_hook (bfd *abf
43 #define elf_backend_finish_dynamic_symbol microblaze_elf_finish_dynamic_symbol
44 #define elf_backend_size_dynamic_sections microblaze_elf_size_dynamic_sections
45 #define elf_backend_add_symbol_hook microblaze_elf_add_symbol_hook
46+#define elf_backend_object_p microblaze_elf64_object_p
47
48 #include "elf64-target.h"
49Index: gdb-9.2/gdb/features/microblaze-core.xml
50===================================================================
51--- gdb-9.2.orig/gdb/features/microblaze-core.xml
52+++ gdb-9.2/gdb/features/microblaze-core.xml
53@@ -64,6 +64,6 @@
54 <reg name="rtlbsx" bitsize="32"/>
55 <reg name="rtlblo" bitsize="32"/>
56 <reg name="rtlbhi" bitsize="32"/>
57- <reg name="rslr" bitsize="32"/>
58- <reg name="rshr" bitsize="32"/>
59+ <reg name="slr" bitsize="32"/>
60+ <reg name="shr" bitsize="32"/>
61 </feature>
62Index: gdb-9.2/gdb/features/microblaze-stack-protect.xml
63===================================================================
64--- gdb-9.2.orig/gdb/features/microblaze-stack-protect.xml
65+++ gdb-9.2/gdb/features/microblaze-stack-protect.xml
66@@ -7,6 +7,6 @@
67
68 <!DOCTYPE feature SYSTEM "gdb-target.dtd">
69 <feature name="org.gnu.gdb.microblaze.stack-protect">
70- <reg name="rslr" bitsize="32"/>
71- <reg name="rshr" bitsize="32"/>
72+ <reg name="slr" bitsize="32"/>
73+ <reg name="shr" bitsize="32"/>
74 </feature>
75Index: gdb-9.2/gdb/features/microblaze-with-stack-protect.c
76===================================================================
77--- gdb-9.2.orig/gdb/features/microblaze-with-stack-protect.c
78+++ gdb-9.2/gdb/features/microblaze-with-stack-protect.c
79@@ -72,8 +72,8 @@ initialize_tdesc_microblaze_with_stack_p
80 tdesc_create_reg (feature, "rtlbhi", 56, 1, NULL, 32, "int");
81
82 feature = tdesc_create_feature (result, "org.gnu.gdb.microblaze.stack-protect");
83- tdesc_create_reg (feature, "rslr", 57, 1, NULL, 32, "int");
84- tdesc_create_reg (feature, "rshr", 58, 1, NULL, 32, "int");
85+ tdesc_create_reg (feature, "slr", 57, 1, NULL, 32, "int");
86+ tdesc_create_reg (feature, "shr", 58, 1, NULL, 32, "int");
87
88 tdesc_microblaze_with_stack_protect = result;
89 }
90Index: gdb-9.2/gdb/features/microblaze.c
91===================================================================
92--- gdb-9.2.orig/gdb/features/microblaze.c
93+++ gdb-9.2/gdb/features/microblaze.c
94@@ -70,8 +70,8 @@ initialize_tdesc_microblaze (void)
95 tdesc_create_reg (feature, "rtlbsx", 54, 1, NULL, 32, "int");
96 tdesc_create_reg (feature, "rtlblo", 55, 1, NULL, 32, "int");
97 tdesc_create_reg (feature, "rtlbhi", 56, 1, NULL, 32, "int");
98- tdesc_create_reg (feature, "rslr", 57, 1, NULL, 64, "uint64");
99- tdesc_create_reg (feature, "rshr", 58, 1, NULL, 64, "uint64");
100+ tdesc_create_reg (feature, "slr", 57, 1, NULL, 64, "uint64");
101+ tdesc_create_reg (feature, "shr", 58, 1, NULL, 64, "uint64");
102
103 tdesc_microblaze = result;
104 }
105Index: gdb-9.2/gdb/features/microblaze64-core.xml
106===================================================================
107--- gdb-9.2.orig/gdb/features/microblaze64-core.xml
108+++ gdb-9.2/gdb/features/microblaze64-core.xml
109@@ -64,6 +64,6 @@
110 <reg name="rtlbsx" bitsize="32"/>
111 <reg name="rtlblo" bitsize="32"/>
112 <reg name="rtlbhi" bitsize="32"/>
113- <reg name="rslr" bitsize="64"/>
114- <reg name="rshr" bitsize="64"/>
115+ <reg name="slr" bitsize="64"/>
116+ <reg name="shr" bitsize="64"/>
117 </feature>
118Index: gdb-9.2/gdb/features/microblaze64-stack-protect.xml
119===================================================================
120--- gdb-9.2.orig/gdb/features/microblaze64-stack-protect.xml
121+++ gdb-9.2/gdb/features/microblaze64-stack-protect.xml
122@@ -7,6 +7,6 @@
123
124 <!DOCTYPE feature SYSTEM "gdb-target.dtd">
125 <feature name="org.gnu.gdb.microblaze64.stack-protect">
126- <reg name="rslr" bitsize="64"/>
127- <reg name="rshr" bitsize="64"/>
128+ <reg name="slr" bitsize="64"/>
129+ <reg name="shr" bitsize="64"/>
130 </feature>
131Index: gdb-9.2/gdb/features/microblaze64-with-stack-protect.c
132===================================================================
133--- gdb-9.2.orig/gdb/features/microblaze64-with-stack-protect.c
134+++ gdb-9.2/gdb/features/microblaze64-with-stack-protect.c
135@@ -72,8 +72,8 @@ initialize_tdesc_microblaze64_with_stack
136 tdesc_create_reg (feature, "rtlbhi", 56, 1, NULL, 32, "int");
137
138 feature = tdesc_create_feature (result, "org.gnu.gdb.microblaze64.stack-protect");
139- tdesc_create_reg (feature, "rslr", 57, 1, NULL, 64, "uint64");
140- tdesc_create_reg (feature, "rshr", 58, 1, NULL, 64, "uint64");
141+ tdesc_create_reg (feature, "slr", 57, 1, NULL, 64, "uint64");
142+ tdesc_create_reg (feature, "shr", 58, 1, NULL, 64, "uint64");
143
144 tdesc_microblaze64_with_stack_protect = result;
145 }
146Index: gdb-9.2/gdb/features/microblaze64.c
147===================================================================
148--- gdb-9.2.orig/gdb/features/microblaze64.c
149+++ gdb-9.2/gdb/features/microblaze64.c
150@@ -70,8 +70,8 @@ initialize_tdesc_microblaze64 (void)
151 tdesc_create_reg (feature, "rtlbsx", 54, 1, NULL, 32, "int");
152 tdesc_create_reg (feature, "rtlblo", 55, 1, NULL, 32, "int");
153 tdesc_create_reg (feature, "rtlbhi", 56, 1, NULL, 32, "int");
154- tdesc_create_reg (feature, "rslr", 57, 1, NULL, 64, "uint64");
155- tdesc_create_reg (feature, "rshr", 58, 1, NULL, 64, "uint64");
156+ tdesc_create_reg (feature, "slr", 57, 1, NULL, 64, "uint64");
157+ tdesc_create_reg (feature, "shr", 58, 1, NULL, 64, "uint64");
158
159 tdesc_microblaze64 = result;
160 }
161Index: gdb-9.2/gdb/microblaze-tdep.c
162===================================================================
163--- gdb-9.2.orig/gdb/microblaze-tdep.c
164+++ gdb-9.2/gdb/microblaze-tdep.c
165@@ -77,7 +77,7 @@ static const char *microblaze_register_n
166 "rpvr0", "rpvr1", "rpvr2", "rpvr3", "rpvr4", "rpvr5", "rpvr6",
167 "rpvr7", "rpvr8", "rpvr9", "rpvr10", "rpvr11",
168 "redr", "rpid", "rzpr", "rtlbx", "rtlbsx", "rtlblo", "rtlbhi",
169- "rslr", "rshr"
170+ "slr", "shr"
171 };
172
173 #define MICROBLAZE_NUM_REGS ARRAY_SIZE (microblaze_register_names)
diff --git a/meta-microblaze/recipes-devtools/gdb/gdb/0055-Patch-MicroBlaze-these-changes-will-make-64-bit-vect.patch b/meta-microblaze/recipes-devtools/gdb/gdb/0055-Patch-MicroBlaze-these-changes-will-make-64-bit-vect.patch
new file mode 100644
index 00000000..b8e9e17c
--- /dev/null
+++ b/meta-microblaze/recipes-devtools/gdb/gdb/0055-Patch-MicroBlaze-these-changes-will-make-64-bit-vect.patch
@@ -0,0 +1,31 @@
1From 6b29e1a8ff62e01299ee07840b4443cbda5b8c61 Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Mon, 19 Apr 2021 14:33:27 +0530
4Subject: [PATCH 2/2] [Patch,MicroBlaze] : these changes will make 64 bit
5 vectors as default target types when we built gdb with microblaze 64 bit type
6 targets,for instance microblaze-xilinx-elf64/microblazeel-xilinx-elf64
7
8---
9 bfd/config.bfd | 8 ++++++++
10 1 file changed, 8 insertions(+)
11
12Index: gdb-9.2/bfd/config.bfd
13===================================================================
14--- gdb-9.2.orig/bfd/config.bfd
15+++ gdb-9.2/bfd/config.bfd
16@@ -838,7 +838,15 @@ case "${targ}" in
17 targ_defvec=metag_elf32_vec
18 targ_underscore=yes
19 ;;
20+ microblazeel*-*64)
21+ targ_defvec=microblaze_elf64_le_vec
22+ targ_selvecs=microblaze_elf64_vec
23+ ;;
24
25+ microblaze*-*64)
26+ targ_defvec=microblaze_elf64_vec
27+ targ_selvecs=microblaze_elf64_le_vec
28+ ;;
29 microblazeel*-*)
30 targ_defvec=microblaze_elf32_le_vec
31 targ_selvecs=microblaze_elf32_vec