PowerPC inline PLT call support
[deliverable/binutils-gdb.git] / elfcpp / sparc.h
index b403d58e446b9f57cf1fc64927464e0f958e813d..619140558f0be05c6bb37590ce62fe2d97bd31e0 100644 (file)
@@ -1,6 +1,6 @@
 // sparc.h -- ELF definitions specific to EM_SPARC  -*- C++ -*-
 
-// Copyright 2008, 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.
@@ -140,6 +140,10 @@ enum
   R_SPARC_H34 = 85,           // Direct high 12 of 34 bit
   R_SPARC_SIZE32 = 86,        // size of symbol, 32-bit
   R_SPARC_SIZE64 = 87,        // size of symbol, 64-bit
+  R_SPARC_WDISP10 = 88,       // PC relative 10 bit shifted
+
+  R_SPARC_JMP_IREL = 248,     // Create PLT slot to IFUNC function
+  R_SPARC_IRELATIVE = 249,    // Adjust indirectly by program base
 
   // GNU vtable garbage collection extensions.
   R_SPARC_GNU_VTINHERIT = 250,
@@ -148,6 +152,22 @@ enum
   R_SPARC_REV32 = 252,
 };
 
+// e_flags values defined for sparc
+enum
+{
+  EF_SPARC_EXT_MASK = 0xffff00,    // reserved for vendor extensions
+  EF_SPARC_32PLUS_MASK = 0xffff00, // bits indicating V8+ type
+  EF_SPARC_32PLUS = 0x000100,      // generic V8+ features
+  EF_SPARC_SUN_US1 = 0x000200,     // Sun UltraSPARC-I extensions
+  EF_SPARC_HAL_R1 = 0x000400,      // HAL R1 extensions
+  EF_SPARC_SUN_US3 = 0x000800,     // Sun UltraSPARC-III extensions
+  EF_SPARC_LEDATA = 0x800000,      // little endian data
+  EF_SPARCV9_MM = 0x3,             // memory model mask
+  EF_SPARCV9_TSO = 0x0,            // total store ordering
+  EF_SPARCV9_PSO = 0x1,            // partial store ordering
+  EF_SPARCV9_RMO = 0x2,            // relaxed store ordering
+};
+
 } // End namespace elfcpp.
 
 #endif // !defined(ELFCPP_SPARC_H)
This page took 0.028099 seconds and 4 git commands to generate.