diff options
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elflink.h | 13 |
2 files changed, 16 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index f45eafc8f77..412262f91ab 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +1999-09-03 Ian Lance Taylor <ian@zembu.com> + + * elflink.h (elf_bfd_final_link): When counting relocations, don't + count those in sections we are not including in the link. + Thu Sep 2 17:41:20 1999 Jeffrey A Law (law@cygnus.com) * elflink.h (elf_link_add_object_symbols): Work around bogus SH_LINK diff --git a/bfd/elflink.h b/bfd/elflink.h index b7b5b23998f..e60beae8a7c 100644 --- a/bfd/elflink.h +++ b/bfd/elflink.h @@ -4053,9 +4053,18 @@ elf_bfd_final_link (abfd, info) for (sub = info->input_bfds; sub != NULL; sub = sub->link_next) for (o = sub->sections; o != NULL; o = o->next) { - asection* output_section = o->output_section; + asection *output_section; - if (output_section && (o->flags & SEC_RELOC) != 0) + if (! o->linker_mark) + { + /* This section was omitted from the link. */ + continue; + } + + output_section = o->output_section; + + if (output_section != NULL + && (o->flags & SEC_RELOC) != 0) { struct bfd_elf_section_data *esdi = elf_section_data (o); |