Skip to content

Commit 6301394

Browse files
committed
[ORC] Use BinaryFormat to convert Triple to MachO cputype / cpusubtype values.
1 parent de58693 commit 6301394

File tree

1 file changed

+8
-12
lines changed

1 file changed

+8
-12
lines changed

llvm/lib/ExecutionEngine/Orc/Debugging/DebuggerSupportPlugin.cpp

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -121,18 +121,14 @@ class MachODebugObjectSynthesizer : public MachODebugObjectSynthesizerBase {
121121

122122
// Write MachO header and debug section load commands.
123123
Builder.Header.filetype = MachO::MH_OBJECT;
124-
switch (G.getTargetTriple().getArch()) {
125-
case Triple::x86_64:
126-
Builder.Header.cputype = MachO::CPU_TYPE_X86_64;
127-
Builder.Header.cpusubtype = MachO::CPU_SUBTYPE_X86_64_ALL;
128-
break;
129-
case Triple::aarch64:
130-
Builder.Header.cputype = MachO::CPU_TYPE_ARM64;
131-
Builder.Header.cpusubtype = MachO::CPU_SUBTYPE_ARM64_ALL;
132-
break;
133-
default:
134-
llvm_unreachable("Unsupported architecture");
135-
}
124+
if (auto CPUType = MachO::getCPUType(G.getTargetTriple()))
125+
Builder.Header.cputype = *CPUType;
126+
else
127+
return CPUType.takeError();
128+
if (auto CPUSubType = MachO::getCPUSubType(G.getTargetTriple()))
129+
Builder.Header.cpusubtype = *CPUSubType;
130+
else
131+
return CPUSubType.takeError();
136132

137133
Seg = &Builder.addSegment("");
138134

0 commit comments

Comments
 (0)