RELOC_NUMBER (R_ARM_THM_CALL, 10)
RELOC_NUMBER (R_ARM_THM_PC8, 11)
RELOC_NUMBER (R_ARM_BREL_ADJ, 12)
- RELOC_NUMBER (R_ARM_SWI24, 13) /* obsolete */
+ RELOC_NUMBER (R_ARM_TLS_DESC, 13)
RELOC_NUMBER (R_ARM_THM_SWI8, 14) /* obsolete */
RELOC_NUMBER (R_ARM_XPC25, 15) /* obsolete */
RELOC_NUMBER (R_ARM_THM_XPC22, 16) /* obsolete */
RELOC_NUMBER (R_ARM_THM_MOVW_BREL_NC, 87)
RELOC_NUMBER (R_ARM_THM_MOVT_BREL, 88)
RELOC_NUMBER (R_ARM_THM_MOVW_BREL, 89)
- /* 90-93 unallocated */
+ RELOC_NUMBER (R_ARM_TLS_GOTDESC, 90)
+ RELOC_NUMBER (R_ARM_TLS_CALL, 91)
+ RELOC_NUMBER (R_ARM_TLS_DESCSEQ, 92)
+ RELOC_NUMBER (R_ARM_THM_TLS_CALL, 93)
RELOC_NUMBER (R_ARM_PLT32_ABS, 94)
RELOC_NUMBER (R_ARM_GOT_ABS, 95)
RELOC_NUMBER (R_ARM_GOT_PREL, 96)
RELOC_NUMBER (R_ARM_TLS_IE12GP, 111)
/* 112 - 127 private range */
RELOC_NUMBER (R_ARM_ME_TOO, 128) /* obsolete */
+ RELOC_NUMBER (R_ARM_THM_TLS_DESCSEQ ,129)
+
+ RELOC_NUMBER (R_ARM_IRELATIVE, 160)
/* Extensions? R=read-only? */
RELOC_NUMBER (R_ARM_RXPC25, 249)
Tag_CPU_arch_profile,
Tag_ARM_ISA_use,
Tag_THUMB_ISA_use,
- Tag_VFP_arch,
+ Tag_FP_arch,
Tag_WMMX_arch,
Tag_Advanced_SIMD_arch,
Tag_PCS_config,
Tag_ABI_FP_exceptions,
Tag_ABI_FP_user_exceptions,
Tag_ABI_FP_number_model,
- Tag_ABI_align8_needed,
- Tag_ABI_align8_preserved,
+ Tag_ABI_align_needed,
+ Tag_ABI_align_preserved,
Tag_ABI_enum_size,
Tag_ABI_HardFP_use,
Tag_ABI_VFP_args,
Tag_undefined33 = 33,
Tag_CPU_unaligned_access,
Tag_undefined35,
- Tag_VFP_HP_extension,
+ Tag_FP_HP_extension,
Tag_undefined37,
Tag_ABI_FP_16bit_format,
Tag_undefined39,
Tag_conformance,
Tag_Virtualization_use,
Tag_undefined69,
- Tag_MPextension_use_legacy
+ Tag_MPextension_use_legacy,
+
+ /* The following tags are legacy names for other tags. */
+ Tag_VFP_arch = Tag_FP_arch,
+ Tag_ABI_align8_needed = Tag_ABI_align_needed,
+ Tag_ABI_align8_preserved = Tag_ABI_align_preserved,
+ Tag_VFP_HP_extension = Tag_FP_HP_extension
};
#endif
#define ELF_STRING_ARM_unwind_once ".gnu.linkonce.armexidx."
#define ELF_STRING_ARM_unwind_info_once ".gnu.linkonce.armextab."
+enum arm_st_branch_type {
+ ST_BRANCH_TO_ARM,
+ ST_BRANCH_TO_THUMB,
+ ST_BRANCH_LONG,
+ ST_BRANCH_UNKNOWN
+};
+
+#define ARM_SYM_BRANCH_TYPE(SYM) \
+ ((enum arm_st_branch_type) (SYM)->st_target_internal)
+
#endif /* _ELF_ARM_H */