summaryrefslogtreecommitdiff
path: root/include/llvm/Support/ELF.h
diff options
context:
space:
mode:
authorSid Manning <sidneym@codeaurora.org>2012-10-30 02:26:15 +0000
committerSid Manning <sidneym@codeaurora.org>2012-10-30 02:26:15 +0000
commit8ceffeb95cca477d1faf176e95140272a28cb91c (patch)
treef6559c9a71bcdee805030ac01e78b1c13c9a2c30 /include/llvm/Support/ELF.h
parent8ba1474181fc3997cc8449d75065e1021c72d49b (diff)
downloadllvm-8ceffeb95cca477d1faf176e95140272a28cb91c.tar.gz
llvm-8ceffeb95cca477d1faf176e95140272a28cb91c.tar.bz2
llvm-8ceffeb95cca477d1faf176e95140272a28cb91c.tar.xz
* Add e_flags enum for Hexagon
* Add Hexagon specific section indexes for small data - Reviewed by Michael Spencer git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166997 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Support/ELF.h')
-rw-r--r--include/llvm/Support/ELF.h30
1 files changed, 29 insertions, 1 deletions
diff --git a/include/llvm/Support/ELF.h b/include/llvm/Support/ELF.h
index 13788832bd..a879723caf 100644
--- a/include/llvm/Support/ELF.h
+++ b/include/llvm/Support/ELF.h
@@ -689,8 +689,36 @@ enum {
R_MIPS_NUM = 218
};
+// Hexagon Specific e_flags
+// Release 5 ABI
+enum {
+ // Object processor version flags, bits[3:0]
+ EF_HEXAGON_MACH_V2 = 0x00000001, // Hexagon V2
+ EF_HEXAGON_MACH_V3 = 0x00000002, // Hexagon V3
+ EF_HEXAGON_MACH_V4 = 0x00000003, // Hexagon V4
+ EF_HEXAGON_MACH_V5 = 0x00000004, // Hexagon V5
+
+ // Highest ISA version flags
+ EF_HEXAGON_ISA_MACH = 0x00000000, // Same as specified in bits[3:0]
+ // of e_flags
+ EF_HEXAGON_ISA_V2 = 0x00000010, // Hexagon V2 ISA
+ EF_HEXAGON_ISA_V3 = 0x00000020, // Hexagon V3 ISA
+ EF_HEXAGON_ISA_V4 = 0x00000030, // Hexagon V4 ISA
+ EF_HEXAGON_ISA_V5 = 0x00000040 // Hexagon V5 ISA
+};
+
+// Hexagon specific Section indexes for common small data
+// Release 5 ABI
+enum {
+ SHN_HEXAGON_SCOMMON = 0xff00, // Other access sizes
+ SHN_HEXAGON_SCOMMON_1 = 0xff01, // Byte-sized access
+ SHN_HEXAGON_SCOMMON_2 = 0xff02, // Half-word-sized access
+ SHN_HEXAGON_SCOMMON_4 = 0xff03, // Word-sized access
+ SHN_HEXAGON_SCOMMON_8 = 0xff04 // Double-word-size access
+};
+
// ELF Relocation types for Hexagon
-// Release 5 ABI - Document: 80-V9418-3 Rev. J
+// Release 5 ABI
enum {
R_HEX_NONE = 0,
R_HEX_B22_PCREL = 1,