source: scripts/patch/binutils/2.19.1/15-orphan_section.patch @ 914669c

clfs-1.2clfs-2.1clfs-3.0.0-systemdclfs-3.0.0-sysvinitsystemdsysvinit
Last change on this file since 914669c was 914669c, checked in by Jim Gifford <clfs@…>, 15 years ago

Updated Binutils Patch. Added Patches to fix Issues with Powerpc

  • Property mode set to 100644
File size: 1.5 KB
RevLine 
[914669c]1--- ../binutils-2.19.51.0.11.orig/ld/ldlang.c   2009-07-14 11:42:46.000000000 +0100
2+++ ld/ldlang.c 2009-07-14 11:55:01.000000000 +0100
3@@ -1615,10 +1615,12 @@ output_prev_sec_find (lang_output_sectio
4    idea is to skip over anything that might be inside a SECTIONS {}
5    statement in a script, before we find another output section
6    statement.  Assignments to "dot" before an output section statement
7-   are assumed to belong to it.  An exception to this rule is made for
8-   the first assignment to dot, otherwise we might put an orphan
9-   before . = . + SIZEOF_HEADERS or similar assignments that set the
10-   initial address.  */
11+   are assumed to belong to it, except in two cases;  The first
12+   assignment to dot, and assignments before non-alloc sections.
13+   Otherwise we might put an orphan before . = . + SIZEOF_HEADERS or
14+   similar assignments that set the initial address, or we might
15+   insert non-alloc note sections among assignments setting end of
16+   image symbols.  */
17 
18 static lang_statement_union_type **
19 insert_os_after (lang_output_section_statement_type *after)
20@@ -1662,7 +1664,12 @@ insert_os_after (lang_output_section_sta
21          continue;
22        case lang_output_section_statement_enum:
23          if (assign != NULL)
24-           where = assign;
25+           {
26+             asection *s = (*where)->output_section_statement.bfd_section;
27+
28+             if (s == NULL || (s->flags & SEC_ALLOC) != 0)
29+               where = assign;
30+           }
31          break;
32        case lang_input_statement_enum:
33        case lang_address_statement_enum:
34
Note: See TracBrowser for help on using the repository browser.