Allow ADRL relocs to be adjusted in arm-coff

This commit is contained in:
Nick Clifton 2001-01-11 01:40:18 +00:00
parent aa257fcdbd
commit 7a91e76ad1
3 changed files with 22 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2001-01-10 Nick Clifton <nickc@redhat.com>
* config/tc-arm.c (arm_fix_adjustable): Define for OBJ_COFF.
* config/tc-arm.h (obj_fix_adjustable): Define for OBJ_COFF
2001-01-10 Nick Clifton <nickc@redhat.com>
* symbols.c (DOLLAR_LABEL_CHAR): New constant - the magic

View File

@ -8537,6 +8537,22 @@ arm_validate_fix (fixP)
return false;
}
#ifdef OBJ_COFF
/* This is a little hack to help the gas/arm/adrl.s test. It prevents
local labels from being added to the output symbol table when they
are used with the ADRL pseudo op. The ADRL relocation should always
be resolved before the binbary is emitted, so it is safe to say that
it is adjustable. */
boolean
arm_fix_adjustable (fixP)
fixS * fixP;
{
if (fixP->fx_r_type == BFD_RELOC_ARM_ADRL_IMMEDIATE)
return 1;
return 0;
}
#endif
#ifdef OBJ_ELF
/* Relocations against Thumb function names must be left unadjusted,
so that the linker can use this information to correctly set the

View File

@ -116,7 +116,7 @@
#define TC_FIX_TYPE PTR
#define TC_INIT_FIX_DATA(FIXP) ((FIXP)->tc_fix_data = NULL)
#ifdef OBJ_ELF
#if defined OBJ_ELF || defined OBJ_COFF
#include "write.h" /* For definition of fixS */
#define obj_fix_adjustable(fixP) arm_fix_adjustable (fixP)
boolean arm_fix_adjustable PARAMS ((fixS *));