diff options
| author | Mark Hatle <mark.hatle@xilinx.com> | 2021-04-19 14:40:33 -0700 |
|---|---|---|
| committer | Mark Hatle <mark.hatle@xilinx.com> | 2021-04-20 08:44:19 -0700 |
| commit | 907a68eb1bc1ac01269cea332e6559dc9faa65ef (patch) | |
| tree | d2992dab1e8f18e89f962dfe1826e5d8ca4936c6 | |
| parent | 65235620b44de956caf385c40e0e4a940f616666 (diff) | |
| download | meta-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>
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 @@ | |||
| 1 | From 75272152884a0cb003a8e45f8ca9ffa0ac43eea2 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | ||
| 3 | Date: Thu, 15 Apr 2021 16:16:11 +0530 | ||
| 4 | Subject: [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 | |||
| 21 | Index: 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" | ||
| 49 | Index: 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> | ||
| 62 | Index: 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> | ||
| 75 | Index: 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 | } | ||
| 90 | Index: 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 | } | ||
| 105 | Index: 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> | ||
| 118 | Index: 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> | ||
| 131 | Index: 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 | } | ||
| 146 | Index: 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 | } | ||
| 161 | Index: 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 @@ | |||
| 1 | From 6b29e1a8ff62e01299ee07840b4443cbda5b8c61 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | ||
| 3 | Date: Mon, 19 Apr 2021 14:33:27 +0530 | ||
| 4 | Subject: [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 | |||
| 12 | Index: 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 @@ | |||
| 1 | From 75272152884a0cb003a8e45f8ca9ffa0ac43eea2 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | ||
| 3 | Date: Thu, 15 Apr 2021 16:16:11 +0530 | ||
| 4 | Subject: [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 | |||
| 21 | Index: 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" | ||
| 49 | Index: 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> | ||
| 62 | Index: 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> | ||
| 75 | Index: 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 | } | ||
| 90 | Index: 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 | } | ||
| 105 | Index: 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> | ||
| 118 | Index: 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> | ||
| 131 | Index: 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 | } | ||
| 146 | Index: 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 | } | ||
| 161 | Index: 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 @@ | |||
| 1 | From 6b29e1a8ff62e01299ee07840b4443cbda5b8c61 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | ||
| 3 | Date: Mon, 19 Apr 2021 14:33:27 +0530 | ||
| 4 | Subject: [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 | |||
| 12 | Index: 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 | ||
