diff options
author | Yufeng Zhang <yufeng.zhang@arm.com> | 2013-11-13 14:47:04 +0000 |
---|---|---|
committer | Yufeng Zhang <yufeng.zhang@arm.com> | 2013-11-13 14:48:42 +0000 |
commit | e69ce7595c994bc74218cae0bea52f949f531db0 (patch) | |
tree | 54306b9156e242abb323f1aec767f0a2480662b6 | |
parent | 709f3d6c88a9f7084816d16582d15d92dc155bd6 (diff) | |
download | ppe42-binutils-e69ce7595c994bc74218cae0bea52f949f531db0.tar.gz ppe42-binutils-e69ce7595c994bc74218cae0bea52f949f531db0.zip |
bfd/
* elfnn-aarch64.c (elfNN_aarch64_howto_table): Use
R_AARCH64_TLS_DTPMOD64 instead of R_AARCH64_TLS_DTPMOD;
likewise for R_AARCH64_TLS_DTPREL and R_AARCH64_TLS_TPREL.
include/elf/
* aarch64.h: Define R_AARCH64_TLS_DTPMOD64,
R_AARCH64_TLS_DTPREL64 and R_AARCH64_TLS_TPREL64; guard
R_AARCH64_TLS_DTPMOD, R_AARCH64_TLS_DTPREL and
R_AARCH64_TLS_TPREL with RELOC_MACROS_GEN_FUNC.
-rw-r--r-- | bfd/ChangeLog | 6 | ||||
-rw-r--r-- | bfd/elfnn-aarch64.c | 12 | ||||
-rw-r--r-- | include/elf/ChangeLog | 7 | ||||
-rw-r--r-- | include/elf/aarch64.h | 8 |
4 files changed, 33 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index d08d2c339e..22bb0846a4 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2013-11-13 Yufeng Zhang <yufeng.zhang@arm.com> + + * elfnn-aarch64.c (elfNN_aarch64_howto_table): Use + R_AARCH64_TLS_DTPMOD64 instead of R_AARCH64_TLS_DTPMOD; + likewise for R_AARCH64_TLS_DTPREL and R_AARCH64_TLS_TPREL. + 2013-11-12 Matthew Leach <Matthew.Leach@arm.comm> * elfxx-aarch64.c (_bfd_aarch64_elf_grok_prstatus): Fix hard-coded diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c index d6515c4849..6bc414e6ac 100644 --- a/bfd/elfnn-aarch64.c +++ b/bfd/elfnn-aarch64.c @@ -1297,7 +1297,11 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ +#if ARCH_SIZE == 64 + AARCH64_R_STR (TLS_DTPMOD64), /* name */ +#else AARCH64_R_STR (TLS_DTPMOD), /* name */ +#endif FALSE, /* partial_inplace */ 0, /* src_mask */ ALL_ONES, /* dst_mask */ @@ -1311,7 +1315,11 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ +#if ARCH_SIZE == 64 + AARCH64_R_STR (TLS_DTPREL64), /* name */ +#else AARCH64_R_STR (TLS_DTPREL), /* name */ +#endif FALSE, /* partial_inplace */ 0, /* src_mask */ ALL_ONES, /* dst_mask */ @@ -1325,7 +1333,11 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ +#if ARCH_SIZE == 64 + AARCH64_R_STR (TLS_TPREL64), /* name */ +#else AARCH64_R_STR (TLS_TPREL), /* name */ +#endif FALSE, /* partial_inplace */ 0, /* src_mask */ ALL_ONES, /* dst_mask */ diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog index 59f806c5ef..08e8d47c99 100644 --- a/include/elf/ChangeLog +++ b/include/elf/ChangeLog @@ -1,3 +1,10 @@ +2013-11-13 Yufeng Zhang <yufeng.zhang@arm.com> + + * aarch64.h: Define R_AARCH64_TLS_DTPMOD64, + R_AARCH64_TLS_DTPREL64 and R_AARCH64_TLS_TPREL64; guard + R_AARCH64_TLS_DTPMOD, R_AARCH64_TLS_DTPREL and + R_AARCH64_TLS_TPREL with RELOC_MACROS_GEN_FUNC. + 2013-09-17 Doug Gilmore <Doug.Gilmore@imgtec.com> * mips.h (EF_MIPS_FP64): New e_flags bit. diff --git a/include/elf/aarch64.h b/include/elf/aarch64.h index 41016038f1..7dbab8ccf9 100644 --- a/include/elf/aarch64.h +++ b/include/elf/aarch64.h @@ -316,9 +316,17 @@ RELOC_NUMBER (R_AARCH64_JUMP_SLOT, 1026) /* Adjust by program base. */ RELOC_NUMBER (R_AARCH64_RELATIVE, 1027) +RELOC_NUMBER (R_AARCH64_TLS_DTPMOD64, 1028) +RELOC_NUMBER (R_AARCH64_TLS_DTPREL64, 1029) +RELOC_NUMBER (R_AARCH64_TLS_TPREL64, 1030) +/* Aliasing relocs are guarded by RELOC_MACROS_GEN_FUNC + so that readelf.c won't generate duplicated case + statements. */ +#ifndef RELOC_MACROS_GEN_FUNC RELOC_NUMBER (R_AARCH64_TLS_DTPMOD, 1028) RELOC_NUMBER (R_AARCH64_TLS_DTPREL, 1029) RELOC_NUMBER (R_AARCH64_TLS_TPREL, 1030) +#endif RELOC_NUMBER (R_AARCH64_TLSDESC, 1031) RELOC_NUMBER (R_AARCH64_IRELATIVE, 1032) |