summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1995-11-01 18:09:06 +0000
committerIan Lance Taylor <ian@airs.com>1995-11-01 18:09:06 +0000
commitbaabeb74a72eae51dcb5994497bc233584f42353 (patch)
tree4bf4c3745a8c4a6e7c24a6b6f22363a46ce571c5
parentef51e36abc679f054f4e591061c7499a78170855 (diff)
downloadbinutils-gdb-baabeb74a72eae51dcb5994497bc233584f42353.tar.gz
* sunos.c (sunos_scan_ext_relocs): Only check the reloc symbol
table index against the number of symbols for a base relative reloc.
-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 d6df14c5600..a9521c42077 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 4b4847bd3f2..a180f2f2034 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 =