Rename R_AARCH64_TLSDESC_LD64_LO12_NC to R_AARCH64_TLSDESC_LD64_LO12 and R_AARCH64_TLSDESC_ADD_LO12_NC to R_AARCH64_TLSDESC_ADD_LO12.
PR binutils/21202 include * elf/aarch64.h (R_AARCH64_TLSDESC_LD64_LO12_NC): Rename to R_AARCH64_TLSDESC_LD64_LO12. (R_AARCH64_TLSDESC_ADD_LO12_NC): Rename to R_AARCH64_TLSDESC_ADD_LO12_NC. bfd * reloc.c (BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC): Rename to BFD_RELOC_AARCH64_TLSDESC_LD64_LO12. (BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC): Rename to BFD_RELOC_AARCH64_TLSDESC_ADD_LO12. * bfd-in2.h: Regenerate. * libbfd.h: Regenerate. * elfnn-aarch64.c (IS_AARCH64_TLS_RELAX_RELOC): Update reloc names. (IS_AARCH64_TLSDESC_RELOC): Likewise. (elfNN_aarch64_howto_table): Likewise. (aarch64_tls_transition_without_check): Likewise. (aarch64_reloc_got_type): Likewise. (elfNN_aarch64_final_link_relocate): Likewise. (elfNN_aarch64_tls_relax): Likewise. (elfNN_aarch64_relocate_section): Likewise. (elfNN_aarch64_gc_sweep_hook): Likewise. (elfNN_aarch64_check_relocs): Likewise. * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise. (_bfd_aarch64_elf_resolve_relocation): Likewise. gas * config/tc-aarch64.c (reloc_table): Rename BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC to BFD_RELOC_AARCH64_TLSDESC_LD64_LO12. Rname BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC to BFD_RELOC_AARCH64_TLSDESC_ADD_LO12. (md_apply_fix): Likewise. (aarch64_force_relocation): Likewise. * testsuite/gas/aarch64/tls.d: Update regexp. ld * testsuite/ld-aarch64/ifunc-5r-local.d: Update regexp.
This commit is contained in:
parent
d40e34db39
commit
f955cccff3
|
@ -1,3 +1,26 @@
|
||||||
|
2017-03-13 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
|
PR binutils/21202
|
||||||
|
* reloc.c (BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC): Rename to
|
||||||
|
BFD_RELOC_AARCH64_TLSDESC_LD64_LO12.
|
||||||
|
(BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC): Rename to
|
||||||
|
BFD_RELOC_AARCH64_TLSDESC_ADD_LO12.
|
||||||
|
* bfd-in2.h: Regenerate.
|
||||||
|
* libbfd.h: Regenerate.
|
||||||
|
* elfnn-aarch64.c (IS_AARCH64_TLS_RELAX_RELOC): Update reloc
|
||||||
|
names.
|
||||||
|
(IS_AARCH64_TLSDESC_RELOC): Likewise.
|
||||||
|
(elfNN_aarch64_howto_table): Likewise.
|
||||||
|
(aarch64_tls_transition_without_check): Likewise.
|
||||||
|
(aarch64_reloc_got_type): Likewise.
|
||||||
|
(elfNN_aarch64_final_link_relocate): Likewise.
|
||||||
|
(elfNN_aarch64_tls_relax): Likewise.
|
||||||
|
(elfNN_aarch64_relocate_section): Likewise.
|
||||||
|
(elfNN_aarch64_gc_sweep_hook): Likewise.
|
||||||
|
(elfNN_aarch64_check_relocs): Likewise.
|
||||||
|
* elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
|
||||||
|
(_bfd_aarch64_elf_resolve_relocation): Likewise.
|
||||||
|
|
||||||
2017-03-11 Alan Modra <amodra@gmail.com>
|
2017-03-11 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
* elf32-ppc.c: Remove ATTRIBUTE_UNUSED throughout when function
|
* elf32-ppc.c: Remove ATTRIBUTE_UNUSED throughout when function
|
||||||
|
|
|
@ -6156,13 +6156,13 @@ instructions. */
|
||||||
BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21,
|
BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21,
|
||||||
|
|
||||||
/* AArch64 TLS DESC relocation. */
|
/* AArch64 TLS DESC relocation. */
|
||||||
BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC,
|
BFD_RELOC_AARCH64_TLSDESC_LD64_LO12,
|
||||||
|
|
||||||
/* AArch64 TLS DESC relocation. */
|
/* AArch64 TLS DESC relocation. */
|
||||||
BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC,
|
BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC,
|
||||||
|
|
||||||
/* AArch64 TLS DESC relocation. */
|
/* AArch64 TLS DESC relocation. */
|
||||||
BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC,
|
BFD_RELOC_AARCH64_TLSDESC_ADD_LO12,
|
||||||
|
|
||||||
/* AArch64 TLS DESC relocation. */
|
/* AArch64 TLS DESC relocation. */
|
||||||
BFD_RELOC_AARCH64_TLSDESC_OFF_G1,
|
BFD_RELOC_AARCH64_TLSDESC_OFF_G1,
|
||||||
|
|
|
@ -154,6 +154,7 @@
|
||||||
#define HOWTO64(...) HOWTO (__VA_ARGS__)
|
#define HOWTO64(...) HOWTO (__VA_ARGS__)
|
||||||
#define HOWTO32(...) EMPTY_HOWTO (0)
|
#define HOWTO32(...) EMPTY_HOWTO (0)
|
||||||
#define LOG_FILE_ALIGN 3
|
#define LOG_FILE_ALIGN 3
|
||||||
|
#define BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC BFD_RELOC_AARCH64_TLSDESC_LD64_LO12
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if ARCH_SIZE == 32
|
#if ARCH_SIZE == 32
|
||||||
|
@ -162,6 +163,8 @@
|
||||||
#define HOWTO64(...) EMPTY_HOWTO (0)
|
#define HOWTO64(...) EMPTY_HOWTO (0)
|
||||||
#define HOWTO32(...) HOWTO (__VA_ARGS__)
|
#define HOWTO32(...) HOWTO (__VA_ARGS__)
|
||||||
#define LOG_FILE_ALIGN 2
|
#define LOG_FILE_ALIGN 2
|
||||||
|
#define BFD_RELOC_AARCH64_TLSDESC_LD32_LO12 BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC
|
||||||
|
#define R_AARCH64_P32_TLSDESC_ADD_LO12 R_AARCH64_P32_TLSDESC_ADD_LO12_NC
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define IS_AARCH64_TLS_RELOC(R_TYPE) \
|
#define IS_AARCH64_TLS_RELOC(R_TYPE) \
|
||||||
|
@ -210,7 +213,7 @@
|
||||||
|
|
||||||
#define IS_AARCH64_TLS_RELAX_RELOC(R_TYPE) \
|
#define IS_AARCH64_TLS_RELAX_RELOC(R_TYPE) \
|
||||||
((R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_ADD \
|
((R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_ADD \
|
||||||
|| (R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC \
|
|| (R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_ADD_LO12 \
|
||||||
|| (R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21 \
|
|| (R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21 \
|
||||||
|| (R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21 \
|
|| (R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21 \
|
||||||
|| (R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_CALL \
|
|| (R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_CALL \
|
||||||
|
@ -235,12 +238,12 @@
|
||||||
#define IS_AARCH64_TLSDESC_RELOC(R_TYPE) \
|
#define IS_AARCH64_TLSDESC_RELOC(R_TYPE) \
|
||||||
((R_TYPE) == BFD_RELOC_AARCH64_TLSDESC \
|
((R_TYPE) == BFD_RELOC_AARCH64_TLSDESC \
|
||||||
|| (R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_ADD \
|
|| (R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_ADD \
|
||||||
|| (R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC \
|
|| (R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_ADD_LO12 \
|
||||||
|| (R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21 \
|
|| (R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21 \
|
||||||
|| (R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21 \
|
|| (R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21 \
|
||||||
|| (R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_CALL \
|
|| (R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_CALL \
|
||||||
|| (R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC \
|
|| (R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC \
|
||||||
|| (R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC \
|
|| (R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_LD64_LO12 \
|
||||||
|| (R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_LDR \
|
|| (R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_LDR \
|
||||||
|| (R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_LD_PREL19 \
|
|| (R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_LD_PREL19 \
|
||||||
|| (R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_OFF_G0_NC \
|
|| (R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_OFF_G0_NC \
|
||||||
|
@ -1569,7 +1572,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] =
|
||||||
TRUE), /* pcrel_offset */
|
TRUE), /* pcrel_offset */
|
||||||
|
|
||||||
/* LD64: GOT offset G(S) & 0xff8. */
|
/* LD64: GOT offset G(S) & 0xff8. */
|
||||||
HOWTO64 (AARCH64_R (TLSDESC_LD64_LO12_NC), /* type */
|
HOWTO64 (AARCH64_R (TLSDESC_LD64_LO12), /* type */
|
||||||
3, /* rightshift */
|
3, /* rightshift */
|
||||||
2, /* size (0 = byte, 1 = short, 2 = long) */
|
2, /* size (0 = byte, 1 = short, 2 = long) */
|
||||||
12, /* bitsize */
|
12, /* bitsize */
|
||||||
|
@ -1577,7 +1580,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] =
|
||||||
0, /* bitpos */
|
0, /* bitpos */
|
||||||
complain_overflow_dont, /* complain_on_overflow */
|
complain_overflow_dont, /* complain_on_overflow */
|
||||||
bfd_elf_generic_reloc, /* special_function */
|
bfd_elf_generic_reloc, /* special_function */
|
||||||
AARCH64_R_STR (TLSDESC_LD64_LO12_NC), /* name */
|
AARCH64_R_STR (TLSDESC_LD64_LO12), /* name */
|
||||||
FALSE, /* partial_inplace */
|
FALSE, /* partial_inplace */
|
||||||
0xff8, /* src_mask */
|
0xff8, /* src_mask */
|
||||||
0xff8, /* dst_mask */
|
0xff8, /* dst_mask */
|
||||||
|
@ -1599,7 +1602,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] =
|
||||||
FALSE), /* pcrel_offset */
|
FALSE), /* pcrel_offset */
|
||||||
|
|
||||||
/* ADD: GOT offset G(S) & 0xfff. */
|
/* ADD: GOT offset G(S) & 0xfff. */
|
||||||
HOWTO (AARCH64_R (TLSDESC_ADD_LO12_NC), /* type */
|
HOWTO (AARCH64_R (TLSDESC_ADD_LO12), /* type */
|
||||||
0, /* rightshift */
|
0, /* rightshift */
|
||||||
2, /* size (0 = byte, 1 = short, 2 = long) */
|
2, /* size (0 = byte, 1 = short, 2 = long) */
|
||||||
12, /* bitsize */
|
12, /* bitsize */
|
||||||
|
@ -1607,7 +1610,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] =
|
||||||
0, /* bitpos */
|
0, /* bitpos */
|
||||||
complain_overflow_dont,/* complain_on_overflow */
|
complain_overflow_dont,/* complain_on_overflow */
|
||||||
bfd_elf_generic_reloc, /* special_function */
|
bfd_elf_generic_reloc, /* special_function */
|
||||||
AARCH64_R_STR (TLSDESC_ADD_LO12_NC), /* name */
|
AARCH64_R_STR (TLSDESC_ADD_LO12), /* name */
|
||||||
FALSE, /* partial_inplace */
|
FALSE, /* partial_inplace */
|
||||||
0xfff, /* src_mask */
|
0xfff, /* src_mask */
|
||||||
0xfff, /* dst_mask */
|
0xfff, /* dst_mask */
|
||||||
|
@ -4474,7 +4477,7 @@ aarch64_tls_transition_without_check (bfd_reloc_code_real_type r_type,
|
||||||
: BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19);
|
: BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19);
|
||||||
|
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_ADD:
|
case BFD_RELOC_AARCH64_TLSDESC_ADD:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC:
|
case BFD_RELOC_AARCH64_TLSDESC_ADD_LO12:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_CALL:
|
case BFD_RELOC_AARCH64_TLSDESC_CALL:
|
||||||
/* Instructions with these relocations will become NOPs. */
|
/* Instructions with these relocations will become NOPs. */
|
||||||
return BFD_RELOC_AARCH64_NONE;
|
return BFD_RELOC_AARCH64_NONE;
|
||||||
|
@ -4530,12 +4533,12 @@ aarch64_reloc_got_type (bfd_reloc_code_real_type r_type)
|
||||||
return GOT_TLS_GD;
|
return GOT_TLS_GD;
|
||||||
|
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_ADD:
|
case BFD_RELOC_AARCH64_TLSDESC_ADD:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC:
|
case BFD_RELOC_AARCH64_TLSDESC_ADD_LO12:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21:
|
case BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21:
|
case BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_CALL:
|
case BFD_RELOC_AARCH64_TLSDESC_CALL:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC:
|
case BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC:
|
case BFD_RELOC_AARCH64_TLSDESC_LD64_LO12:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_LD_PREL19:
|
case BFD_RELOC_AARCH64_TLSDESC_LD_PREL19:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_LDR:
|
case BFD_RELOC_AARCH64_TLSDESC_LDR:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_OFF_G0_NC:
|
case BFD_RELOC_AARCH64_TLSDESC_OFF_G0_NC:
|
||||||
|
@ -5577,11 +5580,11 @@ elfNN_aarch64_final_link_relocate (reloc_howto_type *howto,
|
||||||
*unresolved_reloc_p = FALSE;
|
*unresolved_reloc_p = FALSE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC:
|
case BFD_RELOC_AARCH64_TLSDESC_ADD_LO12:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21:
|
case BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21:
|
case BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC:
|
case BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC:
|
case BFD_RELOC_AARCH64_TLSDESC_LD64_LO12:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_LD_PREL19:
|
case BFD_RELOC_AARCH64_TLSDESC_LD_PREL19:
|
||||||
if (globals->root.sgot == NULL)
|
if (globals->root.sgot == NULL)
|
||||||
return bfd_reloc_notsupported;
|
return bfd_reloc_notsupported;
|
||||||
|
@ -5908,7 +5911,7 @@ elfNN_aarch64_tls_relax (struct elf_aarch64_link_hash_table *globals,
|
||||||
}
|
}
|
||||||
|
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_ADD:
|
case BFD_RELOC_AARCH64_TLSDESC_ADD:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC:
|
case BFD_RELOC_AARCH64_TLSDESC_ADD_LO12:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_CALL:
|
case BFD_RELOC_AARCH64_TLSDESC_CALL:
|
||||||
/* GD->IE/LE relaxation:
|
/* GD->IE/LE relaxation:
|
||||||
add x0, x0, #:tlsdesc_lo12:var => nop
|
add x0, x0, #:tlsdesc_lo12:var => nop
|
||||||
|
@ -6385,7 +6388,7 @@ elfNN_aarch64_relocate_section (bfd *output_bfd,
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC:
|
case BFD_RELOC_AARCH64_TLSDESC_ADD_LO12:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21:
|
case BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21:
|
case BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_LDNN_LO12_NC:
|
case BFD_RELOC_AARCH64_TLSDESC_LDNN_LO12_NC:
|
||||||
|
@ -6792,11 +6795,11 @@ elfNN_aarch64_gc_sweep_hook (bfd *abfd,
|
||||||
case BFD_RELOC_AARCH64_LD64_GOT_LO12_NC:
|
case BFD_RELOC_AARCH64_LD64_GOT_LO12_NC:
|
||||||
case BFD_RELOC_AARCH64_MOVW_GOTOFF_G0_NC:
|
case BFD_RELOC_AARCH64_MOVW_GOTOFF_G0_NC:
|
||||||
case BFD_RELOC_AARCH64_MOVW_GOTOFF_G1:
|
case BFD_RELOC_AARCH64_MOVW_GOTOFF_G1:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC:
|
case BFD_RELOC_AARCH64_TLSDESC_ADD_LO12:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21:
|
case BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21:
|
case BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC:
|
case BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC:
|
case BFD_RELOC_AARCH64_TLSDESC_LD64_LO12:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_LD_PREL19:
|
case BFD_RELOC_AARCH64_TLSDESC_LD_PREL19:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_OFF_G0_NC:
|
case BFD_RELOC_AARCH64_TLSDESC_OFF_G0_NC:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_OFF_G1:
|
case BFD_RELOC_AARCH64_TLSDESC_OFF_G1:
|
||||||
|
@ -7294,11 +7297,11 @@ elfNN_aarch64_check_relocs (bfd *abfd, struct bfd_link_info *info,
|
||||||
case BFD_RELOC_AARCH64_LD64_GOT_LO12_NC:
|
case BFD_RELOC_AARCH64_LD64_GOT_LO12_NC:
|
||||||
case BFD_RELOC_AARCH64_MOVW_GOTOFF_G0_NC:
|
case BFD_RELOC_AARCH64_MOVW_GOTOFF_G0_NC:
|
||||||
case BFD_RELOC_AARCH64_MOVW_GOTOFF_G1:
|
case BFD_RELOC_AARCH64_MOVW_GOTOFF_G1:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC:
|
case BFD_RELOC_AARCH64_TLSDESC_ADD_LO12:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21:
|
case BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21:
|
case BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC:
|
case BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC:
|
case BFD_RELOC_AARCH64_TLSDESC_LD64_LO12:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_LD_PREL19:
|
case BFD_RELOC_AARCH64_TLSDESC_LD_PREL19:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_OFF_G0_NC:
|
case BFD_RELOC_AARCH64_TLSDESC_OFF_G0_NC:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_OFF_G1:
|
case BFD_RELOC_AARCH64_TLSDESC_OFF_G1:
|
||||||
|
@ -8881,7 +8884,7 @@ elfNN_aarch64_finish_dynamic_symbol (bfd *output_bfd,
|
||||||
|| plt == NULL
|
|| plt == NULL
|
||||||
|| gotplt == NULL
|
|| gotplt == NULL
|
||||||
|| relplt == NULL)
|
|| relplt == NULL)
|
||||||
abort ();
|
return FALSE;
|
||||||
|
|
||||||
elfNN_aarch64_create_small_pltn_entry (h, htab, output_bfd, info);
|
elfNN_aarch64_create_small_pltn_entry (h, htab, output_bfd, info);
|
||||||
if (!h->def_regular)
|
if (!h->def_regular)
|
||||||
|
|
|
@ -247,7 +247,7 @@ _bfd_aarch64_elf_put_addend (bfd *abfd,
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case BFD_RELOC_AARCH64_ADD_LO12:
|
case BFD_RELOC_AARCH64_ADD_LO12:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC:
|
case BFD_RELOC_AARCH64_TLSDESC_ADD_LO12:
|
||||||
case BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC:
|
case BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC:
|
||||||
case BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_HI12:
|
case BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_HI12:
|
||||||
case BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12:
|
case BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12:
|
||||||
|
@ -274,7 +274,7 @@ _bfd_aarch64_elf_put_addend (bfd *abfd,
|
||||||
case BFD_RELOC_AARCH64_LDST64_LO12:
|
case BFD_RELOC_AARCH64_LDST64_LO12:
|
||||||
case BFD_RELOC_AARCH64_LDST8_LO12:
|
case BFD_RELOC_AARCH64_LDST8_LO12:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC:
|
case BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC:
|
case BFD_RELOC_AARCH64_TLSDESC_LD64_LO12:
|
||||||
case BFD_RELOC_AARCH64_TLSIE_LD32_GOTTPREL_LO12_NC:
|
case BFD_RELOC_AARCH64_TLSIE_LD32_GOTTPREL_LO12_NC:
|
||||||
case BFD_RELOC_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC:
|
case BFD_RELOC_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC:
|
||||||
case BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12:
|
case BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12:
|
||||||
|
@ -483,9 +483,9 @@ _bfd_aarch64_elf_resolve_relocation (bfd_reloc_code_real_type r_type,
|
||||||
case BFD_RELOC_AARCH64_LDST64_LO12:
|
case BFD_RELOC_AARCH64_LDST64_LO12:
|
||||||
case BFD_RELOC_AARCH64_LDST8_LO12:
|
case BFD_RELOC_AARCH64_LDST8_LO12:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_ADD:
|
case BFD_RELOC_AARCH64_TLSDESC_ADD:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC:
|
case BFD_RELOC_AARCH64_TLSDESC_ADD_LO12:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC:
|
case BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC:
|
case BFD_RELOC_AARCH64_TLSDESC_LD64_LO12:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_LDR:
|
case BFD_RELOC_AARCH64_TLSDESC_LDR:
|
||||||
case BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC:
|
case BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC:
|
||||||
case BFD_RELOC_AARCH64_TLSIE_LD32_GOTTPREL_LO12_NC:
|
case BFD_RELOC_AARCH64_TLSIE_LD32_GOTTPREL_LO12_NC:
|
||||||
|
|
|
@ -2939,9 +2939,9 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
|
||||||
"BFD_RELOC_AARCH64_TLSDESC_LD_PREL19",
|
"BFD_RELOC_AARCH64_TLSDESC_LD_PREL19",
|
||||||
"BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21",
|
"BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21",
|
||||||
"BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21",
|
"BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21",
|
||||||
"BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC",
|
"BFD_RELOC_AARCH64_TLSDESC_LD64_LO12",
|
||||||
"BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC",
|
"BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC",
|
||||||
"BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC",
|
"BFD_RELOC_AARCH64_TLSDESC_ADD_LO12",
|
||||||
"BFD_RELOC_AARCH64_TLSDESC_OFF_G1",
|
"BFD_RELOC_AARCH64_TLSDESC_OFF_G1",
|
||||||
"BFD_RELOC_AARCH64_TLSDESC_OFF_G0_NC",
|
"BFD_RELOC_AARCH64_TLSDESC_OFF_G0_NC",
|
||||||
"BFD_RELOC_AARCH64_TLSDESC_LDR",
|
"BFD_RELOC_AARCH64_TLSDESC_LDR",
|
||||||
|
|
|
@ -7316,7 +7316,7 @@ ENUM
|
||||||
ENUMDOC
|
ENUMDOC
|
||||||
AArch64 TLS DESC relocation.
|
AArch64 TLS DESC relocation.
|
||||||
ENUM
|
ENUM
|
||||||
BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC
|
BFD_RELOC_AARCH64_TLSDESC_LD64_LO12
|
||||||
ENUMDOC
|
ENUMDOC
|
||||||
AArch64 TLS DESC relocation.
|
AArch64 TLS DESC relocation.
|
||||||
ENUM
|
ENUM
|
||||||
|
@ -7324,7 +7324,7 @@ ENUM
|
||||||
ENUMDOC
|
ENUMDOC
|
||||||
AArch64 TLS DESC relocation.
|
AArch64 TLS DESC relocation.
|
||||||
ENUM
|
ENUM
|
||||||
BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC
|
BFD_RELOC_AARCH64_TLSDESC_ADD_LO12
|
||||||
ENUMDOC
|
ENUMDOC
|
||||||
AArch64 TLS DESC relocation.
|
AArch64 TLS DESC relocation.
|
||||||
ENUM
|
ENUM
|
||||||
|
|
|
@ -1,3 +1,15 @@
|
||||||
|
2017-03-13 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
|
PR binutils/21202
|
||||||
|
* config/tc-aarch64.c (reloc_table): Rename
|
||||||
|
BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC to
|
||||||
|
BFD_RELOC_AARCH64_TLSDESC_LD64_LO12. Rname
|
||||||
|
BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC to
|
||||||
|
BFD_RELOC_AARCH64_TLSDESC_ADD_LO12.
|
||||||
|
(md_apply_fix): Likewise.
|
||||||
|
(aarch64_force_relocation): Likewise.
|
||||||
|
* testsuite/gas/aarch64/tls.d: Update regexp.
|
||||||
|
|
||||||
2017-03-10 Tobin C. Harding <me@tobin.cc>
|
2017-03-10 Tobin C. Harding <me@tobin.cc>
|
||||||
Nick Clifton <nickc@redhat.com>
|
Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
|
|
|
@ -2679,7 +2679,7 @@ static struct reloc_table_entry reloc_table[] = {
|
||||||
0, /* adr_type */
|
0, /* adr_type */
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC,
|
BFD_RELOC_AARCH64_TLSDESC_ADD_LO12,
|
||||||
BFD_RELOC_AARCH64_TLSDESC_LD_LO12_NC,
|
BFD_RELOC_AARCH64_TLSDESC_LD_LO12_NC,
|
||||||
0},
|
0},
|
||||||
|
|
||||||
|
@ -7677,7 +7677,7 @@ md_apply_fix (fixS * fixP, valueT * valP, segT seg)
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_LD_LO12_NC:
|
case BFD_RELOC_AARCH64_TLSDESC_LD_LO12_NC:
|
||||||
fixP->fx_r_type = (ilp32_p
|
fixP->fx_r_type = (ilp32_p
|
||||||
? BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC
|
? BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC
|
||||||
: BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC);
|
: BFD_RELOC_AARCH64_TLSDESC_LD64_LO12);
|
||||||
S_SET_THREAD_LOCAL (fixP->fx_addsy);
|
S_SET_THREAD_LOCAL (fixP->fx_addsy);
|
||||||
/* Should always be exported to object file, see
|
/* Should always be exported to object file, see
|
||||||
aarch64_force_relocation(). */
|
aarch64_force_relocation(). */
|
||||||
|
@ -7685,11 +7685,11 @@ md_apply_fix (fixS * fixP, valueT * valP, segT seg)
|
||||||
gas_assert (seg->use_rela_p);
|
gas_assert (seg->use_rela_p);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC:
|
case BFD_RELOC_AARCH64_TLSDESC_ADD_LO12:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21:
|
case BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21:
|
case BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC:
|
case BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC:
|
case BFD_RELOC_AARCH64_TLSDESC_LD64_LO12:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_LD_PREL19:
|
case BFD_RELOC_AARCH64_TLSDESC_LD_PREL19:
|
||||||
case BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC:
|
case BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC:
|
||||||
case BFD_RELOC_AARCH64_TLSGD_ADR_PAGE21:
|
case BFD_RELOC_AARCH64_TLSGD_ADR_PAGE21:
|
||||||
|
@ -7917,11 +7917,11 @@ aarch64_force_relocation (struct fix *fixp)
|
||||||
case BFD_RELOC_AARCH64_LDST32_LO12:
|
case BFD_RELOC_AARCH64_LDST32_LO12:
|
||||||
case BFD_RELOC_AARCH64_LDST64_LO12:
|
case BFD_RELOC_AARCH64_LDST64_LO12:
|
||||||
case BFD_RELOC_AARCH64_LDST8_LO12:
|
case BFD_RELOC_AARCH64_LDST8_LO12:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC:
|
case BFD_RELOC_AARCH64_TLSDESC_ADD_LO12:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21:
|
case BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21:
|
case BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC:
|
case BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC:
|
case BFD_RELOC_AARCH64_TLSDESC_LD64_LO12:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_LD_PREL19:
|
case BFD_RELOC_AARCH64_TLSDESC_LD_PREL19:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_OFF_G0_NC:
|
case BFD_RELOC_AARCH64_TLSDESC_OFF_G0_NC:
|
||||||
case BFD_RELOC_AARCH64_TLSDESC_OFF_G1:
|
case BFD_RELOC_AARCH64_TLSDESC_OFF_G1:
|
||||||
|
|
|
@ -8,9 +8,9 @@ Disassembly of section \.text:
|
||||||
0: 90000000 adrp x0, 0 <var>
|
0: 90000000 adrp x0, 0 <var>
|
||||||
0: R_AARCH64_(P32_|)TLSDESC_ADR_PAGE21 var
|
0: R_AARCH64_(P32_|)TLSDESC_ADR_PAGE21 var
|
||||||
4: f9400001 ldr x1, \[x0\]
|
4: f9400001 ldr x1, \[x0\]
|
||||||
4: R_AARCH64_(P32_|)TLSDESC_LD(64|32)_LO12_NC var
|
4: R_AARCH64_(P32_|)TLSDESC_LD(64|32)_LO12(_NC|) var
|
||||||
8: 91000000 add x0, x0, #0x0
|
8: 91000000 add x0, x0, #0x0
|
||||||
8: R_AARCH64_(P32_|)TLSDESC_ADD_LO12_NC var
|
8: R_AARCH64_(P32_|)TLSDESC_ADD_LO12 var
|
||||||
c: d63f0020 blr x1
|
c: d63f0020 blr x1
|
||||||
c: R_AARCH64_(P32_|)TLSDESC_CALL var
|
c: R_AARCH64_(P32_|)TLSDESC_CALL var
|
||||||
10: 90000000 adrp x0, 0 <var>
|
10: 90000000 adrp x0, 0 <var>
|
||||||
|
|
|
@ -1,3 +1,11 @@
|
||||||
|
2017-03-13 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
|
PR binutils/21202
|
||||||
|
* elf/aarch64.h (R_AARCH64_TLSDESC_LD64_LO12_NC): Rename to
|
||||||
|
R_AARCH64_TLSDESC_LD64_LO12.
|
||||||
|
(R_AARCH64_TLSDESC_ADD_LO12_NC): Rename to
|
||||||
|
R_AARCH64_TLSDESC_ADD_LO12_NC.
|
||||||
|
|
||||||
2017-03-10 Nick Clifton <nickc@redhat.com>
|
2017-03-10 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
* elf/common.h (EM_LANAI): New machine number.
|
* elf/common.h (EM_LANAI): New machine number.
|
||||||
|
|
|
@ -382,8 +382,8 @@ RELOC_NUMBER (R_AARCH64_TLSLE_LDST64_TPREL_LO12_NC, 559)
|
||||||
RELOC_NUMBER (R_AARCH64_TLSDESC_LD_PREL19, 560)
|
RELOC_NUMBER (R_AARCH64_TLSDESC_LD_PREL19, 560)
|
||||||
RELOC_NUMBER (R_AARCH64_TLSDESC_ADR_PREL21, 561)
|
RELOC_NUMBER (R_AARCH64_TLSDESC_ADR_PREL21, 561)
|
||||||
RELOC_NUMBER (R_AARCH64_TLSDESC_ADR_PAGE21, 562)
|
RELOC_NUMBER (R_AARCH64_TLSDESC_ADR_PAGE21, 562)
|
||||||
RELOC_NUMBER (R_AARCH64_TLSDESC_LD64_LO12_NC, 563)
|
RELOC_NUMBER (R_AARCH64_TLSDESC_LD64_LO12, 563)
|
||||||
RELOC_NUMBER (R_AARCH64_TLSDESC_ADD_LO12_NC, 564)
|
RELOC_NUMBER (R_AARCH64_TLSDESC_ADD_LO12, 564)
|
||||||
RELOC_NUMBER (R_AARCH64_TLSDESC_OFF_G1, 565)
|
RELOC_NUMBER (R_AARCH64_TLSDESC_OFF_G1, 565)
|
||||||
RELOC_NUMBER (R_AARCH64_TLSDESC_OFF_G0_NC, 566)
|
RELOC_NUMBER (R_AARCH64_TLSDESC_OFF_G0_NC, 566)
|
||||||
RELOC_NUMBER (R_AARCH64_TLSDESC_LDR, 567)
|
RELOC_NUMBER (R_AARCH64_TLSDESC_LDR, 567)
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
2017-03-13 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
|
PR binutils/21202
|
||||||
|
* testsuite/ld-aarch64/ifunc-5r-local.d: Update regexp.
|
||||||
|
|
||||||
2017-03-13 Tristan Gingold <gingold@adacore.com>
|
2017-03-13 Tristan Gingold <gingold@adacore.com>
|
||||||
|
|
||||||
* ldlang.c (lang_check_section_addresses): Check for address space
|
* ldlang.c (lang_check_section_addresses): Check for address space
|
||||||
|
|
|
@ -6,5 +6,5 @@
|
||||||
Relocation section '.rela.text' at .*
|
Relocation section '.rela.text' at .*
|
||||||
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
||||||
[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_(P32_|)CALL26[ ]+foo\(\)[ ]+foo \+ 0
|
[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_(P32_|)CALL26[ ]+foo\(\)[ ]+foo \+ 0
|
||||||
[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_(P32_|)ADR_GOT_(PAGE|)[ ]+foo\(\)[ ]+foo \+ 0
|
[0-9a-f]+[ ]+[0-9a-f]+[ ]+.*ADR_GOT.*foo\(\)[ ]+foo \+ 0
|
||||||
[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_(P32_|)LD(64|32)_GOT(_LO1|)[ ]+foo\(\)[ ]+foo \+ 0
|
[0-9a-f]+[ ]+[0-9a-f]+[ ]+.*LD(32|64)_GOT.*foo\(\)[ ]+foo \+ 0
|
||||||
|
|
Loading…
Reference in New Issue