diff options
author | Paul Brook <paul@codesourcery.com> | 2011-05-31 13:40:04 +0000 |
---|---|---|
committer | Paul Brook <paul@codesourcery.com> | 2011-05-31 13:40:04 +0000 |
commit | 6e7ce2cdd34f7e3ad720e1d43a19635d79ce17b4 (patch) | |
tree | d8a159765825d07d54e8c5480dff705e6d356b1f /gas/config/tc-arm.h | |
parent | 12352d3f854285aaaecf6bc89df80e6247968a63 (diff) | |
download | gdb-6e7ce2cdd34f7e3ad720e1d43a19635d79ce17b4.zip gdb-6e7ce2cdd34f7e3ad720e1d43a19635d79ce17b4.tar.gz gdb-6e7ce2cdd34f7e3ad720e1d43a19635d79ce17b4.tar.bz2 |
2011-05-31 Paul Brook <paul@codesourcery.com>
Nathan Sidwell <nathan@codesourcery.com>
gas/
* config/tc-arm.c (fix_new_arm): Create an absolute symbol for
pc-relative fixes to constants.
* config/tc-arm.h (TC_FORCE_RELOCATATION_ABS): Define.
ld/testsuite/
* ld-arm/abs-call-1.d: New.
* ld-arm/abs-call-1.s: New.
* ld-arm/arm-elf.exp: Add it.
Diffstat (limited to 'gas/config/tc-arm.h')
-rw-r--r-- | gas/config/tc-arm.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gas/config/tc-arm.h b/gas/config/tc-arm.h index 702e405..2916ae1 100644 --- a/gas/config/tc-arm.h +++ b/gas/config/tc-arm.h @@ -192,6 +192,12 @@ void arm_copy_symbol_attributes (symbolS *, symbolS *); (THUMB_IS_FUNC ((FIX)->fx_addsy) \ || !SEG_NORMAL (SEG)) +#define TC_FORCE_RELOCATION_ABS(FIX) \ + (((FIX)->fx_pcrel \ + && (FIX)->fx_r_type != BFD_RELOC_32 \ + && (FIX)->fx_r_type != BFD_RELOC_ARM_GOT32) \ + || TC_FORCE_RELOCATION(FIX)) + #define TC_CONS_FIX_NEW cons_fix_new_arm #define MAX_MEM_ALIGNMENT_BYTES 6 |