aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elflink.h13
2 files changed, 16 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index f45eafc..412262f 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 b7b5b23..e60beae 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);