aboutsummaryrefslogtreecommitdiff
path: root/gas/config
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2015-06-18 10:18:42 +0100
committerNick Clifton <nickc@redhat.com>2015-06-18 10:18:42 +0100
commit75c11999673ba32027eb17f6df9c37904622ed24 (patch)
tree917740473045b9fe9c96f18b5332ed274a94bea2 /gas/config
parent57b42d6489218e29cb18edd111c97f4390b62ad9 (diff)
downloadbinutils-75c11999673ba32027eb17f6df9c37904622ed24.zip
binutils-75c11999673ba32027eb17f6df9c37904622ed24.tar.gz
binutils-75c11999673ba32027eb17f6df9c37904622ed24.tar.bz2
Fix the computation of the addends for an ARM_TLS_LE32 reloc.
PR gas/18481 bfd * elf32-arm.c (R_ARM_TLS_LE32): Set the special function to NULL. gas * config/tc-arm.c (tc_gen_reloc): Include BFD_RELOC_ARM_TLS_LE32 in the same case as BFD_RELOC_ARM_TLS_IS32. tests * gas/arm/tls.s: Add tests of the tpoff pseudo with a local symbol. * gas/arm/tls.d: Update expected output.
Diffstat (limited to 'gas/config')
-rw-r--r--gas/config/tc-arm.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index 0bcbc09..9ccee40 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -23150,7 +23150,7 @@ md_apply_fix (fixS * fixP,
if (rd == REG_SP)
{
- if (value & ~0x1fc)
+ if (value & ~0x1fc)
as_bad_where (fixP->fx_file, fixP->fx_line,
_("invalid immediate for stack address calculation"));
newval = subtract ? T_OPCODE_SUB_ST : T_OPCODE_ADD_ST;
@@ -23564,7 +23564,6 @@ tc_gen_reloc (asection *section, fixS *fixp)
case BFD_RELOC_ARM_SBREL32:
case BFD_RELOC_ARM_PREL31:
case BFD_RELOC_ARM_TARGET2:
- case BFD_RELOC_ARM_TLS_LE32:
case BFD_RELOC_ARM_TLS_LDO32:
case BFD_RELOC_ARM_PCREL_CALL:
case BFD_RELOC_ARM_PCREL_JUMP:
@@ -23602,6 +23601,7 @@ tc_gen_reloc (asection *section, fixS *fixp)
case BFD_RELOC_ARM_TLS_GOTDESC:
case BFD_RELOC_ARM_TLS_GD32:
+ case BFD_RELOC_ARM_TLS_LE32:
case BFD_RELOC_ARM_TLS_IE32:
case BFD_RELOC_ARM_TLS_LDM32:
/* BFD will include the symbol's address in the addend.