aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog4
-rw-r--r--bfd/sunos.c16
2 files changed, 11 insertions, 9 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index d6df14c..a9521c4 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,5 +1,9 @@
Wed Nov 1 11:45:07 1995 Ian Lance Taylor <ian@cygnus.com>
+ * sunos.c (sunos_scan_ext_relocs): Only check the reloc symbol
+ table index against the number of symbols for a base relative
+ reloc.
+
* coff-rs6000.c (_bfd_xcoff_sizeof_headers): Change from macro to
static function.
* xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Set
diff --git a/bfd/sunos.c b/bfd/sunos.c
index 4b4847b..a180f2f 100644
--- a/bfd/sunos.c
+++ b/bfd/sunos.c
@@ -1710,15 +1710,6 @@ sunos_scan_ext_relocs (info, abfd, sec, relocs, rel_size)
continue;
}
}
- else
- {
- if (r_index >= bfd_get_symcount (abfd))
- {
- /* This is abnormal, but should be caught in the
- relocation phase. */
- continue;
- }
- }
/* If this is a base relative reloc, we need to make an entry in
the .got section. */
@@ -1746,6 +1737,13 @@ sunos_scan_ext_relocs (info, abfd, sec, relocs, rel_size)
}
else
{
+ if (r_index >= bfd_get_symcount (abfd))
+ {
+ /* This is abnormal, but should be caught in the
+ relocation phase. */
+ continue;
+ }
+
if (adata (abfd).local_got_offsets == NULL)
{
adata (abfd).local_got_offsets =