rpms/binutils/F-11 binutils-2.19.51.0.2-orphan-section-placement.patch, NONE, 1.1 binutils.spec, 1.160, 1.161

Nicholas Clifton nickc at fedoraproject.org
Fri Jul 17 10:57:39 UTC 2009


Author: nickc

Update of /cvs/pkgs/rpms/binutils/F-11
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv5167

Modified Files:
	binutils.spec 
Added Files:
	binutils-2.19.51.0.2-orphan-section-placement.patch 
Log Message:
Import orphan section placement patch from mainline.  (BZ 510384).


binutils-2.19.51.0.2-orphan-section-placement.patch:
 ldlang.c |   18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

--- NEW FILE binutils-2.19.51.0.2-orphan-section-placement.patch ---

--- ../binutils-2.19.51.0.2.orig/ld/ldlang.c	2009-07-17 12:43:11.000000000 +0100

+++ ld/ldlang.c	2009-07-17 12:50:39.000000000 +0100

@@ -1533,10 +1533,13 @@ output_prev_sec_find (lang_output_sectio

    idea is to skip over anything that might be inside a SECTIONS {}

    statement in a script, before we find another output section

    statement.  Assignments to "dot" before an output section statement

-   are assumed to belong to it.  An exception to this rule is made for

-   the first assignment to dot, otherwise we might put an orphan

-   before . = . + SIZEOF_HEADERS or similar assignments that set the

-   initial address.  */

+   are assumed to belong to it, except in two cases;  The first

+   assignment to dot, and assignments before non-alloc sections.

+   Otherwise we might put an orphan before . = . + SIZEOF_HEADERS or

+   similar assignments that set the initial address, or we might

+   insert non-alloc note sections among assignments setting end of

+   image symbols.  */

+

 

 static lang_statement_union_type **

 insert_os_after (lang_output_section_statement_type *after)

@@ -1580,7 +1583,12 @@ insert_os_after (lang_output_section_sta

 	  continue;

 	case lang_output_section_statement_enum:

 	  if (assign != NULL)

-	    where = assign;

+	    {

+	      asection *s = (*where)->output_section_statement.bfd_section;

+

+	      if (s == NULL || (s->flags & SEC_ALLOC) != 0)

+		where = assign;

+	    }

 	  break;

 	case lang_input_statement_enum:

 	case lang_address_statement_enum:


Index: binutils.spec
===================================================================
RCS file: /cvs/pkgs/rpms/binutils/F-11/binutils.spec,v
retrieving revision 1.160
retrieving revision 1.161
diff -u -p -r1.160 -r1.161
--- binutils.spec	8 Apr 2009 16:13:33 -0000	1.160
+++ binutils.spec	17 Jul 2009 10:57:38 -0000	1.161
@@ -17,7 +17,7 @@
 Summary: A GNU collection of binary utilities
 Name: %{?cross}binutils%{?_with_debug:-debug}
 Version: 2.19.51.0.2
-Release: 17%{?dist}
+Release: 18%{?dist}
 License: GPLv3+
 Group: Development/Tools
 URL: http://sources.redhat.com/binutils
@@ -32,6 +32,7 @@ Patch06: binutils-2.19.50.0.1-set-long-l
 Patch07: binutils-2.19.50.0.1-build-id.patch
 Patch08: binutils-2.19.51.0.2-ifunc.patch
 Patch09: binutils-2.19.51.0.2-IBM.patch
+Patch10: binutils-2.19.51.0.2-orphan-section-placement.patch
 
 %if 0%{?_with_debug:1}
 # Define this if you want to skip the strip step and preserve debug info.
@@ -104,6 +105,7 @@ to consider using libelf instead of BFD.
 %patch07 -p0 -b .build-id~
 %patch08 -p1 -b .ifunc~
 %patch09 -p0 -b .IBM~
+%patch10 -p0 -b .oprphan-section-placement~
 
 # We cannot run autotools as there is an exact requirement of autoconf-2.59.
 
@@ -347,6 +349,9 @@ fi
 %endif # %{isnative}
 
 %changelog
+* Fri Jul 17 2009 Nick Clifton <nickc at redhat.com> 2.19.51.0.2-18
+- Import orphan section placement patch from mainline.  (BZ 510384).
+
 * Tue Mar 17 2009 Nick Clifton <nickc at redhat.com> 2.19.51.0.2-17
 - Add glibc-static to BuildRequires when running the testsuite.
 




More information about the fedora-extras-commits mailing list