aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog10
-rw-r--r--gas/config/tc-mcore.c4
-rw-r--r--gas/config/tc-mcore.h4
3 files changed, 17 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 6b99838..807af87 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,13 @@
+1999-11-18 Nick Clifton <nickc@cygnus.com>
+
+ * config/tc-mcore.h (TC_FORCE_RELOCATION): Define for Mcore-pe
+ target.
+
+ * config/tc-mcore.c (tc_gen_reloc): Support generation of RVA
+ relocs.
+ (mcore_force_relocation): Force relocations to be generated for
+ RVA relocs.
+
1999-11-16 Alan Modra <alan@spri.levels.unisa.edu.au>
* config/tc-i386.c (i386_immediate): Disallow O_big immediates.
diff --git a/gas/config/tc-mcore.c b/gas/config/tc-mcore.c
index 5f16f8e..32f3a73 100644
--- a/gas/config/tc-mcore.c
+++ b/gas/config/tc-mcore.c
@@ -2193,6 +2193,7 @@ tc_gen_reloc (section, fixp)
case BFD_RELOC_MCORE_PCREL_IMM8BY4:
case BFD_RELOC_MCORE_PCREL_IMM11BY2:
case BFD_RELOC_MCORE_PCREL_JSR_IMM11BY2:
+ case BFD_RELOC_RVA:
code = fixp->fx_r_type;
break;
@@ -2246,7 +2247,8 @@ mcore_force_relocation (fix)
fixS * fix;
{
if ( fix->fx_r_type == BFD_RELOC_VTABLE_INHERIT
- || fix->fx_r_type == BFD_RELOC_VTABLE_ENTRY)
+ || fix->fx_r_type == BFD_RELOC_VTABLE_ENTRY
+ || fixP->fx_r_type == BFD_RELOC_RVA)
return 1;
return 0;
diff --git a/gas/config/tc-mcore.h b/gas/config/tc-mcore.h
index 2bc2efe..eff1322 100644
--- a/gas/config/tc-mcore.h
+++ b/gas/config/tc-mcore.h
@@ -74,6 +74,10 @@ struct mcore_tc_sy
#define TC_SYMFIELD_TYPE struct mcore_tc_sy
+# if defined TE_PE
+# define TC_FORCE_RELOCATION(x) ((x)->fx_r_type == BFD_RELOC_RVA)
+# endif
+
#endif /* OBJ_COFF */