/Users/buildslave/jenkins/sharedspace/clang-stage2-coverage-R@2/llvm/lib/Object/ELF.cpp
Line | Count | Source (jump to first uncovered line) |
1 | | //===- ELF.cpp - ELF object file implementation ---------------------------===// |
2 | | // |
3 | | // The LLVM Compiler Infrastructure |
4 | | // |
5 | | // This file is distributed under the University of Illinois Open Source |
6 | | // License. See LICENSE.TXT for details. |
7 | | // |
8 | | //===----------------------------------------------------------------------===// |
9 | | |
10 | | #include "llvm/Object/ELF.h" |
11 | | #include "llvm/Support/ELF.h" |
12 | | |
13 | | using namespace llvm; |
14 | | using namespace object; |
15 | | |
16 | | #define ELF_RELOC(name, value) \ |
17 | 3.45k | case ELF::name: \ |
18 | 3.45k | return #name; \ |
19 | | |
20 | | StringRef llvm::object::getELFRelocationTypeName(uint32_t Machine, |
21 | 3.69k | uint32_t Type) { |
22 | 3.69k | switch (Machine) { |
23 | 713 | case ELF::EM_X86_64: |
24 | 713 | switch (Type) { |
25 | 713 | #include "llvm/Support/ELFRelocs/x86_64.def" |
26 | 2 | default: |
27 | 2 | break; |
28 | 713 | } |
29 | 2 | break; |
30 | 260 | case ELF::EM_386: |
31 | 260 | case ELF::EM_IAMCU: |
32 | 260 | switch (Type) { |
33 | 260 | #include "llvm/Support/ELFRelocs/i386.def" |
34 | 0 | default: |
35 | 0 | break; |
36 | 260 | } |
37 | 0 | break; |
38 | 883 | case ELF::EM_MIPS: |
39 | 883 | switch (Type) { |
40 | 883 | #include "llvm/Support/ELFRelocs/Mips.def" |
41 | 0 | default: |
42 | 0 | break; |
43 | 883 | } |
44 | 0 | break; |
45 | 634 | case ELF::EM_AARCH64: |
46 | 634 | switch (Type) { |
47 | 634 | #include "llvm/Support/ELFRelocs/AArch64.def" |
48 | 0 | default: |
49 | 0 | break; |
50 | 634 | } |
51 | 0 | break; |
52 | 449 | case ELF::EM_ARM: |
53 | 449 | switch (Type) { |
54 | 449 | #include "llvm/Support/ELFRelocs/ARM.def" |
55 | 0 | default: |
56 | 0 | break; |
57 | 449 | } |
58 | 0 | break; |
59 | 0 | case ELF::EM_AVR: |
60 | 0 | switch (Type) { |
61 | 0 | #include "llvm/Support/ELFRelocs/AVR.def" |
62 | 0 | default: |
63 | 0 | break; |
64 | 0 | } |
65 | 0 | break; |
66 | 107 | case ELF::EM_HEXAGON: |
67 | 107 | switch (Type) { |
68 | 107 | #include "llvm/Support/ELFRelocs/Hexagon.def" |
69 | 0 | default: |
70 | 0 | break; |
71 | 107 | } |
72 | 0 | break; |
73 | 14 | case ELF::EM_LANAI: |
74 | 14 | switch (Type) { |
75 | 14 | #include "llvm/Support/ELFRelocs/Lanai.def" |
76 | 0 | default: |
77 | 0 | break; |
78 | 14 | } |
79 | 0 | break; |
80 | 2 | case ELF::EM_PPC: |
81 | 2 | switch (Type) { |
82 | 2 | #include "llvm/Support/ELFRelocs/PowerPC.def" |
83 | 0 | default: |
84 | 0 | break; |
85 | 2 | } |
86 | 0 | break; |
87 | 458 | case ELF::EM_PPC64: |
88 | 458 | switch (Type) { |
89 | 458 | #include "llvm/Support/ELFRelocs/PowerPC64.def" |
90 | 0 | default: |
91 | 0 | break; |
92 | 458 | } |
93 | 0 | break; |
94 | 0 | case ELF::EM_RISCV: |
95 | 0 | switch (Type) { |
96 | 0 | #include "llvm/Support/ELFRelocs/RISCV.def" |
97 | 0 | default: |
98 | 0 | break; |
99 | 0 | } |
100 | 0 | break; |
101 | 31 | case ELF::EM_S390: |
102 | 31 | switch (Type) { |
103 | 31 | #include "llvm/Support/ELFRelocs/SystemZ.def" |
104 | 0 | default: |
105 | 0 | break; |
106 | 31 | } |
107 | 0 | break; |
108 | 103 | case ELF::EM_SPARC: |
109 | 103 | case ELF::EM_SPARC32PLUS: |
110 | 103 | case ELF::EM_SPARCV9: |
111 | 103 | switch (Type) { |
112 | 103 | #include "llvm/Support/ELFRelocs/Sparc.def" |
113 | 0 | default: |
114 | 0 | break; |
115 | 103 | } |
116 | 0 | break; |
117 | 0 | case ELF::EM_WEBASSEMBLY: |
118 | 0 | switch (Type) { |
119 | 0 | #include "llvm/Support/ELFRelocs/WebAssembly.def" |
120 | 0 | default: |
121 | 0 | break; |
122 | 0 | } |
123 | 0 | break; |
124 | 42 | case ELF::EM_AMDGPU: |
125 | 42 | switch (Type) { |
126 | 42 | #include "llvm/Support/ELFRelocs/AMDGPU.def" |
127 | 0 | default: |
128 | 0 | break; |
129 | 42 | } |
130 | 0 | case ELF::EM_BPF: |
131 | 0 | switch (Type) { |
132 | 0 | #include "llvm/Support/ELFRelocs/BPF.def" |
133 | 0 | default: |
134 | 0 | break; |
135 | 0 | } |
136 | 0 | break; |
137 | 0 | default: |
138 | 0 | break; |
139 | 3.69k | } |
140 | 2 | return "Unknown"; |
141 | 3.69k | } |
142 | | |
143 | | #undef ELF_RELOC |