Arm: Fix disassembler crashing on -b binary when thumb file and thumb not forced.
[deliverable/binutils-gdb.git] / elfcpp / powerpc.h
index 2a22121822ff03e8280c637b31e163689e037ce1..5996691602d2252b7736639dd4a11c3e0e7e6987 100644 (file)
@@ -1,6 +1,6 @@
 // powerpc.h -- ELF definitions specific to EM_PPC and EM_PPC64  -*- C++ -*-
 
-// Copyright (C) 2008-2014 Free Software Foundation, Inc.
+// Copyright (C) 2008-2018 Free Software Foundation, Inc.
 // Written by David S. Miller <davem@davemloft.net>.
 
 // This file is part of elfcpp.
@@ -178,6 +178,9 @@ enum
   R_PPC_EMB_RELSDA = 116,
   R_PPC64_REL24_NOTOC = 116,
   R_PPC64_ADDR64_LOCAL = 117,
+  R_PPC64_ENTRY = 118,
+  R_POWERPC_PLTSEQ = 119,
+  R_POWERPC_PLTCALL = 120,
 
   R_PPC_VLE_REL8 = 216,
   R_PPC_VLE_REL15 = 217,
@@ -197,6 +200,7 @@ enum
   R_PPC_VLE_SDAREL_HA16A = 231,
   R_PPC_VLE_SDAREL_HA16D = 232,
 
+  R_POWERPC_REL16DX_HA = 246,
   R_PPC64_JMP_IREL = 247,
   R_POWERPC_IRELATIVE = 248,
   R_POWERPC_REL16 = 249,
@@ -226,6 +230,46 @@ enum
   EF_PPC64_ABI = 3
 };
 
+// Object attribute tags.  0-3 are generic.
+enum
+{
+  // FP ABI, low 2 bits:
+  // 1 for double precision hard-float,
+  // 2 for soft-float,
+  // 3 for single precision hard-float.
+  // 0 for not tagged or not using any ABIs affected by the differences.
+  // Next 2 bits:
+  // 1 for ibm long double
+  // 2 for 64-bit long double
+  // 3 for IEEE long double.
+  // 0 for not tagged or not using any ABIs affected by the differences.
+  Tag_GNU_Power_ABI_FP = 4,
+
+  // Value 1 for general purpose registers only, 2 for AltiVec
+  // registers, 3 for SPE registers; 0 for not tagged or not using any
+  // ABIs affected by the differences.
+  Tag_GNU_Power_ABI_Vector = 8,
+
+  // Value 1 for ABIs using r3/r4 for returning structures <= 8 bytes,
+  // 2 for ABIs using memory; 0 for not tagged or not using any ABIs
+  // affected by the differences.
+  Tag_GNU_Power_ABI_Struct_Return = 12
+};
+
+// DT_PPC_OPT bits
+enum
+{
+  PPC_OPT_TLS = 1
+};
+
+// DT_PPC64_OPT bits
+enum
+{
+  PPC64_OPT_TLS = 1,
+  PPC64_OPT_MULTI_TOC = 2,
+  PPC64_OPT_LOCALENTRY = 4
+};
+
 enum
 {
   // The ELFv2 ABI uses three bits in the symbol st_other field of a
This page took 0.025128 seconds and 4 git commands to generate.