summaryrefslogtreecommitdiff
path: root/multilib/binutils-multilib/binutils-2.21-strip-segfault.patch
diff options
context:
space:
mode:
Diffstat (limited to 'multilib/binutils-multilib/binutils-2.21-strip-segfault.patch')
-rw-r--r--multilib/binutils-multilib/binutils-2.21-strip-segfault.patch96
1 files changed, 0 insertions, 96 deletions
diff --git a/multilib/binutils-multilib/binutils-2.21-strip-segfault.patch b/multilib/binutils-multilib/binutils-2.21-strip-segfault.patch
deleted file mode 100644
index 0133d879b..000000000
--- a/multilib/binutils-multilib/binutils-2.21-strip-segfault.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-diff --git a/binutils/objcopy.c b/binutils/objcopy.c
-index 15c4f95..b64f3d0 100644
---- a/binutils/objcopy.c
-+++ b/binutils/objcopy.c
-@@ -1,6 +1,6 @@
- /* objcopy.c -- copy object file from input to output, optionally massaging it.
- Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-- 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-+ 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
- Free Software Foundation, Inc.
-
- This file is part of GNU Binutils.
-@@ -2024,6 +2024,7 @@ copy_archive (bfd *ibfd, bfd *obfd, const char *output_target,
- struct stat buf;
- int stat_status = 0;
- bfd_boolean del = TRUE;
-+ bfd_boolean ok_object;
-
- /* Create an output file for this member. */
- output_name = concat (dir, "/",
-@@ -2061,44 +2062,42 @@ copy_archive (bfd *ibfd, bfd *obfd, const char *output_target,
- l->obfd = NULL;
- list = l;
-
-- if (bfd_check_format (this_element, bfd_object))
-+ ok_object = bfd_check_format (this_element, bfd_object);
-+ if (!ok_object)
-+ bfd_nonfatal_message (NULL, this_element, NULL,
-+ _("Unable to recognise the format of file"));
-+
-+ /* PR binutils/3110: Cope with archives
-+ containing multiple target types. */
-+ if (force_output_target || !ok_object)
-+ output_bfd = bfd_openw (output_name, output_target);
-+ else
-+ output_bfd = bfd_openw (output_name, bfd_get_target (this_element));
-+
-+ if (output_bfd == NULL)
- {
-- /* 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));
-+ bfd_nonfatal_message (output_name, NULL, NULL, NULL);
-+ status = 1;
-+ return;
-+ }
-+
-+ if (ok_object)
-+ {
-+ del = !copy_object (this_element, output_bfd, input_arch);
-
-- if (output_bfd == NULL)
-+ if (del && bfd_get_arch (this_element) == bfd_arch_unknown)
-+ /* Try again as an unknown object file. */
-+ ok_object = FALSE;
-+ else if (!bfd_close (output_bfd))
- {
- bfd_nonfatal_message (output_name, NULL, NULL, NULL);
-+ /* Error in new object file. Don't change archive. */
- status = 1;
-- return;
- }
--
-- del = ! copy_object (this_element, output_bfd, input_arch);
--
-- if (! del
-- || bfd_get_arch (this_element) != bfd_arch_unknown)
-- {
-- if (!bfd_close (output_bfd))
-- {
-- bfd_nonfatal_message (output_name, NULL, NULL, NULL);
-- /* Error in new object file. Don't change archive. */
-- status = 1;
-- }
-- }
-- else
-- goto copy_unknown_element;
- }
-- else
-- {
-- bfd_nonfatal_message (NULL, this_element, NULL,
-- _("Unable to recognise the format of file"));
-
-- output_bfd = bfd_openw (output_name, output_target);
--copy_unknown_element:
-+ if (!ok_object)
-+ {
- del = !copy_unknown_object (this_element, output_bfd);
- if (!bfd_close_all_done (output_bfd))
- {
---
-1.6.5.GIT
-