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.
This commit is contained in:
Jim Wilson
2016-05-23 16:38:21 -07:00
parent 7eb895307f
commit b7f28d873c
5 changed files with 18 additions and 4 deletions

View File

@ -1,3 +1,11 @@
2016-05-23 Jim Wilson <jim.wilson@linaro.org>
* 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 <jakub.sejdak@phoesys.com> 2016-05-23 Kuba Sejdak <jakub.sejdak@phoesys.com>
* config.bfd: Add entry for arm-phoenix. * config.bfd: Add entry for arm-phoenix.

View File

@ -5720,6 +5720,9 @@ important as several tables in the AArch64 bfd backend are indexed
by these enumerators; make sure they are all synced. */ by these enumerators; make sure they are all synced. */
BFD_RELOC_AARCH64_RELOC_START, BFD_RELOC_AARCH64_RELOC_START,
/* Deprecated AArch64 null relocation code. */
BFD_RELOC_AARCH64_NULL,
/* AArch64 null relocation code. */ /* AArch64 null relocation code. */
BFD_RELOC_AARCH64_NONE, BFD_RELOC_AARCH64_NONE,

View File

@ -339,8 +339,8 @@ static reloc_howto_type elfNN_aarch64_howto_table[] =
/* Basic data relocations. */ /* Basic data relocations. */
#if ARCH_SIZE == 64 /* Deprecated, but retained for backwards compatibility. */
HOWTO (R_AARCH64_NULL, /* type */ HOWTO64 (R_AARCH64_NULL, /* type */
0, /* rightshift */ 0, /* rightshift */
3, /* size (0 = byte, 1 = short, 2 = long) */ 3, /* size (0 = byte, 1 = short, 2 = long) */
0, /* bitsize */ 0, /* bitsize */
@ -353,7 +353,6 @@ static reloc_howto_type elfNN_aarch64_howto_table[] =
0, /* src_mask */ 0, /* src_mask */
0, /* dst_mask */ 0, /* dst_mask */
FALSE), /* pcrel_offset */ FALSE), /* pcrel_offset */
#else
HOWTO (R_AARCH64_NONE, /* type */ HOWTO (R_AARCH64_NONE, /* type */
0, /* rightshift */ 0, /* rightshift */
3, /* size (0 = byte, 1 = short, 2 = long) */ 3, /* size (0 = byte, 1 = short, 2 = long) */
@ -367,7 +366,6 @@ static reloc_howto_type elfNN_aarch64_howto_table[] =
0, /* src_mask */ 0, /* src_mask */
0, /* dst_mask */ 0, /* dst_mask */
FALSE), /* pcrel_offset */ FALSE), /* pcrel_offset */
#endif
/* .xword: (S+A) */ /* .xword: (S+A) */
HOWTO64 (AARCH64_R (ABS64), /* type */ HOWTO64 (AARCH64_R (ABS64), /* type */

View File

@ -2792,6 +2792,7 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
"BFD_RELOC_MICROBLAZE_64_TLSGOTTPREL", "BFD_RELOC_MICROBLAZE_64_TLSGOTTPREL",
"BFD_RELOC_MICROBLAZE_64_TLSTPREL", "BFD_RELOC_MICROBLAZE_64_TLSTPREL",
"BFD_RELOC_AARCH64_RELOC_START", "BFD_RELOC_AARCH64_RELOC_START",
"BFD_RELOC_AARCH64_NULL",
"BFD_RELOC_AARCH64_NONE", "BFD_RELOC_AARCH64_NONE",
"BFD_RELOC_AARCH64_64", "BFD_RELOC_AARCH64_64",
"BFD_RELOC_AARCH64_32", "BFD_RELOC_AARCH64_32",

View File

@ -6775,6 +6775,10 @@ ENUMDOC
relocation enumerators. N.B. the order of the enumerators is relocation enumerators. N.B. the order of the enumerators is
important as several tables in the AArch64 bfd backend are indexed important as several tables in the AArch64 bfd backend are indexed
by these enumerators; make sure they are all synced. by these enumerators; make sure they are all synced.
ENUM
BFD_RELOC_AARCH64_NULL
ENUMDOC
Deprecated AArch64 null relocation code.
ENUM ENUM
BFD_RELOC_AARCH64_NONE BFD_RELOC_AARCH64_NONE
ENUMDOC ENUMDOC