diff options
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 10 | ||||
-rw-r--r-- | gas/config/tc-mcore.c | 4 | ||||
-rw-r--r-- | gas/config/tc-mcore.h | 4 |
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 */ |