OSDN Git Service

* elflink.h (elf_gc_sweep): Keep non-alloc, non-load sections.
authorAlan Modra <amodra@bigpond.net.au>
Tue, 17 Aug 2004 08:51:07 +0000 (08:51 +0000)
committerAlan Modra <amodra@bigpond.net.au>
Tue, 17 Aug 2004 08:51:07 +0000 (08:51 +0000)
bfd/ChangeLog
bfd/elflink.c

index a36f0f8..fc164dc 100644 (file)
@@ -1,3 +1,7 @@
+2004-08-17  Alan Modra  <amodra@bigpond.net.au>
+
+       * elflink.h (elf_gc_sweep): Keep non-alloc, non-load sections.
+
 2004-08-17  Nick Clifton  <nickc@redhat.com>
 
        * (is_arm_mapping_symbol_name): New function - return true
index 00fa468..1e2f335 100644 (file)
@@ -8504,9 +8504,9 @@ elf_gc_sweep (struct bfd_link_info *info, gc_sweep_hook_fn gc_sweep_hook)
 
       for (o = sub->sections; o != NULL; o = o->next)
        {
-         /* Keep special sections.  Keep .debug sections.  */
-         if ((o->flags & SEC_LINKER_CREATED)
-             || (o->flags & SEC_DEBUGGING))
+         /* Keep debug and special sections.  */
+         if ((o->flags & (SEC_DEBUGGING | SEC_LINKER_CREATED)) != 0
+             || (o->flags & (SEC_ALLOC | SEC_LOAD)) == 0)
            o->gc_mark = 1;
 
          if (o->gc_mark)