binutils: add upstream patch to fix open microblaze issue
authorWaldemar Brodkorb <wbx@openadk.org>
Sat, 5 Nov 2016 15:42:19 +0000 (16:42 +0100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sat, 5 Nov 2016 22:35:54 +0000 (23:35 +0100)
This reenables the use of 2.27 for microblaze.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/binutils/2.27/0900-Revert-part-Set-dynamic-tag-VMA-and-size-from-dynami.patch [new file with mode: 0644]
package/binutils/Config.in.host

diff --git a/package/binutils/2.27/0900-Revert-part-Set-dynamic-tag-VMA-and-size-from-dynami.patch b/package/binutils/2.27/0900-Revert-part-Set-dynamic-tag-VMA-and-size-from-dynami.patch
new file mode 100644 (file)
index 0000000..f1ec259
--- /dev/null
@@ -0,0 +1,36 @@
+From c646b02fdcae5f37bd88f33a0c4683ef13ad5c82 Mon Sep 17 00:00:00 2001
+From: Alan Modra <amodra@gmail.com>
+Date: Mon, 31 Oct 2016 12:46:38 +1030
+Subject: [PATCH] Revert part "Set dynamic tag VMA and size from dynamic
+ section when possible"
+
+       PR 20748
+       * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Revert
+       2016-05-13 change.
+
+Signed-off-by: Alan Modra <amodra@gmail.com>
+Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org>
+
+diff --git a/bfd/elf32-microblaze.c b/bfd/elf32-microblaze.c
+index 477e7b3..5c66808 100644
+--- a/bfd/elf32-microblaze.c
++++ b/bfd/elf32-microblaze.c
+@@ -3396,13 +3396,13 @@ microblaze_elf_finish_dynamic_sections (bfd *output_bfd,
+             {
+               asection *s;
+-              s = bfd_get_linker_section (dynobj, name);
++              s = bfd_get_section_by_name (output_bfd, name);
+               if (s == NULL)
+                 dyn.d_un.d_val = 0;
+               else
+                 {
+                   if (! size)
+-                    dyn.d_un.d_ptr = s->output_section->vma + s->output_offset;
++                    dyn.d_un.d_ptr = s->vma;
+                   else
+                     dyn.d_un.d_val = s->size;
+                 }
+-- 
+2.1.4
+
index dce699621dfe9120a8a20c0b3cf9cf85225da5d6..3e0c357d99401b8997a0702d714a5ebeda47d9d7 100644 (file)
@@ -17,9 +17,6 @@ choice
 
        config BR2_BINUTILS_VERSION_2_27_X
                bool "binutils 2.27"
-               # supported but broken on Microblaze
-               # see https://sourceware.org/bugzilla/show_bug.cgi?id=20748
-               depends on !BR2_microblaze
 
 endchoice