summaryrefslogtreecommitdiff
path: root/bfd
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
parent3b2175db9ad908f890b443275ded65876cd325d0 (diff)
downloadbinutils-e8aaee2ad47c086c1c64639df152489eb283b342.tar.gz
binutils-e8aaee2ad47c086c1c64639df152489eb283b342.tar.bz2
binutils-e8aaee2ad47c086c1c64639df152489eb283b342.zip
* elflink.c (elf_gc_sweep): Do not refcount on sections that have
not been processed by check_relocs.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elflink.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 539b3499a0e..769534b6231 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2005-06-29 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.c (elf_gc_sweep): Do not refcount on sections that have
+ not been processed by check_relocs.
+
2005-06-29 Paul Brook <paul@codesourcery.com>
* bfd-in.h (_bfd_elf_provide_symbol): Update prototype.
diff --git a/bfd/elflink.c b/bfd/elflink.c
index 0a70c2345e2..b561b1f8260 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;