diff options
-rw-r--r-- | ld/ChangeLog | 6 | ||||
-rw-r--r-- | ld/emultempl/elf32.em | 15 |
2 files changed, 8 insertions, 13 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 1dc63c1..886207b 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,9 @@ +2011-01-14 Alan Modra <amodra@gmail.com> + + * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't + attempt to put non-alloc orphans before debug sections, just place + them after .comment. + 2011-01-14 J. Park <grassman@gmail.com> PR ld/12339 diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em index 9120f85..ddcd590 100644 --- a/ld/emultempl/elf32.em +++ b/ld/emultempl/elf32.em @@ -13,7 +13,7 @@ fragment <<EOF /* ${ELFSIZE} bit ELF emulation code for ${EMULATION_NAME} Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, - 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 + 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. Written by Steve Chamberlain <sac@cygnus.com> ELF support by Ian Lance Taylor <ian@cygnus.com> @@ -1788,7 +1788,7 @@ gld${EMULATION_NAME}_place_orphan (asection *s, { ".sdata", SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_DATA | SEC_SMALL_DATA, 0, 0, 0, 0 }, - { 0, + { ".comment", SEC_HAS_CONTENTS, 0, 0, 0, 0 }, }; @@ -1880,7 +1880,6 @@ gld${EMULATION_NAME}_place_orphan (asection *s, if (!orphan_init_done) { - lang_output_section_statement_type *lookup; struct orphan_save *ho; for (ho = hold; ho < hold + sizeof (hold) / sizeof (hold[0]); ++ho) @@ -1890,16 +1889,6 @@ gld${EMULATION_NAME}_place_orphan (asection *s, if (ho->os != NULL && ho->os->flags == 0) ho->os->flags = ho->flags; } - lookup = hold[orphan_bss].os; - if (lookup == NULL) - lookup = &lang_output_section_statement.head->output_section_statement; - for (; lookup != NULL; lookup = lookup->next) - if ((lookup->bfd_section != NULL - && (lookup->bfd_section->flags & SEC_DEBUGGING) != 0) - || strcmp (lookup->name, ".comment") == 0) - break; - hold[orphan_nonalloc].os = lookup ? lookup->prev : NULL; - hold[orphan_nonalloc].name = ".comment"; orphan_init_done = 1; } |