Add movw and movt relocations to the list of relocations against function
names that must nnot be adjusted. This fixes a bug where code such as: movw r2, :lower16:symbol movt r2, :upper16:symbol It is common for clang to generate such code when targeting armv7.
This commit is contained in:
parent
e3cadfdb32
commit
657be2acf7
@ -19395,6 +19395,12 @@ arm_fix_adjustable (fixS * fixP)
|
||||
|| fixP->fx_r_type == BFD_RELOC_ARM_LDR_PC_G0)
|
||||
return 0;
|
||||
|
||||
if (fixP->fx_r_type == BFD_RELOC_ARM_MOVW
|
||||
|| fixP->fx_r_type == BFD_RELOC_ARM_MOVT
|
||||
|| fixP->fx_r_type == BFD_RELOC_ARM_THUMB_MOVW
|
||||
|| fixP->fx_r_type == BFD_RELOC_ARM_THUMB_MOVT)
|
||||
return 0;
|
||||
|
||||
return 1;
|
||||
}
|
||||
#endif /* defined (OBJ_ELF) || defined (OBJ_COFF) */
|
||||
|
Loading…
x
Reference in New Issue
Block a user