]> git.pld-linux.org Git - packages/binutils.git/commitdiff
- up to 2.22.52.0.2; dropped merged patches auto/th/binutils-2_22_52_0_2-1
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Thu, 26 Apr 2012 04:44:33 +0000 (04:44 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    binutils-bug-13675.patch -> 1.2
    binutils-weakdef.patch -> 1.2
    binutils.spec -> 1.358

binutils-bug-13675.patch [deleted file]
binutils-weakdef.patch [deleted file]
binutils.spec

diff --git a/binutils-bug-13675.patch b/binutils-bug-13675.patch
deleted file mode 100644 (file)
index 3fe1fe6..0000000
+++ /dev/null
@@ -1,280 +0,0 @@
-commit 7eb902bc9272afb419ab6fc5699eb7ed8beb104b
-Author: H.J. Lu <hjl.tools@gmail.com>
-Date:   Thu Feb 9 22:51:57 2012 +0000
-
-    Don't use multi byte nop instructions for i386
-    
-    bfd/
-    
-    2012-02-09  H.J. Lu  <hongjiu.lu@intel.com>
-    
-       PR ld/13675
-       * cpu-i386.c (bfd_arch_i386_fill): Updated to support multi byte
-       nop instructions.
-       (bfd_arch_i386_short_nop_fill): New.
-       (bfd_arch_i386_long_nop_fill): Likewise.
-       Use bfd_arch_i386_short_nop_fill in 32bit bfd_arch_info
-       initializers.  Use bfd_arch_i386_long_nop_fill on 64bit
-       bfd_arch_info initializers.
-    
-       * cpu-k1om.c (bfd_arch_i386_fill): Renamed to ...
-       (bfd_arch_i386_short_nop_fill): This.
-       Update bfd_arch_info initializers.
-       * cpu-l1om.c: Likewise.
-    
-    ld/testsuite/
-    
-    2012-02-09  H.J. Lu  <hongjiu.lu@intel.com>
-    
-       PR ld/13675
-       * ld-i386/tlsnopic.dd: Update no-op padding.
-       * ld-i386/tlspic.dd: Likewise.
-
-diff --git a/bfd/cpu-i386.c b/bfd/cpu-i386.c
-index f8991cf..4cb59ed 100644
---- a/bfd/cpu-i386.c
-+++ b/bfd/cpu-i386.c
-@@ -25,7 +25,8 @@
- #include "libbfd.h"
- #include "libiberty.h"
--extern void * bfd_arch_i386_fill (bfd_size_type, bfd_boolean, bfd_boolean);
-+extern void * bfd_arch_i386_short_nop_fill (bfd_size_type, bfd_boolean,
-+                                          bfd_boolean);
- static const bfd_arch_info_type *
- bfd_i386_compatible (const bfd_arch_info_type *a,
-@@ -41,16 +42,16 @@ bfd_i386_compatible (const bfd_arch_info_type *a,
-   return compat;
- }
--/* Fill the buffer with zero or nop instruction if CODE is TRUE.  */
-+/* Fill the buffer with zero or nop instruction if CODE is TRUE.  Use
-+   multi byte nop instructions if LONG_NOP is TRUE.  */
--void *
--bfd_arch_i386_fill (bfd_size_type count,
--                  bfd_boolean is_bigendian ATTRIBUTE_UNUSED,
--                  bfd_boolean code)
-+static void *
-+bfd_arch_i386_fill (bfd_size_type count, bfd_boolean code,
-+                  bfd_boolean long_nop)
- {
-   /* nop */
-   static const char nop_1[] = { 0x90 };       
--  /* nopw */
-+  /* xchg %ax,%ax */
-   static const char nop_2[] = { 0x66, 0x90 };
-   /* nopl (%[re]ax) */
-   static const char nop_3[] = { 0x0f, 0x1f, 0x00 };
-@@ -74,6 +75,7 @@ bfd_arch_i386_fill (bfd_size_type count,
-   static const char *const nops[] =
-     { nop_1, nop_2, nop_3, nop_4, nop_5,
-       nop_6, nop_7, nop_8, nop_9, nop_10 };
-+  bfd_size_type nop_size = long_nop ? ARRAY_SIZE (nops) : 2;
-   void *fill = bfd_malloc (count);
-   if (fill == NULL)
-@@ -82,11 +84,11 @@ bfd_arch_i386_fill (bfd_size_type count,
-   if (code)
-     {
-       bfd_byte *p = fill;
--      while (count >= ARRAY_SIZE (nops))
-+      while (count >= nop_size)
-       {
--        memcpy (p, nops[ARRAY_SIZE (nops) - 1], ARRAY_SIZE (nops));
--        p += ARRAY_SIZE (nops);
--        count -= ARRAY_SIZE (nops);
-+        memcpy (p, nops[nop_size - 1], nop_size);
-+        p += nop_size;
-+        count -= nop_size;
-       }
-       if (count != 0)
-       memcpy (p, nops[count - 1], count);
-@@ -97,6 +99,26 @@ bfd_arch_i386_fill (bfd_size_type count,
-   return fill;
- }
-+/* Fill the buffer with zero or short nop instruction if CODE is TRUE.  */
-+
-+void *
-+bfd_arch_i386_short_nop_fill (bfd_size_type count,
-+                            bfd_boolean is_bigendian ATTRIBUTE_UNUSED,
-+                            bfd_boolean code)
-+{
-+  return bfd_arch_i386_fill (count, code, FALSE);
-+}
-+
-+/* Fill the buffer with zero or long nop instruction if CODE is TRUE.  */
-+
-+static void *
-+bfd_arch_i386_long_nop_fill (bfd_size_type count,
-+                           bfd_boolean is_bigendian ATTRIBUTE_UNUSED,
-+                           bfd_boolean code)
-+{
-+  return bfd_arch_i386_fill (count, code, TRUE);
-+}
-+
- static const bfd_arch_info_type bfd_x64_32_arch_intel_syntax =
- {
-   64, /* 64 bits in a word */
-@@ -110,7 +132,7 @@ static const bfd_arch_info_type bfd_x64_32_arch_intel_syntax =
-   FALSE,
-   bfd_i386_compatible,
-   bfd_default_scan,
--  bfd_arch_i386_fill,
-+  bfd_arch_i386_long_nop_fill,
-   0
- };
-@@ -127,7 +149,7 @@ static const bfd_arch_info_type bfd_x86_64_arch_intel_syntax =
-   FALSE,
-   bfd_i386_compatible,
-   bfd_default_scan,
--  bfd_arch_i386_fill,
-+  bfd_arch_i386_long_nop_fill,
-   &bfd_x64_32_arch_intel_syntax,
- };
-@@ -144,7 +166,7 @@ static const bfd_arch_info_type bfd_i386_arch_intel_syntax =
-   TRUE,
-   bfd_i386_compatible,
-   bfd_default_scan,
--  bfd_arch_i386_fill,
-+  bfd_arch_i386_short_nop_fill,
-   &bfd_x86_64_arch_intel_syntax
- };
-@@ -161,7 +183,7 @@ static const bfd_arch_info_type i8086_arch =
-   FALSE,
-   bfd_i386_compatible,
-   bfd_default_scan,
--  bfd_arch_i386_fill,
-+  bfd_arch_i386_short_nop_fill,
-   &bfd_i386_arch_intel_syntax
- };
-@@ -178,7 +200,7 @@ static const bfd_arch_info_type bfd_x64_32_arch =
-   FALSE,
-   bfd_i386_compatible,
-   bfd_default_scan,
--  bfd_arch_i386_fill,
-+  bfd_arch_i386_long_nop_fill,
-   &i8086_arch
- };
-@@ -195,7 +217,7 @@ static const bfd_arch_info_type bfd_x86_64_arch =
-   FALSE,
-   bfd_i386_compatible,
-   bfd_default_scan,
--  bfd_arch_i386_fill,
-+  bfd_arch_i386_long_nop_fill,
-   &bfd_x64_32_arch
- };
-@@ -212,6 +234,6 @@ const bfd_arch_info_type bfd_i386_arch =
-   TRUE,
-   bfd_i386_compatible,
-   bfd_default_scan,
--  bfd_arch_i386_fill,
-+  bfd_arch_i386_short_nop_fill,
-   &bfd_x86_64_arch
- };
-diff --git a/bfd/cpu-k1om.c b/bfd/cpu-k1om.c
-index f9958e4..54b6e58 100644
---- a/bfd/cpu-k1om.c
-+++ b/bfd/cpu-k1om.c
-@@ -23,7 +23,8 @@
- #include "bfd.h"
- #include "libbfd.h"
--extern void * bfd_arch_i386_fill (bfd_size_type, bfd_boolean, bfd_boolean);
-+extern void * bfd_arch_i386_short_nop_fill (bfd_size_type, bfd_boolean,
-+                                          bfd_boolean);
- static const bfd_arch_info_type bfd_k1om_arch_intel_syntax =
- {
-@@ -38,7 +39,7 @@ static const bfd_arch_info_type bfd_k1om_arch_intel_syntax =
-   TRUE,
-   bfd_default_compatible,
-   bfd_default_scan,
--  bfd_arch_i386_fill,
-+  bfd_arch_i386_short_nop_fill,
-   0
- };
-@@ -55,6 +56,6 @@ const bfd_arch_info_type bfd_k1om_arch =
-   TRUE,
-   bfd_default_compatible,
-   bfd_default_scan,
--  bfd_arch_i386_fill,
-+  bfd_arch_i386_short_nop_fill,
-   &bfd_k1om_arch_intel_syntax
- };
-diff --git a/bfd/cpu-l1om.c b/bfd/cpu-l1om.c
-index 0fabd49..46ac3a0 100644
---- a/bfd/cpu-l1om.c
-+++ b/bfd/cpu-l1om.c
-@@ -23,7 +23,8 @@
- #include "bfd.h"
- #include "libbfd.h"
--extern void * bfd_arch_i386_fill (bfd_size_type, bfd_boolean, bfd_boolean);
-+extern void * bfd_arch_i386_short_nop_fill (bfd_size_type, bfd_boolean,
-+                                          bfd_boolean);
- static const bfd_arch_info_type bfd_l1om_arch_intel_syntax =
- {
-@@ -38,7 +39,7 @@ static const bfd_arch_info_type bfd_l1om_arch_intel_syntax =
-   TRUE,
-   bfd_default_compatible,
-   bfd_default_scan,
--  bfd_arch_i386_fill,
-+  bfd_arch_i386_short_nop_fill,
-   0
- };
-@@ -55,6 +56,6 @@ const bfd_arch_info_type bfd_l1om_arch =
-   TRUE,
-   bfd_default_compatible,
-   bfd_default_scan,
--  bfd_arch_i386_fill,
-+  bfd_arch_i386_short_nop_fill,
-   &bfd_l1om_arch_intel_syntax
- };
-diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
-index 037bfa0..b53cb8b 100644
---- a/ld/testsuite/ChangeLog
-+++ b/ld/testsuite/ChangeLog
-@@ -1,3 +1,9 @@
-+2012-02-09  H.J. Lu  <hongjiu.lu@intel.com>
-+
-+      PR ld/13675
-+      * ld-i386/tlsnopic.dd: Update no-op padding.
-+      * ld-i386/tlspic.dd: Likewise. 
-+
- 2012-01-31  H.J. Lu  <hongjiu.lu@intel.com>
-       PR ld/13616
-diff --git a/ld/testsuite/ld-i386/tlsnopic.dd b/ld/testsuite/ld-i386/tlsnopic.dd
-index d6a16d0..027d288 100644
---- a/ld/testsuite/ld-i386/tlsnopic.dd
-+++ b/ld/testsuite/ld-i386/tlsnopic.dd
-@@ -156,4 +156,5 @@ Disassembly of section .text:
-     10ec:     8b 5d fc[       ]+mov    -0x4\(%ebp\),%ebx
-     10ef:     c9[     ]+leave *
-     10f0:     c3[     ]+ret *
--    10f1:     0f 1f 00[       ]+nopl   \(%eax\)
-+    10f1:     66 90[  ]+xchg   %ax,%ax
-+    10f3:     90[     ]+nop
-diff --git a/ld/testsuite/ld-i386/tlspic.dd b/ld/testsuite/ld-i386/tlspic.dd
-index d85b385..ace06e6 100644
---- a/ld/testsuite/ld-i386/tlspic.dd
-+++ b/ld/testsuite/ld-i386/tlspic.dd
-@@ -406,4 +406,5 @@ Disassembly of section .text:
-  [0-9a-f]+:   8b 5d fc[       ]+mov    -0x4\(%ebp\),%ebx
-  [0-9a-f]+:   c9[     ]+leave *
-  [0-9a-f]+:   c3[     ]+ret *
-- [0-9a-f]+:   0f 1f 00[       ]+nopl   \(%eax\)
-+ [0-9a-f]+:   66 90[  ]+xchg   %ax,%ax
-+ [0-9a-f]+:   90[     ]+nop
diff --git a/binutils-weakdef.patch b/binutils-weakdef.patch
deleted file mode 100644 (file)
index 15c4525..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-From f5edd1ac0e79c0356c6a1e2beffcadc0c532be98 Mon Sep 17 00:00:00 2001
-From: Alan Modra <amodra@bigpond.net.au>
-Date: Wed, 8 Feb 2012 10:12:19 +0000
-Subject: [PATCH]       * elflink.c (_bfd_elf_gc_mark_rsec): Mark weakdef syms too.
-       (_bfd_elf_fix_symbol_flags): When a weakdef is def_regular, clear
-       the correct h->u.weakdef.
-
----
- bfd/ChangeLog |    6 ++++++
- bfd/elflink.c |   26 +++++++++++++++-----------
- 2 files changed, 21 insertions(+), 11 deletions(-)
-
-diff --git a/bfd/elflink.c b/bfd/elflink.c
-index 1d1ca0b..7f9ec60 100644
---- a/bfd/elflink.c
-+++ b/bfd/elflink.c
-@@ -2510,23 +2510,21 @@ _bfd_elf_fix_symbol_flags (struct elf_link_hash_entry *h,
-      over to the real definition.  */
-   if (h->u.weakdef != NULL)
-     {
--      struct elf_link_hash_entry *weakdef;
--
--      weakdef = h->u.weakdef;
--      while (h->root.type == bfd_link_hash_indirect)
--      h = (struct elf_link_hash_entry *) h->root.u.i.link;
--
--      BFD_ASSERT (h->root.type == bfd_link_hash_defined
--                || h->root.type == bfd_link_hash_defweak);
--      BFD_ASSERT (weakdef->def_dynamic);
--
-       /* If the real definition is defined by a regular object file,
-        don't do anything special.  See the longer description in
-        _bfd_elf_adjust_dynamic_symbol, below.  */
--      if (weakdef->def_regular)
-+      if (h->u.weakdef->def_regular)
-       h->u.weakdef = NULL;
-       else
-       {
-+        struct elf_link_hash_entry *weakdef = h->u.weakdef;
-+
-+        while (h->root.type == bfd_link_hash_indirect)
-+          h = (struct elf_link_hash_entry *) h->root.u.i.link;
-+
-+        BFD_ASSERT (h->root.type == bfd_link_hash_defined
-+                    || h->root.type == bfd_link_hash_defweak);
-+        BFD_ASSERT (weakdef->def_dynamic);
-         BFD_ASSERT (weakdef->root.type == bfd_link_hash_defined
-                     || weakdef->root.type == bfd_link_hash_defweak);
-         (*bed->elf_backend_copy_indirect_symbol) (eif->info, weakdef, h);
-@@ -11575,6 +11573,12 @@ _bfd_elf_gc_mark_rsec (struct bfd_link_info *info, asection *sec,
-            || h->root.type == bfd_link_hash_warning)
-       h = (struct elf_link_hash_entry *) h->root.u.i.link;
-       h->mark = 1;
-+      /* If this symbol is weak and there is a non-weak definition, we
-+       keep the non-weak definition because many backends put
-+       dynamic reloc info on the non-weak definition for code
-+       handling copy relocs.  */
-+      if (h->u.weakdef != NULL)
-+      h->u.weakdef->mark = 1;
-       return (*gc_mark_hook) (sec, info, cookie->rel, h, NULL);
-     }
--- 
-1.7.3.4
-
index 5e9f18c0963484dbd1d8a808e7cdc0356607c438..7fa7d4c4bca2cb9927a367149a10e819b5af8135 100644 (file)
@@ -17,15 +17,15 @@ Summary(ru.UTF-8):  Набор инструментов GNU для построе
 Summary(tr.UTF-8):     GNU geliştirme araçları
 Summary(uk.UTF-8):     Набір інструментів GNU для побудови виконуваних програм
 Name:          binutils
-Version:       2.22.52.0.1
-Release:       3
+Version:       2.22.52.0.2
+Release:       1
 Epoch:         3
 License:       GPL v3+
 Group:         Development/Tools
 # http://git.kernel.org/?p=linux/kernel/git/hjl/binutils.git;a=summary
 # git archive --prefix=binutils-2.22.51.0.1/ -o binutils-2.22.51.0.1.tar remotes/origin/linux/release/2.22.51.0.1
 Source0:       http://www.kernel.org/pub/linux/devel/binutils/%{name}-%{version}.tar.bz2
-# Source0-md5: 21847df8f55f006d1a2f683d9479919b
+# Source0-md5: 8f121aacee182912a71a610f73aff5da
 Source1:       http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
 # Source1-md5: a717d9707ec77d82acb6ec9078c472d6
 Patch0:                %{name}-gasp.patch
@@ -37,8 +37,6 @@ Patch6:               %{name}-absolute-gnu_debuglink-path.patch
 Patch7:                %{name}-libtool-m.patch
 Patch8:                %{name}-build-id.patch
 Patch9:                %{name}-tooldir.patch
-Patch10:       %{name}-bug-13675.patch
-Patch11:       %{name}-weakdef.patch
 URL:           http://sources.redhat.com/binutils/
 BuildRequires: autoconf >= 2.64
 BuildRequires: automake >= 1:1.11
@@ -160,8 +158,6 @@ niektórych pakietów.
 %patch7 -p1
 %patch8 -p0
 %patch9 -p1
-%patch10 -p1
-%patch11 -p1
 
 # file contains hacks for ac 2.59 only
 %{__rm} config/override.m4
This page took 0.161565 seconds and 4 git commands to generate.