[meta-xilinx] [PATCH] binutils: Rebase microblaze patches for binutils v2.30

Alejandro Enedino Hernandez Samaniego alejandro.enedino.hernandez-samaniego at xilinx.com
Wed Mar 7 17:15:25 PST 2018


oe-core has upgraded binutils to v2.30, which caused some of our
patches to fail, rebase these along with other minimal changes to
avoid these errors and provide compatibility with latest oe-core.

Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr at xilinx.com>
---
 .../recipes-microblaze/binutils/binutils%.bbappend |   2 +-
 ...Add-wdc.ext.clear-and-wdc.ext.flush-insns.patch |   0
 ...-add-mlittle-endian-and-mbig-endian-flags.patch |   0
 ...able-the-warning-message-for-eh_frame_hdr.patch |   0
 ...laxation-of-assembler-resolved-references.patch |  70 +++++-----
 ...Blaze-debug_loc-sections-after-linker-rel.patch | 145 +++++++++++----------
 ...Fix-bug-in-MicroBlaze-TLSTPREL-Relocation.patch |   0
 ...MicroBlaze-address-extension-instructions.patch |   0
 ...Add-new-MicroBlaze-bit-field-instructions.patch |   0
 .../0009-Fixing-MicroBlaze-IMM-bug.patch           |   0
 ...n-GCC-so-that-it-will-support-.long-0U-an.patch |   0
 ...ing-MicroBlaze-constant-range-check-issue.patch |   0
 ...ze-fix-mask-for-barrel-shift-instructions.patch |   0
 13 files changed, 112 insertions(+), 105 deletions(-)
 rename meta-xilinx-bsp/recipes-microblaze/binutils/{binutils-2.29 => binutils-2.30}/0001-MicroBlaze-Add-wdc.ext.clear-and-wdc.ext.flush-insns.patch (100%)
 rename meta-xilinx-bsp/recipes-microblaze/binutils/{binutils-2.29 => binutils-2.30}/0002-MicroBlaze-add-mlittle-endian-and-mbig-endian-flags.patch (100%)
 rename meta-xilinx-bsp/recipes-microblaze/binutils/{binutils-2.29 => binutils-2.30}/0003-Disable-the-warning-message-for-eh_frame_hdr.patch (100%)
 rename meta-xilinx-bsp/recipes-microblaze/binutils/{binutils-2.29 => binutils-2.30}/0004-Fix-relaxation-of-assembler-resolved-references.patch (52%)
 rename meta-xilinx-bsp/recipes-microblaze/binutils/{binutils-2.29 => binutils-2.30}/0005-Fixup-MicroBlaze-debug_loc-sections-after-linker-rel.patch (71%)
 rename meta-xilinx-bsp/recipes-microblaze/binutils/{binutils-2.29 => binutils-2.30}/0006-Fix-bug-in-MicroBlaze-TLSTPREL-Relocation.patch (100%)
 rename meta-xilinx-bsp/recipes-microblaze/binutils/{binutils-2.29 => binutils-2.30}/0007-Add-MicroBlaze-address-extension-instructions.patch (100%)
 rename meta-xilinx-bsp/recipes-microblaze/binutils/{binutils-2.29 => binutils-2.30}/0008-Add-new-MicroBlaze-bit-field-instructions.patch (100%)
 rename meta-xilinx-bsp/recipes-microblaze/binutils/{binutils-2.29 => binutils-2.30}/0009-Fixing-MicroBlaze-IMM-bug.patch (100%)
 rename meta-xilinx-bsp/recipes-microblaze/binutils/{binutils-2.29 => binutils-2.30}/0010-Fixed-bug-in-GCC-so-that-it-will-support-.long-0U-an.patch (100%)
 rename meta-xilinx-bsp/recipes-microblaze/binutils/{binutils-2.29 => binutils-2.30}/0011-Fixing-MicroBlaze-constant-range-check-issue.patch (100%)
 rename meta-xilinx-bsp/recipes-microblaze/binutils/{binutils-2.29 => binutils-2.30}/0012-MicroBlaze-fix-mask-for-barrel-shift-instructions.patch (100%)

diff --git a/meta-xilinx-bsp/recipes-microblaze/binutils/binutils%.bbappend b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils%.bbappend
index 1784318..795c671 100644
--- a/meta-xilinx-bsp/recipes-microblaze/binutils/binutils%.bbappend
+++ b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils%.bbappend
@@ -1,4 +1,4 @@
-FILESEXTRAPATHS_append_microblaze := "${THISDIR}/binutils-2.29:"
+FILESEXTRAPATHS_append_microblaze := "${THISDIR}/binutils-2.30:"
 SRC_URI_append_microblaze = " \
                file://0001-MicroBlaze-Add-wdc.ext.clear-and-wdc.ext.flush-insns.patch \
                file://0002-MicroBlaze-add-mlittle-endian-and-mbig-endian-flags.patch \
diff --git a/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.29/0001-MicroBlaze-Add-wdc.ext.clear-and-wdc.ext.flush-insns.patch b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0001-MicroBlaze-Add-wdc.ext.clear-and-wdc.ext.flush-insns.patch
similarity index 100%
rename from meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.29/0001-MicroBlaze-Add-wdc.ext.clear-and-wdc.ext.flush-insns.patch
rename to meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0001-MicroBlaze-Add-wdc.ext.clear-and-wdc.ext.flush-insns.patch
diff --git a/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.29/0002-MicroBlaze-add-mlittle-endian-and-mbig-endian-flags.patch b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0002-MicroBlaze-add-mlittle-endian-and-mbig-endian-flags.patch
similarity index 100%
rename from meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.29/0002-MicroBlaze-add-mlittle-endian-and-mbig-endian-flags.patch
rename to meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0002-MicroBlaze-add-mlittle-endian-and-mbig-endian-flags.patch
diff --git a/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.29/0003-Disable-the-warning-message-for-eh_frame_hdr.patch b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0003-Disable-the-warning-message-for-eh_frame_hdr.patch
similarity index 100%
rename from meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.29/0003-Disable-the-warning-message-for-eh_frame_hdr.patch
rename to meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0003-Disable-the-warning-message-for-eh_frame_hdr.patch
diff --git a/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.29/0004-Fix-relaxation-of-assembler-resolved-references.patch b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0004-Fix-relaxation-of-assembler-resolved-references.patch
similarity index 52%
rename from meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.29/0004-Fix-relaxation-of-assembler-resolved-references.patch
rename to meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0004-Fix-relaxation-of-assembler-resolved-references.patch
index c145a74..6e166bb 100644
--- a/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.29/0004-Fix-relaxation-of-assembler-resolved-references.patch
+++ b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0004-Fix-relaxation-of-assembler-resolved-references.patch
@@ -3,22 +3,27 @@ From: "Edgar E. Iglesias" <edgar.iglesias at gmail.com>
 Date: Mon, 28 Aug 2017 19:53:55 -0700
 Subject: [PATCH] Fix relaxation of assembler resolved references

+03/2018
+Rebased for binutils 2.30
+
 Signed-off-by: Edgar E. Iglesias <edgar.iglesias at gmail.com>
 Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha at xilinx.com>
+Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr at xilinx.com>
+
 Upstream-Status: Pending
 ---
  bfd/elf32-microblaze.c     | 39 +++++++++++++++++++++++++++++++++++++++
  gas/config/tc-microblaze.c |  1 +
  2 files changed, 40 insertions(+)

-diff --git a/bfd/elf32-microblaze.c b/bfd/elf32-microblaze.c
-index 265773675c..c3dbead48d 100644
---- a/bfd/elf32-microblaze.c
-+++ b/bfd/elf32-microblaze.c
-@@ -1901,6 +1901,45 @@ microblaze_elf_relax_section (bfd *abfd,
-           irelscanend = irelocs + o->reloc_count;
-           for (irelscan = irelocs; irelscan < irelscanend; irelscan++)
-             {
+Index: git/bfd/elf32-microblaze.c
+===================================================================
+--- git.orig/bfd/elf32-microblaze.c
++++ git/bfd/elf32-microblaze.c
+@@ -1887,6 +1887,45 @@ microblaze_elf_relax_section (bfd *abfd,
+         irelscanend = irelocs + o->reloc_count;
+         for (irelscan = irelocs; irelscan < irelscanend; irelscan++)
+           {
 +              if (ELF32_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_NONE)
 +                {
 +                  unsigned int val;
@@ -28,26 +33,26 @@ index 265773675c..c3dbead48d 100644
 +                  /* This was a PC-relative instruction that was completely resolved.  */
 +                  if (ocontents == NULL)
 +                    {
-+                    if (elf_section_data (o)->this_hdr.contents != NULL)
-+                        ocontents = elf_section_data (o)->this_hdr.contents;
-+                    else
-+                      {
-+                        /* We always cache the section contents.
-+                           Perhaps, if info->keep_memory is FALSE, we
-+                           should free them, if we are permitted to.  */
++                      if (elf_section_data (o)->this_hdr.contents != NULL)
++                          ocontents = elf_section_data (o)->this_hdr.contents;
++                      else
++                        {
++                          /* We always cache the section contents.
++                             Perhaps, if info->keep_memory is FALSE, we
++                             should free them, if we are permitted to.  */
 +
-+                        if (o->rawsize == 0)
-+                            o->rawsize = o->size;
-+                        ocontents = (bfd_byte *) bfd_malloc (o->rawsize);
-+                        if (ocontents == NULL)
-+                            goto error_return;
-+                        if (!bfd_get_section_contents (abfd, o, ocontents,
++                          if (o->rawsize == 0)
++                              o->rawsize = o->size;
++                          ocontents = (bfd_byte *) bfd_malloc (o->rawsize);
++                          if (ocontents == NULL)
++                              goto error_return;
++                          if (!bfd_get_section_contents (abfd, o, ocontents,
 +                                                         (file_ptr) 0,
 +                                                         o->rawsize))
 +                              goto error_return;
-+                        elf_section_data (o)->this_hdr.contents = ocontents;
-+                      }
-+                  }
++                          elf_section_data (o)->this_hdr.contents = ocontents;
++                        }
++                    }
 +
 +                  irelscan->r_addend -= calc_fixup (irelscan->r_addend
 +                                                    + isym->st_value, sec);
@@ -58,13 +63,13 @@ index 265773675c..c3dbead48d 100644
 +              if (ELF32_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_64_NONE) {
 +                  fprintf(stderr, "Unhandled NONE 64\n");
 +              }
-               if (ELF32_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32)
-                 {
-                 isym = isymbuf + ELF32_R_SYM (irelscan->r_info);
-diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c
-index d47793646b..1cfd441c19 100644
---- a/gas/config/tc-microblaze.c
-+++ b/gas/config/tc-microblaze.c
+             if (ELF32_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32)
+               {
+                 isym = isymbuf + ELF32_R_SYM (irelscan->r_info);
+Index: git/gas/config/tc-microblaze.c
+===================================================================
+--- git.orig/gas/config/tc-microblaze.c
++++ git/gas/config/tc-microblaze.c
 @@ -2183,6 +2183,7 @@ md_apply_fix (fixS *   fixP,
        else
        fixP->fx_r_type = BFD_RELOC_NONE;
@@ -73,6 +78,3 @@ index d47793646b..1cfd441c19 100644
      }
    return;
  }
---
-2.15.0
-
diff --git a/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.29/0005-Fixup-MicroBlaze-debug_loc-sections-after-linker-rel.patch b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0005-Fixup-MicroBlaze-debug_loc-sections-after-linker-rel.patch
similarity index 71%
rename from meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.29/0005-Fixup-MicroBlaze-debug_loc-sections-after-linker-rel.patch
rename to meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0005-Fixup-MicroBlaze-debug_loc-sections-after-linker-rel.patch
index 9eeb0b2..7e7510c 100644
--- a/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.29/0005-Fixup-MicroBlaze-debug_loc-sections-after-linker-rel.patch
+++ b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0005-Fixup-MicroBlaze-debug_loc-sections-after-linker-rel.patch
@@ -11,9 +11,14 @@ reference.
 This is a workaround for design flaws in the assembler to
 linker interface with regards to linker relaxation.

+03/2018
+Rebased for binutils 2.30
+
 Signed-off-by: Edgar E. Iglesias <edgar.iglesias at gmail.com>
 Signed-off-by: Nagaraju Mekala <nmekala at xilinx.com>
 Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha at xilinx.com>
+Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr at xilinx.com>
+
 Upstream-Status: Pending
 ---
  bfd/bfd-in2.h              |  9 +++++++--
@@ -25,11 +30,11 @@ Upstream-Status: Pending
  include/elf/microblaze.h   |  1 +
  7 files changed, 58 insertions(+), 10 deletions(-)

-diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
-index 1343780c8c..3456826f83 100644
---- a/bfd/bfd-in2.h
-+++ b/bfd/bfd-in2.h
-@@ -5809,10 +5809,15 @@ value relative to the read-write small data area anchor  */
+Index: git/bfd/bfd-in2.h
+===================================================================
+--- git.orig/bfd/bfd-in2.h
++++ git/bfd/bfd-in2.h
+@@ -5826,10 +5826,15 @@ value relative to the read-write small d
  expressions of the form "Symbol Op Symbol"  */
    BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM,

@@ -47,13 +52,13 @@ index 1343780c8c..3456826f83 100644

  /* This is a 64 bit reloc that stores the 32 bit pc relative
  value in two words (with an imm instruction).  The relocation is
-diff --git a/bfd/elf32-microblaze.c b/bfd/elf32-microblaze.c
-index c3dbead48d..1d1f7e210a 100644
---- a/bfd/elf32-microblaze.c
-+++ b/bfd/elf32-microblaze.c
-@@ -176,6 +176,20 @@ static reloc_howto_type microblaze_elf_howto_raw[] =
-           0x0000ffff,         /* Dest Mask.  */
-           FALSE),             /* PC relative offset?  */
+Index: git/bfd/elf32-microblaze.c
+===================================================================
+--- git.orig/bfd/elf32-microblaze.c
++++ git/bfd/elf32-microblaze.c
+@@ -176,6 +176,20 @@ static reloc_howto_type microblaze_elf_h
+         0x0000ffff,           /* Dest Mask.  */
+         FALSE),               /* PC relative offset?  */

 +   HOWTO (R_MICROBLAZE_32_NONE,   /* Type.  */
 +          0,         /* Rightshift.  */
@@ -69,10 +74,10 @@ index c3dbead48d..1d1f7e210a 100644
 +          0,         /* Dest Mask.  */
 +          FALSE),       /* PC relative offset?  */
 +
-    /* This reloc does nothing.  Used for relaxation.  */
+    /* This reloc does nothing.        Used for relaxation.  */
     HOWTO (R_MICROBLAZE_64_NONE,       /* Type.  */
-           0,                  /* Rightshift.  */
-@@ -532,6 +546,9 @@ microblaze_elf_reloc_type_lookup (bfd * abfd ATTRIBUTE_UNUSED,
+         0,                    /* Rightshift.  */
+@@ -532,6 +546,9 @@ microblaze_elf_reloc_type_lookup (bfd *
      case BFD_RELOC_NONE:
        microblaze_reloc = R_MICROBLAZE_NONE;
        break;
@@ -82,33 +87,34 @@ index c3dbead48d..1d1f7e210a 100644
      case BFD_RELOC_MICROBLAZE_64_NONE:
        microblaze_reloc = R_MICROBLAZE_64_NONE;
        break;
-@@ -1846,14 +1863,22 @@ microblaze_elf_relax_section (bfd *abfd,
-               }
+@@ -1832,14 +1849,23 @@ microblaze_elf_relax_section (bfd *abfd,
+               }
              break;
            case R_MICROBLAZE_NONE:
-+          case R_MICROBLAZE_32_NONE:
++            case R_MICROBLAZE_32_NONE:
              {
-               /* This was a PC-relative instruction that was
-                  completely resolved.  */
-               int sfix, efix;
+               /* This was a PC-relative instruction that was
+                  completely resolved.  */
+               int sfix, efix;
 +            unsigned int val;
-               bfd_vma target_address;
-               target_address = irel->r_addend + irel->r_offset;
-               sfix = calc_fixup (irel->r_offset, 0, sec);
-               efix = calc_fixup (target_address, 0, sec);
+               bfd_vma target_address;
+               target_address = irel->r_addend + irel->r_offset;
+               sfix = calc_fixup (irel->r_offset, 0, sec);
+               efix = calc_fixup (target_address, 0, sec);
 +
 +            /* Validate the in-band val.  */
 +            val = bfd_get_32 (abfd, contents + irel->r_offset);
 +            if (val != irel->r_addend && ELF32_R_TYPE (irel->r_info) == R_MICROBLAZE_32_NONE) {
 +               fprintf(stderr, "%d: CORRUPT relax reloc %x %lx\n", __LINE__, val, irel->r_addend);
 +            }
-               irel->r_addend -= (efix - sfix);
-               /* Should use HOWTO.  */
-               microblaze_bfd_write_imm_value_32 (abfd, contents + irel->r_offset,
-@@ -1901,12 +1926,16 @@ microblaze_elf_relax_section (bfd *abfd,
-           irelscanend = irelocs + o->reloc_count;
-           for (irelscan = irelocs; irelscan < irelscanend; irelscan++)
-             {
++
+               irel->r_addend -= (efix - sfix);
+               /* Should use HOWTO.  */
+               microblaze_bfd_write_imm_value_32 (abfd, contents + irel->r_offset,
+@@ -1887,12 +1913,16 @@ microblaze_elf_relax_section (bfd *abfd,
+         irelscanend = irelocs + o->reloc_count;
+         for (irelscan = irelocs; irelscan < irelscanend; irelscan++)
+           {
 -              if (ELF32_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_NONE)
 +              if (1 && ELF32_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32_NONE)
                  {
@@ -123,27 +129,29 @@ index c3dbead48d..1d1f7e210a 100644
                    /* This was a PC-relative instruction that was completely resolved.  */
                    if (ocontents == NULL)
                      {
-@@ -1931,15 +1960,14 @@ microblaze_elf_relax_section (bfd *abfd,
-                       }
-                   }
+@@ -1917,15 +1947,16 @@ microblaze_elf_relax_section (bfd *abfd,
+                         }
+                     }

 -                  irelscan->r_addend -= calc_fixup (irelscan->r_addend
 -                                                    + isym->st_value, sec);
                    val = bfd_get_32 (abfd, ocontents + irelscan->r_offset);
++
 +                  if (val != irelscan->r_addend) {
 +                    fprintf(stderr, "%d: CORRUPT relax reloc! %x %lx\n", __LINE__, val, irelscan->r_addend);
 +                  }
 +                  irelscan->r_addend -= calc_fixup (irelscan->r_addend, 0, sec);
++
                    microblaze_bfd_write_imm_value_32 (abfd, ocontents + irelscan->r_offset,
                                                       irelscan->r_addend);
                }
 -              if (ELF32_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_64_NONE) {
 -                  fprintf(stderr, "Unhandled NONE 64\n");
 -              }
-               if (ELF32_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32)
-                 {
-                 isym = isymbuf + ELF32_R_SYM (irelscan->r_info);
-@@ -1999,7 +2027,7 @@ microblaze_elf_relax_section (bfd *abfd,
+             if (ELF32_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32)
+               {
+                 isym = isymbuf + ELF32_R_SYM (irelscan->r_info);
+@@ -1985,7 +2016,7 @@ microblaze_elf_relax_section (bfd *abfd,
                              elf_section_data (o)->this_hdr.contents = ocontents;
                            }
                        }
@@ -152,11 +160,11 @@ index c3dbead48d..1d1f7e210a 100644
                                                        + isym->st_value,
                                                        0,
                                                        sec);
-diff --git a/bfd/libbfd.h b/bfd/libbfd.h
-index ae9bf76814..2091286c7c 100644
---- a/bfd/libbfd.h
-+++ b/bfd/libbfd.h
-@@ -2847,6 +2847,7 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
+Index: git/bfd/libbfd.h
+===================================================================
+--- git.orig/bfd/libbfd.h
++++ git/bfd/libbfd.h
+@@ -2853,6 +2853,7 @@ static const char *const bfd_reloc_code_
    "BFD_RELOC_MICROBLAZE_32_ROSDA",
    "BFD_RELOC_MICROBLAZE_32_RWSDA",
    "BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM",
@@ -164,28 +172,28 @@ index ae9bf76814..2091286c7c 100644
    "BFD_RELOC_MICROBLAZE_64_NONE",
    "BFD_RELOC_MICROBLAZE_64_GOTPC",
    "BFD_RELOC_MICROBLAZE_64_GOT",
-diff --git a/bfd/reloc.c b/bfd/reloc.c
-index aa70fa5874..54d7f538ec 100644
---- a/bfd/reloc.c
-+++ b/bfd/reloc.c
-@@ -6860,6 +6860,12 @@ ENUM
- ENUMDOC
+Index: git/bfd/reloc.c
+===================================================================
+--- git.orig/bfd/reloc.c
++++ git/bfd/reloc.c
+@@ -6903,6 +6903,12 @@ ENUMDOC
    This is a 32 bit reloc for the microblaze to handle
    expressions of the form "Symbol Op Symbol"
-+ENUM
+ ENUM
 +  BFD_RELOC_MICROBLAZE_32_NONE
 +ENUMDOC
 +  This is a 32 bit reloc that stores the 32 bit pc relative
 +  value in two words (with an imm instruction).  No relocation is
 +  done here - only used for relaxing
- ENUM
++ENUM
    BFD_RELOC_MICROBLAZE_64_NONE
  ENUMDOC
-diff --git a/binutils/readelf.c b/binutils/readelf.c
-index b2f75c0048..8a3226eba9 100644
---- a/binutils/readelf.c
-+++ b/binutils/readelf.c
-@@ -12488,6 +12488,10 @@ is_none_reloc (unsigned int reloc_type)
+   This is a 64 bit reloc that stores the 32 bit pc relative
+Index: git/binutils/readelf.c
+===================================================================
+--- git.orig/binutils/readelf.c
++++ git/binutils/readelf.c
+@@ -12774,6 +12774,10 @@ is_none_reloc (Filedata * filedata, unsi
              || reloc_type == 32 /* R_AVR_DIFF32.  */);
      case EM_METAG:
        return reloc_type == 3; /* R_METAG_NONE.  */
@@ -196,10 +204,10 @@ index b2f75c0048..8a3226eba9 100644
      case EM_NDS32:
        return (reloc_type == 0       /* R_XTENSA_NONE.  */
              || reloc_type == 204  /* R_NDS32_DIFF8.  */
-diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c
-index 1cfd441c19..e135547e62 100644
---- a/gas/config/tc-microblaze.c
-+++ b/gas/config/tc-microblaze.c
+Index: git/gas/config/tc-microblaze.c
+===================================================================
+--- git.orig/gas/config/tc-microblaze.c
++++ git/gas/config/tc-microblaze.c
 @@ -2179,7 +2179,9 @@ md_apply_fix (fixS *   fixP,
        /* This fixup has been resolved.  Create a reloc in case the linker
         moves code around due to relaxing.  */
@@ -211,7 +219,7 @@ index 1cfd441c19..e135547e62 100644
        else
        fixP->fx_r_type = BFD_RELOC_NONE;
        fixP->fx_addsy = section_symbol (absolute_section);
-@@ -2401,6 +2403,7 @@ tc_gen_reloc (asection * section ATTRIBUTE_UNUSED, fixS * fixp)
+@@ -2401,6 +2403,7 @@ tc_gen_reloc (asection * section ATTRIBU
    switch (fixp->fx_r_type)
      {
      case BFD_RELOC_NONE:
@@ -219,11 +227,11 @@ index 1cfd441c19..e135547e62 100644
      case BFD_RELOC_MICROBLAZE_64_NONE:
      case BFD_RELOC_32:
      case BFD_RELOC_MICROBLAZE_32_LO:
-diff --git a/include/elf/microblaze.h b/include/elf/microblaze.h
-index ccb47404c5..abcaea561b 100644
---- a/include/elf/microblaze.h
-+++ b/include/elf/microblaze.h
-@@ -58,6 +58,7 @@ START_RELOC_NUMBERS (elf_microblaze_reloc_type)
+Index: git/include/elf/microblaze.h
+===================================================================
+--- git.orig/include/elf/microblaze.h
++++ git/include/elf/microblaze.h
+@@ -58,6 +58,7 @@ START_RELOC_NUMBERS (elf_microblaze_relo
    RELOC_NUMBER (R_MICROBLAZE_TLSDTPREL64, 27)   /* TLS Offset Within TLS Block */
    RELOC_NUMBER (R_MICROBLAZE_TLSGOTTPREL32, 28) /* TLS Offset From Thread Pointer */
    RELOC_NUMBER (R_MICROBLAZE_TLSTPREL32, 29)    /* TLS Offset From Thread Pointer */
@@ -231,6 +239,3 @@ index ccb47404c5..abcaea561b 100644

  END_RELOC_NUMBERS (R_MICROBLAZE_max)

---
-2.15.0
-
diff --git a/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.29/0006-Fix-bug-in-MicroBlaze-TLSTPREL-Relocation.patch b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0006-Fix-bug-in-MicroBlaze-TLSTPREL-Relocation.patch
similarity index 100%
rename from meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.29/0006-Fix-bug-in-MicroBlaze-TLSTPREL-Relocation.patch
rename to meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0006-Fix-bug-in-MicroBlaze-TLSTPREL-Relocation.patch
diff --git a/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.29/0007-Add-MicroBlaze-address-extension-instructions.patch b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0007-Add-MicroBlaze-address-extension-instructions.patch
similarity index 100%
rename from meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.29/0007-Add-MicroBlaze-address-extension-instructions.patch
rename to meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0007-Add-MicroBlaze-address-extension-instructions.patch
diff --git a/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.29/0008-Add-new-MicroBlaze-bit-field-instructions.patch b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0008-Add-new-MicroBlaze-bit-field-instructions.patch
similarity index 100%
rename from meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.29/0008-Add-new-MicroBlaze-bit-field-instructions.patch
rename to meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0008-Add-new-MicroBlaze-bit-field-instructions.patch
diff --git a/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.29/0009-Fixing-MicroBlaze-IMM-bug.patch b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0009-Fixing-MicroBlaze-IMM-bug.patch
similarity index 100%
rename from meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.29/0009-Fixing-MicroBlaze-IMM-bug.patch
rename to meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0009-Fixing-MicroBlaze-IMM-bug.patch
diff --git a/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.29/0010-Fixed-bug-in-GCC-so-that-it-will-support-.long-0U-an.patch b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0010-Fixed-bug-in-GCC-so-that-it-will-support-.long-0U-an.patch
similarity index 100%
rename from meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.29/0010-Fixed-bug-in-GCC-so-that-it-will-support-.long-0U-an.patch
rename to meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/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.29/0011-Fixing-MicroBlaze-constant-range-check-issue.patch b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0011-Fixing-MicroBlaze-constant-range-check-issue.patch
similarity index 100%
rename from meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.29/0011-Fixing-MicroBlaze-constant-range-check-issue.patch
rename to meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0011-Fixing-MicroBlaze-constant-range-check-issue.patch
diff --git a/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.29/0012-MicroBlaze-fix-mask-for-barrel-shift-instructions.patch b/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0012-MicroBlaze-fix-mask-for-barrel-shift-instructions.patch
similarity index 100%
rename from meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.29/0012-MicroBlaze-fix-mask-for-barrel-shift-instructions.patch
rename to meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.30/0012-MicroBlaze-fix-mask-for-barrel-shift-instructions.patch
--
2.7.4

This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.


More information about the meta-xilinx mailing list