diff options
author | Alan Modra <amodra@gmail.com> | 2005-06-29 13:56:06 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2005-06-29 13:56:06 +0000 |
commit | e8aaee2ad47c086c1c64639df152489eb283b342 (patch) | |
tree | e97c338003c8d331a81edf2146567c80fc0553c5 /bfd | |
parent | 3b2175db9ad908f890b443275ded65876cd325d0 (diff) | |
download | binutils-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/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elflink.c | 4 |
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; |