From f11900d058f9253366aab8f61741eae338e4dc03 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Thu, 18 Nov 1999 18:38:18 +0000 Subject: Fix generation of RVA relocs --- gas/ChangeLog | 10 ++++++++++ gas/config/tc-mcore.c | 4 +++- gas/config/tc-mcore.h | 4 ++++ 3 files changed, 17 insertions(+), 1 deletion(-) 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 + + * 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 * 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 */ -- cgit v1.1