From: Jim Wilson Date: Mon, 23 May 2016 23:38:21 +0000 (-0700) Subject: Enable R_AARCH64_NONE for 64-bit code. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b7f28d873c8bb26500e46828d34445cebfab7fd4;p=binutils-gdb.git Enable R_AARCH64_NONE for 64-bit code. * elfnn-aarch64.c: Unconditionally enable R_AARCH64_NULL and R_AARCH64_NONE. Use HOWTO64 for R_AARCH64_NULL. * relocs.c: Add BFD_RELOC_AARCH64_NULL. * bfd-in2.h: Regenerate. * libbfd.h: Likewise. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 8af8bda1718..83d0bed5e41 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,11 @@ +2016-05-23 Jim Wilson + + * elfnn-aarch64.c: Unconditionally enable R_AARCH64_NULL and + R_AARCH64_NONE. Use HOWTO64 for R_AARCH64_NULL. + * relocs.c: Add BFD_RELOC_AARCH64_NULL. + * bfd-in2.h: Regenerate. + * libbfd.h: Likewise. + 2016-05-23 Kuba Sejdak * config.bfd: Add entry for arm-phoenix. diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index f900da650cf..7292492b456 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h @@ -5720,6 +5720,9 @@ important as several tables in the AArch64 bfd backend are indexed by these enumerators; make sure they are all synced. */ BFD_RELOC_AARCH64_RELOC_START, +/* Deprecated AArch64 null relocation code. */ + BFD_RELOC_AARCH64_NULL, + /* AArch64 null relocation code. */ BFD_RELOC_AARCH64_NONE, diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c index fcce22f7685..d30983aa88e 100644 --- a/bfd/elfnn-aarch64.c +++ b/bfd/elfnn-aarch64.c @@ -339,8 +339,8 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* Basic data relocations. */ -#if ARCH_SIZE == 64 - HOWTO (R_AARCH64_NULL, /* type */ + /* Deprecated, but retained for backwards compatibility. */ + HOWTO64 (R_AARCH64_NULL, /* type */ 0, /* rightshift */ 3, /* size (0 = byte, 1 = short, 2 = long) */ 0, /* bitsize */ @@ -353,7 +353,6 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = 0, /* src_mask */ 0, /* dst_mask */ FALSE), /* pcrel_offset */ -#else HOWTO (R_AARCH64_NONE, /* type */ 0, /* rightshift */ 3, /* size (0 = byte, 1 = short, 2 = long) */ @@ -367,7 +366,6 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = 0, /* src_mask */ 0, /* dst_mask */ FALSE), /* pcrel_offset */ -#endif /* .xword: (S+A) */ HOWTO64 (AARCH64_R (ABS64), /* type */ diff --git a/bfd/libbfd.h b/bfd/libbfd.h index 5fe45ecae94..33490c07f9b 100644 --- a/bfd/libbfd.h +++ b/bfd/libbfd.h @@ -2792,6 +2792,7 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_MICROBLAZE_64_TLSGOTTPREL", "BFD_RELOC_MICROBLAZE_64_TLSTPREL", "BFD_RELOC_AARCH64_RELOC_START", + "BFD_RELOC_AARCH64_NULL", "BFD_RELOC_AARCH64_NONE", "BFD_RELOC_AARCH64_64", "BFD_RELOC_AARCH64_32", diff --git a/bfd/reloc.c b/bfd/reloc.c index c3b713b351d..1f210371b74 100644 --- a/bfd/reloc.c +++ b/bfd/reloc.c @@ -6775,6 +6775,10 @@ ENUMDOC relocation enumerators. N.B. the order of the enumerators is important as several tables in the AArch64 bfd backend are indexed by these enumerators; make sure they are all synced. +ENUM + BFD_RELOC_AARCH64_NULL +ENUMDOC + Deprecated AArch64 null relocation code. ENUM BFD_RELOC_AARCH64_NONE ENUMDOC