* ldemul.c (before_allocation_default): When emitrelocations,
authorAlan Modra <amodra@gmail.com>
Fri, 23 Mar 2012 09:35:34 +0000 (09:35 +0000)
committerAlan Modra <amodra@gmail.com>
Fri, 23 Mar 2012 09:35:34 +0000 (09:35 +0000)
don't strip sections..
* ldlang.c (lang_add_section): ..and don't set up map_head, map_tail.

ld/ChangeLog
ld/ldemul.c
ld/ldlang.c

index 1d810a7..4b9d324 100644 (file)
@@ -1,3 +1,9 @@
+2012-03-23  Alan Modra  <amodra@gmail.com>
+
+       * ldemul.c (before_allocation_default): When emitrelocations,
+       don't strip sections..
+       * ldlang.c (lang_add_section): ..and don't set up map_head, map_tail.
+
 2012-03-14  Kai Tietz  <ktietz@redhat.com>
            Pascal Obry  <pascal@obry.net>
 
index 85baeab..5e2fd82 100644 (file)
@@ -237,7 +237,7 @@ after_allocation_default (void)
 void
 before_allocation_default (void)
 {
-  if (!link_info.relocatable)
+  if (!link_info.relocatable && !link_info.emitrelocations)
     strip_excluded_output_sections ();
 }
 
index a95d2a5..73e0179 100644 (file)
@@ -2380,6 +2380,7 @@ lang_add_section (lang_statement_list_type *ptr,
   section->output_section = output->bfd_section;
 
   if (!link_info.relocatable
+      && !link_info.emitrelocations
       && !stripped_excluded_sections)
     {
       asection *s = output->bfd_section->map_tail.s;