aboutsummaryrefslogtreecommitdiff
path: root/bfd/elflink.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2005-06-29 13:56:06 +0000
committerAlan Modra <amodra@gmail.com>2005-06-29 13:56:06 +0000
commite8aaee2ad47c086c1c64639df152489eb283b342 (patch)
treee97c338003c8d331a81edf2146567c80fc0553c5 /bfd/elflink.c
parent3b2175db9ad908f890b443275ded65876cd325d0 (diff)
downloadgdb-e8aaee2ad47c086c1c64639df152489eb283b342.zip
gdb-e8aaee2ad47c086c1c64639df152489eb283b342.tar.gz
gdb-e8aaee2ad47c086c1c64639df152489eb283b342.tar.bz2
* elflink.c (elf_gc_sweep): Do not refcount on sections that have
not been processed by check_relocs.
Diffstat (limited to 'bfd/elflink.c')
-rw-r--r--bfd/elflink.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/bfd/elflink.c b/bfd/elflink.c
index 0a70c23..b561b1f 100644
--- a/bfd/elflink.c
+++ b/bfd/elflink.c
@@ -8902,7 +8902,9 @@ elf_gc_sweep (struct bfd_link_info *info, gc_sweep_hook_fn gc_sweep_hook)
/* But we also have to update some of the relocation
info we collected before. */
if (gc_sweep_hook
- && (o->flags & SEC_RELOC) && o->reloc_count > 0)
+ && (o->flags & SEC_RELOC) != 0
+ && o->reloc_count > 0
+ && !bfd_is_abs_section (o->output_section))
{
Elf_Internal_Rela *internal_relocs;
bfd_boolean r;