This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] Fix a missing case of PR 21458 similar to fc6141f097056f830a412afebed8d81a9d72b696.
- From: Robert Schiele <rschiele at gmail dot com>
- To: <gcc-patches at gcc dot gnu dot org>
- Cc: Nick Clifton <nickc at sourceware dot org>
- Date: Tue, 24 Jul 2018 10:48:25 +0200
- Subject: [PATCH] Fix a missing case of PR 21458 similar to fc6141f097056f830a412afebed8d81a9d72b696.
The original fix for PR 21458 was causing some issues, which were
addressed to be fixed with a follow-up fix
fc6141f097056f830a412afebed8d81a9d72b696. Unfortunately that follow-up
fix missed one case, which is handled by this fix.
Change-Id: Ie32e3f2514b3e4b6b35c0a693de6b65ef010bb9d
---
gas/config/tc-arm.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index feb725d..c92b6ef 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -10836,11 +10836,12 @@ do_t_adr (void)
inst.instruction |= Rd << 4;
}
- if (inst.reloc.exp.X_op == O_symbol
+ if (support_interwork
+ && inst.reloc.exp.X_op == O_symbol
&& inst.reloc.exp.X_add_symbol != NULL
&& S_IS_DEFINED (inst.reloc.exp.X_add_symbol)
&& THUMB_IS_FUNC (inst.reloc.exp.X_add_symbol))
- inst.reloc.exp.X_add_number += 1;
+ inst.reloc.exp.X_add_number |= 1;
}
/* Arithmetic instructions for which there is just one 16-bit
--
2.4.6