]> git.pld-linux.org Git - packages/binutils.git/commitdiff
- fixpack.
authorPaweł Sikora <pluto@pld-linux.org>
Mon, 11 Sep 2006 08:29:15 +0000 (08:29 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    binutils-pr3166.patch -> 1.1
    binutils-pr3186.patch -> 1.1
    binutils-pr3310.patch -> 1.1

binutils-pr3166.patch [new file with mode: 0644]
binutils-pr3186.patch [new file with mode: 0644]
binutils-pr3310.patch [new file with mode: 0644]

diff --git a/binutils-pr3166.patch b/binutils-pr3166.patch
new file mode 100644 (file)
index 0000000..c949fb4
--- /dev/null
@@ -0,0 +1,18 @@
+*** binutils/objcopy.c 6 Aug 2006 15:49:46 -0000       1.97
+--- binutils/objcopy.c 4 Sep 2006 12:33:39 -0000
+*************** is_strip_section (bfd *abfd ATTRIBUTE_UN
+*** 815,820 ****
+--- 815,827 ----
+       return FALSE;
+      }
+  
++   /* PR binutils/3166
++      Group sections look like debugging sections but they are not.
++      (They have a non-zero size but they are not ALLOCated).  */
++   if ((bfd_get_section_flags (abfd, sec) & SEC_GROUP) != 0
++       && strip_symbols == STRIP_NONDEBUG)
++     return TRUE;
++ 
+    return FALSE;
+  }
+  
diff --git a/binutils-pr3186.patch b/binutils-pr3186.patch
new file mode 100644 (file)
index 0000000..a0b2080
--- /dev/null
@@ -0,0 +1,11 @@
+--- bfd/elf.c.foo      2006-09-10 16:17:24.000000000 -0700
++++ bfd/elf.c  2006-09-10 16:44:21.000000000 -0700
+@@ -819,7 +819,7 @@ _bfd_elf_make_section_from_shdr (bfd *ab
+         { "debug",             5  },  /* 'd' */
+         { NULL,                0  },  /* 'e' */
+         { NULL,                0  },  /* 'f' */
+-        { "gnu.linkonce.wi.", 17 },   /* 'g' */
++        { "gnu.linkonce.wi.", 16 },   /* 'g' */
+         { NULL,                0  },  /* 'h' */
+         { NULL,                0  },  /* 'i' */
+         { NULL,                0  },  /* 'j' */
diff --git a/binutils-pr3310.patch b/binutils-pr3310.patch
new file mode 100644 (file)
index 0000000..36b1240
--- /dev/null
@@ -0,0 +1,126 @@
+*** binutils/objcopy.c 5 Sep 2006 08:22:27 -0000       1.98
+--- binutils/objcopy.c 8 Sep 2006 15:01:35 -0000
+*************** copy_object (bfd *ibfd, bfd *obfd)
+*** 1730,1739 ****
+  #endif
+  
+  /* Read each archive element in turn from IBFD, copy the
+!    contents to temp file, and keep the temp file handle.  */
+  
+  static void
+! copy_archive (bfd *ibfd, bfd *obfd, const char *output_target)
+  {
+    struct name_list
+      {
+--- 1730,1743 ----
+  #endif
+  
+  /* Read each archive element in turn from IBFD, copy the
+!    contents to temp file, and keep the temp file handle.
+!    If 'force_output_target' is TRUE then make sure that
+!    all elements in the new archive are of the type
+!    'output_target'.  */
+  
+  static void
+! copy_archive (bfd *ibfd, bfd *obfd, const char *output_target,
+!            bfd_boolean force_output_target)
+  {
+    struct name_list
+      {
+*************** copy_archive (bfd *ibfd, bfd *obfd, cons
+*** 1789,1795 ****
+                               bfd_get_filename (this_element), (char *) 0);
+       }
+  
+-       output_bfd = bfd_openw (output_name, output_target);
+        if (preserve_dates)
+       {
+         stat_status = bfd_stat_arch_elt (this_element, &buf);
+--- 1793,1798 ----
+*************** copy_archive (bfd *ibfd, bfd *obfd, cons
+*** 1805,1815 ****
+        l->obfd = NULL;
+        list = l;
+  
+-       if (output_bfd == NULL)
+-      RETURN_NONFATAL (output_name);
+- 
+        if (bfd_check_format (this_element, bfd_object))
+       {
+         delete = ! copy_object (this_element, output_bfd);
+  
+         if (! delete
+--- 1808,1825 ----
+        l->obfd = NULL;
+        list = l;
+  
+        if (bfd_check_format (this_element, bfd_object))
+       {
++        /* PR binutils/3110: Cope with archives
++           containing multiple target types.  */
++        if (force_output_target)
++          output_bfd = bfd_openw (output_name, output_target);
++        else
++          output_bfd = bfd_openw (output_name, bfd_get_target (this_element));
++ 
++        if (output_bfd == NULL)
++          RETURN_NONFATAL (output_name);
++ 
+         delete = ! copy_object (this_element, output_bfd);
+  
+         if (! delete
+*************** copy_archive (bfd *ibfd, bfd *obfd, cons
+*** 1830,1835 ****
+--- 1840,1846 ----
+         non_fatal (_("Unable to recognise the format of the input file `%s'"),
+                    bfd_get_archive_filename (this_element));
+  
++        output_bfd = bfd_openw (output_name, output_target);
+  copy_unknown_element:
+         delete = !copy_unknown_object (this_element, output_bfd);
+         if (!bfd_close_all_done (output_bfd))
+*************** copy_file (const char *input_filename, c
+*** 1911,1928 ****
+  
+    if (bfd_check_format (ibfd, bfd_archive))
+      {
+        bfd *obfd;
+  
+        /* bfd_get_target does not return the correct value until
+           bfd_check_format succeeds.  */
+        if (output_target == NULL)
+!      output_target = bfd_get_target (ibfd);
+  
+        obfd = bfd_openw (output_filename, output_target);
+        if (obfd == NULL)
+       RETURN_NONFATAL (output_filename);
+  
+!       copy_archive (ibfd, obfd, output_target);
+      }
+    else if (bfd_check_format_matches (ibfd, bfd_object, &obj_matching))
+      {
+--- 1922,1945 ----
+  
+    if (bfd_check_format (ibfd, bfd_archive))
+      {
++       bfd_boolean force_output_target;
+        bfd *obfd;
+  
+        /* bfd_get_target does not return the correct value until
+           bfd_check_format succeeds.  */
+        if (output_target == NULL)
+!      {
+!        output_target = bfd_get_target (ibfd);
+!        force_output_target = FALSE;
+!      }
+!       else
+!      force_output_target = TRUE;
+  
+        obfd = bfd_openw (output_filename, output_target);
+        if (obfd == NULL)
+       RETURN_NONFATAL (output_filename);
+  
+!       copy_archive (ibfd, obfd, output_target, force_output_target);
+      }
+    else if (bfd_check_format_matches (ibfd, bfd_object, &obj_matching))
+      {
This page took 0.037221 seconds and 4 git commands to generate.