SOURCES: binutils-pr3166.patch (NEW), binutils-pr3186.patch (NEW), ...
pluto
pluto at pld-linux.org
Mon Sep 11 10:29:20 CEST 2006
Author: pluto Date: Mon Sep 11 08:29:20 2006 GMT
Module: SOURCES Tag: HEAD
---- Log message:
- fixpack.
---- Files affected:
SOURCES:
binutils-pr3166.patch (NONE -> 1.1) (NEW), binutils-pr3186.patch (NONE -> 1.1) (NEW), binutils-pr3310.patch (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: SOURCES/binutils-pr3166.patch
diff -u /dev/null SOURCES/binutils-pr3166.patch:1.1
--- /dev/null Mon Sep 11 10:29:20 2006
+++ SOURCES/binutils-pr3166.patch Mon Sep 11 10:29:15 2006
@@ -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;
+ }
+
================================================================
Index: SOURCES/binutils-pr3186.patch
diff -u /dev/null SOURCES/binutils-pr3186.patch:1.1
--- /dev/null Mon Sep 11 10:29:20 2006
+++ SOURCES/binutils-pr3186.patch Mon Sep 11 10:29:15 2006
@@ -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' */
================================================================
Index: SOURCES/binutils-pr3310.patch
diff -u /dev/null SOURCES/binutils-pr3310.patch:1.1
--- /dev/null Mon Sep 11 10:29:20 2006
+++ SOURCES/binutils-pr3310.patch Mon Sep 11 10:29:15 2006
@@ -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))
+ {
================================================================
More information about the pld-cvs-commit
mailing list