From: Alan Modra Date: Tue, 17 Aug 2004 08:51:07 +0000 (+0000) Subject: * elflink.h (elf_gc_sweep): Keep non-alloc, non-load sections. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7c2c850509cdc711332dcffedef489386aee0a76;p=binutils-gdb.git * elflink.h (elf_gc_sweep): Keep non-alloc, non-load sections. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index a36f0f8225f..fc164dcc2c2 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,7 @@ +2004-08-17 Alan Modra + + * elflink.h (elf_gc_sweep): Keep non-alloc, non-load sections. + 2004-08-17 Nick Clifton * (is_arm_mapping_symbol_name): New function - return true diff --git a/bfd/elflink.c b/bfd/elflink.c index 00fa46887e8..1e2f335d366 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -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)