/* PPC64 ELF support for BFD.
- Copyright 2003, 2005, 2009, 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2003-2017 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
RELOC_NUMBER (R_PPC64_DTPREL16_HIGH, 114)
RELOC_NUMBER (R_PPC64_DTPREL16_HIGHA, 115)
+/* Added for ELFv2. */
+ RELOC_NUMBER (R_PPC64_REL24_NOTOC, 116)
+ RELOC_NUMBER (R_PPC64_ADDR64_LOCAL, 117)
+ RELOC_NUMBER (R_PPC64_ENTRY, 118)
+
#ifndef RELOC_MACROS_GEN_FUNC
-/* Fake relocation only used internally by ld. */
+/* Relocation only used internally by ld. If you need to use these
+ reloc numbers, you can change them to some other unused value
+ without affecting the ABI. They will never appear in object files. */
RELOC_NUMBER (R_PPC64_LO_DS_OPT, 128)
+/* Reloc only used internally by gas. As above, value is unimportant. */
+ RELOC_NUMBER (R_PPC64_16DX_HA, 129)
#endif
+
+/* Power9 split rel16 for addpcis. */
+ RELOC_NUMBER (R_PPC64_REL16DX_HA, 246)
+
/* Support STT_GNU_IFUNC plt calls. */
RELOC_NUMBER (R_PPC64_JMP_IREL, 247)
RELOC_NUMBER (R_PPC64_IRELATIVE, 248)
#define DT_PPC64_OPD (DT_LOPROC + 1)
#define DT_PPC64_OPDSZ (DT_LOPROC + 2)
-/* Specify that tls descriptors should be optimized. */
-#define DT_PPC64_TLSOPT (DT_LOPROC + 3)
+/* Specify whether various optimisations are possible. */
+#define DT_PPC64_OPT (DT_LOPROC + 3)
+#define PPC64_OPT_TLS 1
+#define PPC64_OPT_MULTI_TOC 2
+#define PPC64_OPT_LOCALENTRY 4
#endif /* _ELF_PPC64_H */