diff options
author | Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com> | 2018-08-08 15:39:54 -0700 |
---|---|---|
committer | Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com> | 2019-01-01 20:03:46 -0800 |
commit | dbefde1ee9aa7e9f2a6407131a3a4fd8b3377d37 (patch) | |
tree | c5a4d86168ea6d574fb401e385389bd96d28f2a0 | |
parent | fa996fbc301039755779d98fabbadb9dab93ef05 (diff) | |
download | meta-xilinx-dbefde1ee9aa7e9f2a6407131a3a4fd8b3377d37.tar.gz |
binutils: rebase microblaze patches for binutils 2.31
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-rw-r--r-- | meta-xilinx-bsp/recipes-microblaze/binutils/binutils%.bbappend | 2 | ||||
-rw-r--r-- | meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0001-MicroBlaze-Add-wdc.ext.clear-and-wdc.ext.flush-insns.patch (renamed from meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0001-MicroBlaze-Add-wdc.ext.clear-and-wdc.ext.flush-insns.patch) | 0 | ||||
-rw-r--r-- | meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0002-MicroBlaze-add-mlittle-endian-and-mbig-endian-flags.patch (renamed from meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0002-MicroBlaze-add-mlittle-endian-and-mbig-endian-flags.patch) | 0 | ||||
-rw-r--r-- | meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0003-Disable-the-warning-message-for-eh_frame_hdr.patch (renamed from meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0003-Disable-the-warning-message-for-eh_frame_hdr.patch) | 25 | ||||
-rw-r--r-- | meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0004-Fix-relaxation-of-assembler-resolved-references.patch (renamed from meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0004-Fix-relaxation-of-assembler-resolved-references.patch) | 0 | ||||
-rw-r--r-- | meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0005-Fixup-MicroBlaze-debug_loc-sections-after-linker-rel.patch (renamed from meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0005-Fixup-MicroBlaze-debug_loc-sections-after-linker-rel.patch) | 99 | ||||
-rw-r--r-- | meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0006-Fix-bug-in-MicroBlaze-TLSTPREL-Relocation.patch (renamed from meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0006-Fix-bug-in-MicroBlaze-TLSTPREL-Relocation.patch) | 10 | ||||
-rw-r--r-- | meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0007-Add-MicroBlaze-address-extension-instructions.patch (renamed from meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0007-Add-MicroBlaze-address-extension-instructions.patch) | 0 | ||||
-rw-r--r-- | meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0008-Add-new-MicroBlaze-bit-field-instructions.patch (renamed from meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0008-Add-new-MicroBlaze-bit-field-instructions.patch) | 0 | ||||
-rw-r--r-- | meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0009-Fixing-MicroBlaze-IMM-bug.patch (renamed from meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0009-Fixing-MicroBlaze-IMM-bug.patch) | 0 | ||||
-rw-r--r-- | meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0010-Fixed-bug-in-GCC-so-that-it-will-support-.long-0U-an.patch (renamed from meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0010-Fixed-bug-in-GCC-so-that-it-will-support-.long-0U-an.patch) | 0 | ||||
-rw-r--r-- | meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0011-Fixing-MicroBlaze-constant-range-check-issue.patch (renamed from meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0011-Fixing-MicroBlaze-constant-range-check-issue.patch) | 0 | ||||
-rw-r--r-- | meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0012-MicroBlaze-fix-mask-for-barrel-shift-instructions.patch (renamed from meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0012-MicroBlaze-fix-mask-for-barrel-shift-instructions.patch) | 0 |
13 files changed, 71 insertions, 65 deletions
diff --git a/meta-xilinx-bsp/recipes-microblaze/binutils/binutils%.bbappend b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils%.bbappend index 795c6717..44709727 100644 --- a/meta-xilinx-bsp/recipes-microblaze/binutils/binutils%.bbappend +++ b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils%.bbappend | |||
@@ -1,4 +1,4 @@ | |||
1 | FILESEXTRAPATHS_append_microblaze := "${THISDIR}/binutils-2.30:" | 1 | FILESEXTRAPATHS_append_microblaze := "${THISDIR}/binutils-2.31:" |
2 | SRC_URI_append_microblaze = " \ | 2 | SRC_URI_append_microblaze = " \ |
3 | file://0001-MicroBlaze-Add-wdc.ext.clear-and-wdc.ext.flush-insns.patch \ | 3 | file://0001-MicroBlaze-Add-wdc.ext.clear-and-wdc.ext.flush-insns.patch \ |
4 | file://0002-MicroBlaze-add-mlittle-endian-and-mbig-endian-flags.patch \ | 4 | file://0002-MicroBlaze-add-mlittle-endian-and-mbig-endian-flags.patch \ |
diff --git a/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0001-MicroBlaze-Add-wdc.ext.clear-and-wdc.ext.flush-insns.patch b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0001-MicroBlaze-Add-wdc.ext.clear-and-wdc.ext.flush-insns.patch index 878bb321..878bb321 100644 --- a/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0001-MicroBlaze-Add-wdc.ext.clear-and-wdc.ext.flush-insns.patch +++ b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0001-MicroBlaze-Add-wdc.ext.clear-and-wdc.ext.flush-insns.patch | |||
diff --git a/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0002-MicroBlaze-add-mlittle-endian-and-mbig-endian-flags.patch b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0002-MicroBlaze-add-mlittle-endian-and-mbig-endian-flags.patch index edeecfd2..edeecfd2 100644 --- a/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0002-MicroBlaze-add-mlittle-endian-and-mbig-endian-flags.patch +++ b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0002-MicroBlaze-add-mlittle-endian-and-mbig-endian-flags.patch | |||
diff --git a/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0003-Disable-the-warning-message-for-eh_frame_hdr.patch b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0003-Disable-the-warning-message-for-eh_frame_hdr.patch index 2b30c467..aee0c01e 100644 --- a/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0003-Disable-the-warning-message-for-eh_frame_hdr.patch +++ b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0003-Disable-the-warning-message-for-eh_frame_hdr.patch | |||
@@ -3,30 +3,35 @@ From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com> | |||
3 | Date: Mon, 28 Aug 2017 19:53:54 -0700 | 3 | Date: Mon, 28 Aug 2017 19:53:54 -0700 |
4 | Subject: [PATCH] Disable the warning message for eh_frame_hdr | 4 | Subject: [PATCH] Disable the warning message for eh_frame_hdr |
5 | 5 | ||
6 | Upstream-Status: Inappropriate [workaround] | ||
7 | |||
8 | Rebased to 2.31 | ||
9 | - Error hanlder changed | ||
10 | |||
11 | Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com> | ||
6 | Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com> | 12 | Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com> |
7 | Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com> | 13 | Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com> |
8 | Upstream-Status: Inappropriate [workaround] | ||
9 | 14 | ||
10 | --- | 15 | --- |
11 | bfd/elf-eh-frame.c | 9 ++++++--- | 16 | bfd/elf-eh-frame.c | 9 ++++++--- |
12 | 1 file changed, 6 insertions(+), 3 deletions(-) | 17 | 1 file changed, 6 insertions(+), 3 deletions(-) |
13 | 18 | ||
14 | diff --git a/bfd/elf-eh-frame.c b/bfd/elf-eh-frame.c | 19 | Index: git/bfd/elf-eh-frame.c |
15 | index 95697c4..704121d 100644 | 20 | =================================================================== |
16 | --- a/bfd/elf-eh-frame.c | 21 | --- git.orig/bfd/elf-eh-frame.c |
17 | +++ b/bfd/elf-eh-frame.c | 22 | +++ git/bfd/elf-eh-frame.c |
18 | @@ -1042,10 +1042,13 @@ _bfd_elf_parse_eh_frame (bfd *abfd, struct bfd_link_info *info, | 23 | @@ -1042,10 +1042,13 @@ _bfd_elf_parse_eh_frame (bfd *abfd, stru |
19 | goto success; | 24 | goto success; |
20 | 25 | ||
21 | free_no_table: | 26 | free_no_table: |
22 | - (*info->callbacks->einfo) | 27 | - _bfd_error_handler |
23 | + /* FIXME: Remove the microblaze specifics when relaxing gets fixed. */ | 28 | + /* FIXME: Remove the microblaze specifics when relaxing gets fixed. */ |
24 | + if (bfd_get_arch(abfd) != bfd_arch_microblaze) { | 29 | + if (bfd_get_arch(abfd) != bfd_arch_microblaze) { |
25 | /* xgettext:c-format */ | 30 | /* xgettext:c-format */ |
26 | - (_("%P: error in %B(%A); no .eh_frame_hdr table will be created.\n"), | 31 | - (_("error in %pB(%pA); no .eh_frame_hdr table will be created"), |
27 | - abfd, sec); | 32 | - abfd, sec); |
28 | + (*info->callbacks->einfo) | 33 | + _bfd_error_handler |
29 | + (_("%P: error in %B(%A); no .eh_frame_hdr table will be created.\n"), | 34 | + (_("error in %pB(%pA); no .eh_frame_hdr table will be created"), |
30 | + abfd, sec); | 35 | + abfd, sec); |
31 | + } | 36 | + } |
32 | hdr_info->u.dwarf.table = FALSE; | 37 | hdr_info->u.dwarf.table = FALSE; |
diff --git a/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0004-Fix-relaxation-of-assembler-resolved-references.patch b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0004-Fix-relaxation-of-assembler-resolved-references.patch index b543c54e..b543c54e 100644 --- a/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0004-Fix-relaxation-of-assembler-resolved-references.patch +++ b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0004-Fix-relaxation-of-assembler-resolved-references.patch | |||
diff --git a/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0005-Fixup-MicroBlaze-debug_loc-sections-after-linker-rel.patch b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0005-Fixup-MicroBlaze-debug_loc-sections-after-linker-rel.patch index 3817234b..6cdd2cc2 100644 --- a/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0005-Fixup-MicroBlaze-debug_loc-sections-after-linker-rel.patch +++ b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0005-Fixup-MicroBlaze-debug_loc-sections-after-linker-rel.patch | |||
@@ -11,8 +11,9 @@ reference. | |||
11 | This is a workaround for design flaws in the assembler to | 11 | This is a workaround for design flaws in the assembler to |
12 | linker interface with regards to linker relaxation. | 12 | linker interface with regards to linker relaxation. |
13 | 13 | ||
14 | 03/2018 | 14 | 08/2018 |
15 | Rebased for binutils 2.30 | 15 | Rebased for binutils 2.31 |
16 | - Some RELOC_NUMBERs were added upstream, rebased to use 33 instead of 30 | ||
16 | 17 | ||
17 | Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com> | 18 | Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com> |
18 | Signed-off-by: Nagaraju Mekala <nmekala@xilinx.com> | 19 | Signed-off-by: Nagaraju Mekala <nmekala@xilinx.com> |
@@ -31,11 +32,11 @@ Upstream-Status: Pending | |||
31 | include/elf/microblaze.h | 1 + | 32 | include/elf/microblaze.h | 1 + |
32 | 7 files changed, 61 insertions(+), 10 deletions(-) | 33 | 7 files changed, 61 insertions(+), 10 deletions(-) |
33 | 34 | ||
34 | diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h | 35 | Index: git/bfd/bfd-in2.h |
35 | index 4228603..1906195 100644 | 36 | =================================================================== |
36 | --- a/bfd/bfd-in2.h | 37 | --- git.orig/bfd/bfd-in2.h |
37 | +++ b/bfd/bfd-in2.h | 38 | +++ git/bfd/bfd-in2.h |
38 | @@ -5826,10 +5826,15 @@ value relative to the read-write small data area anchor */ | 39 | @@ -5791,10 +5791,15 @@ value relative to the read-write small d |
39 | expressions of the form "Symbol Op Symbol" */ | 40 | expressions of the form "Symbol Op Symbol" */ |
40 | BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM, | 41 | BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM, |
41 | 42 | ||
@@ -53,11 +54,11 @@ index 4228603..1906195 100644 | |||
53 | 54 | ||
54 | /* This is a 64 bit reloc that stores the 32 bit pc relative | 55 | /* This is a 64 bit reloc that stores the 32 bit pc relative |
55 | value in two words (with an imm instruction). The relocation is | 56 | value in two words (with an imm instruction). The relocation is |
56 | diff --git a/bfd/elf32-microblaze.c b/bfd/elf32-microblaze.c | 57 | Index: git/bfd/elf32-microblaze.c |
57 | index a1d810c..fc0d3e1 100644 | 58 | =================================================================== |
58 | --- a/bfd/elf32-microblaze.c | 59 | --- git.orig/bfd/elf32-microblaze.c |
59 | +++ b/bfd/elf32-microblaze.c | 60 | +++ git/bfd/elf32-microblaze.c |
60 | @@ -176,6 +176,20 @@ static reloc_howto_type microblaze_elf_howto_raw[] = | 61 | @@ -176,6 +176,20 @@ static reloc_howto_type microblaze_elf_h |
61 | 0x0000ffff, /* Dest Mask. */ | 62 | 0x0000ffff, /* Dest Mask. */ |
62 | FALSE), /* PC relative offset? */ | 63 | FALSE), /* PC relative offset? */ |
63 | 64 | ||
@@ -78,7 +79,7 @@ index a1d810c..fc0d3e1 100644 | |||
78 | /* This reloc does nothing. Used for relaxation. */ | 79 | /* This reloc does nothing. Used for relaxation. */ |
79 | HOWTO (R_MICROBLAZE_64_NONE, /* Type. */ | 80 | HOWTO (R_MICROBLAZE_64_NONE, /* Type. */ |
80 | 0, /* Rightshift. */ | 81 | 0, /* Rightshift. */ |
81 | @@ -532,6 +546,9 @@ microblaze_elf_reloc_type_lookup (bfd * abfd ATTRIBUTE_UNUSED, | 82 | @@ -562,6 +576,9 @@ microblaze_elf_reloc_type_lookup (bfd * |
82 | case BFD_RELOC_NONE: | 83 | case BFD_RELOC_NONE: |
83 | microblaze_reloc = R_MICROBLAZE_NONE; | 84 | microblaze_reloc = R_MICROBLAZE_NONE; |
84 | break; | 85 | break; |
@@ -88,7 +89,7 @@ index a1d810c..fc0d3e1 100644 | |||
88 | case BFD_RELOC_MICROBLAZE_64_NONE: | 89 | case BFD_RELOC_MICROBLAZE_64_NONE: |
89 | microblaze_reloc = R_MICROBLAZE_64_NONE; | 90 | microblaze_reloc = R_MICROBLAZE_64_NONE; |
90 | break; | 91 | break; |
91 | @@ -1832,14 +1849,23 @@ microblaze_elf_relax_section (bfd *abfd, | 92 | @@ -1918,14 +1935,23 @@ microblaze_elf_relax_section (bfd *abfd, |
92 | } | 93 | } |
93 | break; | 94 | break; |
94 | case R_MICROBLAZE_NONE: | 95 | case R_MICROBLAZE_NONE: |
@@ -112,7 +113,7 @@ index a1d810c..fc0d3e1 100644 | |||
112 | irel->r_addend -= (efix - sfix); | 113 | irel->r_addend -= (efix - sfix); |
113 | /* Should use HOWTO. */ | 114 | /* Should use HOWTO. */ |
114 | microblaze_bfd_write_imm_value_32 (abfd, contents + irel->r_offset, | 115 | microblaze_bfd_write_imm_value_32 (abfd, contents + irel->r_offset, |
115 | @@ -1887,12 +1913,16 @@ microblaze_elf_relax_section (bfd *abfd, | 116 | @@ -1973,12 +1999,16 @@ microblaze_elf_relax_section (bfd *abfd, |
116 | irelscanend = irelocs + o->reloc_count; | 117 | irelscanend = irelocs + o->reloc_count; |
117 | for (irelscan = irelocs; irelscan < irelscanend; irelscan++) | 118 | for (irelscan = irelocs; irelscan < irelscanend; irelscan++) |
118 | { | 119 | { |
@@ -130,7 +131,7 @@ index a1d810c..fc0d3e1 100644 | |||
130 | /* This was a PC-relative instruction that was completely resolved. */ | 131 | /* This was a PC-relative instruction that was completely resolved. */ |
131 | if (ocontents == NULL) | 132 | if (ocontents == NULL) |
132 | { | 133 | { |
133 | @@ -1917,15 +1947,16 @@ microblaze_elf_relax_section (bfd *abfd, | 134 | @@ -2003,15 +2033,16 @@ microblaze_elf_relax_section (bfd *abfd, |
134 | } | 135 | } |
135 | } | 136 | } |
136 | 137 | ||
@@ -152,7 +153,7 @@ index a1d810c..fc0d3e1 100644 | |||
152 | if (ELF32_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32) | 153 | if (ELF32_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32) |
153 | { | 154 | { |
154 | isym = isymbuf + ELF32_R_SYM (irelscan->r_info); | 155 | isym = isymbuf + ELF32_R_SYM (irelscan->r_info); |
155 | @@ -1985,7 +2016,7 @@ microblaze_elf_relax_section (bfd *abfd, | 156 | @@ -2071,7 +2102,7 @@ microblaze_elf_relax_section (bfd *abfd, |
156 | elf_section_data (o)->this_hdr.contents = ocontents; | 157 | elf_section_data (o)->this_hdr.contents = ocontents; |
157 | } | 158 | } |
158 | } | 159 | } |
@@ -161,11 +162,11 @@ index a1d810c..fc0d3e1 100644 | |||
161 | + isym->st_value, | 162 | + isym->st_value, |
162 | 0, | 163 | 0, |
163 | sec); | 164 | sec); |
164 | diff --git a/bfd/libbfd.h b/bfd/libbfd.h | 165 | Index: git/bfd/libbfd.h |
165 | index 2f5f16e..854bb0c 100644 | 166 | =================================================================== |
166 | --- a/bfd/libbfd.h | 167 | --- git.orig/bfd/libbfd.h |
167 | +++ b/bfd/libbfd.h | 168 | +++ git/bfd/libbfd.h |
168 | @@ -2853,6 +2853,7 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", | 169 | @@ -2862,6 +2862,7 @@ static const char *const bfd_reloc_code_ |
169 | "BFD_RELOC_MICROBLAZE_32_ROSDA", | 170 | "BFD_RELOC_MICROBLAZE_32_ROSDA", |
170 | "BFD_RELOC_MICROBLAZE_32_RWSDA", | 171 | "BFD_RELOC_MICROBLAZE_32_RWSDA", |
171 | "BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM", | 172 | "BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM", |
@@ -173,11 +174,11 @@ index 2f5f16e..854bb0c 100644 | |||
173 | "BFD_RELOC_MICROBLAZE_64_NONE", | 174 | "BFD_RELOC_MICROBLAZE_64_NONE", |
174 | "BFD_RELOC_MICROBLAZE_64_GOTPC", | 175 | "BFD_RELOC_MICROBLAZE_64_GOTPC", |
175 | "BFD_RELOC_MICROBLAZE_64_GOT", | 176 | "BFD_RELOC_MICROBLAZE_64_GOT", |
176 | diff --git a/bfd/reloc.c b/bfd/reloc.c | 177 | Index: git/bfd/reloc.c |
177 | index a1353a2..4b57de7 100644 | 178 | =================================================================== |
178 | --- a/bfd/reloc.c | 179 | --- git.orig/bfd/reloc.c |
179 | +++ b/bfd/reloc.c | 180 | +++ git/bfd/reloc.c |
180 | @@ -6903,6 +6903,12 @@ ENUMDOC | 181 | @@ -6865,6 +6865,12 @@ ENUMDOC |
181 | This is a 32 bit reloc for the microblaze to handle | 182 | This is a 32 bit reloc for the microblaze to handle |
182 | expressions of the form "Symbol Op Symbol" | 183 | expressions of the form "Symbol Op Symbol" |
183 | ENUM | 184 | ENUM |
@@ -190,26 +191,26 @@ index a1353a2..4b57de7 100644 | |||
190 | BFD_RELOC_MICROBLAZE_64_NONE | 191 | BFD_RELOC_MICROBLAZE_64_NONE |
191 | ENUMDOC | 192 | ENUMDOC |
192 | This is a 64 bit reloc that stores the 32 bit pc relative | 193 | This is a 64 bit reloc that stores the 32 bit pc relative |
193 | diff --git a/binutils/readelf.c b/binutils/readelf.c | 194 | Index: git/binutils/readelf.c |
194 | index fed0387..92f655d 100644 | 195 | =================================================================== |
195 | --- a/binutils/readelf.c | 196 | --- git.orig/binutils/readelf.c |
196 | +++ b/binutils/readelf.c | 197 | +++ git/binutils/readelf.c |
197 | @@ -12774,6 +12774,10 @@ is_none_reloc (Filedata * filedata, unsigned int reloc_type) | 198 | @@ -12908,6 +12908,10 @@ is_none_reloc (Filedata * filedata, unsi |
198 | || reloc_type == 32 /* R_AVR_DIFF32. */); | 199 | || reloc_type == 32 /* R_AVR_DIFF32. */); |
199 | case EM_METAG: | 200 | case EM_METAG: |
200 | return reloc_type == 3; /* R_METAG_NONE. */ | 201 | return reloc_type == 3; /* R_METAG_NONE. */ |
201 | + case EM_MICROBLAZE: | 202 | + case EM_MICROBLAZE: |
202 | + return reloc_type == 30 /* R_MICROBLAZE_32_NONE. */ | 203 | + return reloc_type == 33 /* R_MICROBLAZE_32_NONE. */ |
203 | + || reloc_type == 0 /* R_MICROBLAZE_NONE. */ | 204 | + || reloc_type == 0 /* R_MICROBLAZE_NONE. */ |
204 | + || reloc_type == 9; /* R_MICROBLAZE_64_NONE. */ | 205 | + || reloc_type == 9; /* R_MICROBLAZE_64_NONE. */ |
205 | case EM_NDS32: | 206 | case EM_NDS32: |
206 | return (reloc_type == 0 /* R_XTENSA_NONE. */ | 207 | return (reloc_type == 0 /* R_XTENSA_NONE. */ |
207 | || reloc_type == 204 /* R_NDS32_DIFF8. */ | 208 | || reloc_type == 204 /* R_NDS32_DIFF8. */ |
208 | diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c | 209 | Index: git/gas/config/tc-microblaze.c |
209 | index 50dbfc7..d66e949 100644 | 210 | =================================================================== |
210 | --- a/gas/config/tc-microblaze.c | 211 | --- git.orig/gas/config/tc-microblaze.c |
211 | +++ b/gas/config/tc-microblaze.c | 212 | +++ git/gas/config/tc-microblaze.c |
212 | @@ -2179,7 +2179,9 @@ md_apply_fix (fixS * fixP, | 213 | @@ -2201,7 +2201,9 @@ md_apply_fix (fixS * fixP, |
213 | /* This fixup has been resolved. Create a reloc in case the linker | 214 | /* This fixup has been resolved. Create a reloc in case the linker |
214 | moves code around due to relaxing. */ | 215 | moves code around due to relaxing. */ |
215 | if (fixP->fx_r_type == BFD_RELOC_64_PCREL) | 216 | if (fixP->fx_r_type == BFD_RELOC_64_PCREL) |
@@ -220,7 +221,7 @@ index 50dbfc7..d66e949 100644 | |||
220 | else | 221 | else |
221 | fixP->fx_r_type = BFD_RELOC_NONE; | 222 | fixP->fx_r_type = BFD_RELOC_NONE; |
222 | fixP->fx_addsy = section_symbol (absolute_section); | 223 | fixP->fx_addsy = section_symbol (absolute_section); |
223 | @@ -2401,6 +2403,7 @@ tc_gen_reloc (asection * section ATTRIBUTE_UNUSED, fixS * fixp) | 224 | @@ -2426,6 +2428,7 @@ tc_gen_reloc (asection * section ATTRIBU |
224 | switch (fixp->fx_r_type) | 225 | switch (fixp->fx_r_type) |
225 | { | 226 | { |
226 | case BFD_RELOC_NONE: | 227 | case BFD_RELOC_NONE: |
@@ -228,15 +229,15 @@ index 50dbfc7..d66e949 100644 | |||
228 | case BFD_RELOC_MICROBLAZE_64_NONE: | 229 | case BFD_RELOC_MICROBLAZE_64_NONE: |
229 | case BFD_RELOC_32: | 230 | case BFD_RELOC_32: |
230 | case BFD_RELOC_MICROBLAZE_32_LO: | 231 | case BFD_RELOC_MICROBLAZE_32_LO: |
231 | diff --git a/include/elf/microblaze.h b/include/elf/microblaze.h | 232 | Index: git/include/elf/microblaze.h |
232 | index ae98099..c8cc57b 100644 | 233 | =================================================================== |
233 | --- a/include/elf/microblaze.h | 234 | --- git.orig/include/elf/microblaze.h |
234 | +++ b/include/elf/microblaze.h | 235 | +++ git/include/elf/microblaze.h |
235 | @@ -58,6 +58,7 @@ START_RELOC_NUMBERS (elf_microblaze_reloc_type) | 236 | @@ -61,6 +61,7 @@ START_RELOC_NUMBERS (elf_microblaze_relo |
236 | RELOC_NUMBER (R_MICROBLAZE_TLSDTPREL64, 27) /* TLS Offset Within TLS Block */ | 237 | RELOC_NUMBER (R_MICROBLAZE_TEXTPCREL_64, 30) /* PC-relative TEXT offset. */ |
237 | RELOC_NUMBER (R_MICROBLAZE_TLSGOTTPREL32, 28) /* TLS Offset From Thread Pointer */ | 238 | RELOC_NUMBER (R_MICROBLAZE_TEXTREL_64, 31) /* TEXT Entry offset 64-bit. */ |
238 | RELOC_NUMBER (R_MICROBLAZE_TLSTPREL32, 29) /* TLS Offset From Thread Pointer */ | 239 | RELOC_NUMBER (R_MICROBLAZE_TEXTREL_32_LO, 32) /* TEXT Entry offset 32-bit. */ |
239 | + RELOC_NUMBER (R_MICROBLAZE_32_NONE, 30) | 240 | + RELOC_NUMBER (R_MICROBLAZE_32_NONE, 33) |
240 | |||
241 | END_RELOC_NUMBERS (R_MICROBLAZE_max) | 241 | END_RELOC_NUMBERS (R_MICROBLAZE_max) |
242 | 242 | ||
243 | /* Global base address names. */ | ||
diff --git a/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0006-Fix-bug-in-MicroBlaze-TLSTPREL-Relocation.patch b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0006-Fix-bug-in-MicroBlaze-TLSTPREL-Relocation.patch index a671cf84..8d3d5387 100644 --- a/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0006-Fix-bug-in-MicroBlaze-TLSTPREL-Relocation.patch +++ b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0006-Fix-bug-in-MicroBlaze-TLSTPREL-Relocation.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 0cad227ce495a975b32c10a8b6b0970c45024dd6 Mon Sep 17 00:00:00 2001 | 1 | From ca0336a49c33ccb78962530f2affff8982027e8e Mon Sep 17 00:00:00 2001 |
2 | From: Nagaraju Mekala <nagaraju.mekala@xilinx.com> | 2 | From: Nagaraju Mekala <nagaraju.mekala@xilinx.com> |
3 | Date: Mon, 28 Aug 2017 19:53:58 -0700 | 3 | Date: Mon, 28 Aug 2017 19:53:58 -0700 |
4 | Subject: [PATCH] Fix bug in MicroBlaze TLSTPREL Relocation | 4 | Subject: [PATCH] Fix bug in MicroBlaze TLSTPREL Relocation |
@@ -18,10 +18,10 @@ Upstream-Status: Pending | |||
18 | 1 file changed, 2 insertions(+), 2 deletions(-) | 18 | 1 file changed, 2 insertions(+), 2 deletions(-) |
19 | 19 | ||
20 | diff --git a/bfd/elf32-microblaze.c b/bfd/elf32-microblaze.c | 20 | diff --git a/bfd/elf32-microblaze.c b/bfd/elf32-microblaze.c |
21 | index fc0d3e1..a94799f 100644 | 21 | index 1dc56f7..d4e53de 100644 |
22 | --- a/bfd/elf32-microblaze.c | 22 | --- a/bfd/elf32-microblaze.c |
23 | +++ b/bfd/elf32-microblaze.c | 23 | +++ b/bfd/elf32-microblaze.c |
24 | @@ -1402,9 +1402,9 @@ microblaze_elf_relocate_section (bfd *output_bfd, | 24 | @@ -1451,9 +1451,9 @@ microblaze_elf_relocate_section (bfd *output_bfd, |
25 | relocation += addend; | 25 | relocation += addend; |
26 | relocation -= dtprel_base(info); | 26 | relocation -= dtprel_base(info); |
27 | bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff, | 27 | bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff, |
@@ -31,5 +31,5 @@ index fc0d3e1..a94799f 100644 | |||
31 | - contents + offset + 2 + INST_WORD_SIZE); | 31 | - contents + offset + 2 + INST_WORD_SIZE); |
32 | + contents + offset + endian + INST_WORD_SIZE); | 32 | + contents + offset + endian + INST_WORD_SIZE); |
33 | break; | 33 | break; |
34 | case (int) R_MICROBLAZE_64_PCREL : | 34 | case (int) R_MICROBLAZE_TEXTREL_64: |
35 | case (int) R_MICROBLAZE_64: | 35 | case (int) R_MICROBLAZE_TEXTREL_32_LO: |
diff --git a/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0007-Add-MicroBlaze-address-extension-instructions.patch b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0007-Add-MicroBlaze-address-extension-instructions.patch index 9672c516..9672c516 100644 --- a/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0007-Add-MicroBlaze-address-extension-instructions.patch +++ b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0007-Add-MicroBlaze-address-extension-instructions.patch | |||
diff --git a/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0008-Add-new-MicroBlaze-bit-field-instructions.patch b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0008-Add-new-MicroBlaze-bit-field-instructions.patch index 0bc01177..0bc01177 100644 --- a/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0008-Add-new-MicroBlaze-bit-field-instructions.patch +++ b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0008-Add-new-MicroBlaze-bit-field-instructions.patch | |||
diff --git a/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0009-Fixing-MicroBlaze-IMM-bug.patch b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0009-Fixing-MicroBlaze-IMM-bug.patch index bb7e91cc..bb7e91cc 100644 --- a/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0009-Fixing-MicroBlaze-IMM-bug.patch +++ b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0009-Fixing-MicroBlaze-IMM-bug.patch | |||
diff --git a/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0010-Fixed-bug-in-GCC-so-that-it-will-support-.long-0U-an.patch b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0010-Fixed-bug-in-GCC-so-that-it-will-support-.long-0U-an.patch index 077343e6..077343e6 100644 --- a/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0010-Fixed-bug-in-GCC-so-that-it-will-support-.long-0U-an.patch +++ b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0010-Fixed-bug-in-GCC-so-that-it-will-support-.long-0U-an.patch | |||
diff --git a/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0011-Fixing-MicroBlaze-constant-range-check-issue.patch b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0011-Fixing-MicroBlaze-constant-range-check-issue.patch index 244a7ade..244a7ade 100644 --- a/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0011-Fixing-MicroBlaze-constant-range-check-issue.patch +++ b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0011-Fixing-MicroBlaze-constant-range-check-issue.patch | |||
diff --git a/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0012-MicroBlaze-fix-mask-for-barrel-shift-instructions.patch b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0012-MicroBlaze-fix-mask-for-barrel-shift-instructions.patch index e340c506..e340c506 100644 --- a/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0012-MicroBlaze-fix-mask-for-barrel-shift-instructions.patch +++ b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0012-MicroBlaze-fix-mask-for-barrel-shift-instructions.patch | |||