aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCatherine Moore <clm@redhat.com>1999-07-30 15:08:39 +0000
committerCatherine Moore <clm@redhat.com>1999-07-30 15:08:39 +0000
commitc8d259f7df1368948c909c080c0cecd8eb5c0ee1 (patch)
treedef044e77c249c213c13ac3640f8fb66f8e78034
parent2735a3276589d1b211174f644c0d0bf7871e6105 (diff)
downloadgdb-c8d259f7df1368948c909c080c0cecd8eb5c0ee1.zip
gdb-c8d259f7df1368948c909c080c0cecd8eb5c0ee1.tar.gz
gdb-c8d259f7df1368948c909c080c0cecd8eb5c0ee1.tar.bz2
Fix up vtable entry relocs
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-arm.c5
2 files changed, 10 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 7116952..eea3d40 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+1999-07-30 Catherine Moore <clm@cygnus.com>
+
+ * config/tc-arm.c (tc_gen_reloc): Record the vtable entry in
+ the relocation's section offset.
+
1999-07-29 Alan Modra <alan@spri.levels.unisa.edu.au>
* write.c (fixup_segment): Fix generic error check overflow test.
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index 7a90601..22f2697 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -6000,6 +6000,11 @@ tc_gen_reloc (section, fixp)
return NULL;
}
+ /* HACK: Since arm ELF uses Rel instead of Rela, encode the
+ vtable entry to be used in the relocation's section offset. */
+ if (fixp->fx_r_type == BFD_RELOC_VTABLE_ENTRY)
+ reloc->address = fixp->fx_offset;
+
return reloc;
}