https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81863

--- Comment #8 from Yvan Roux <yroux at gcc dot gnu.org> ---
On 7 branch the following should fix the issue, but as I mentioned in comment
#5, maybe TARGET_USE_MOVT is a better place to do the checking but this will
need some 
s/TARGET_HAVE_MOVT/TARGET_USE_MOVT/ 

--- a/gcc/config/arm/arm.h
+++ b/gcc/config/arm/arm.h
@@ -272,7 +272,8 @@ extern tree arm_fp16_type_node;
                                 && arm_arch_notm)

 /* Nonzero if this chip provides the MOVW and MOVT instructions.  */
-#define TARGET_HAVE_MOVT       (arm_arch_thumb2 || arm_arch8)
+#define TARGET_HAVE_MOVT       ((arm_arch_thumb2 || arm_arch8) \
+                                && !target_word_relocations)

 /* Nonzero if this chip provides the CBZ and CBNZ instructions.  */
 #define TARGET_HAVE_CBZ                (arm_arch_thumb2 || arm_arch8)

Reply via email to