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 | |||
