aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2025-01-17 17:03:01 +1100
committerLang Hames <lhames@gmail.com>2025-01-20 10:25:37 +1100
commit630139460ea7fe8c4b6e6ea2973830117a8048ee (patch)
tree053c5a501a7f9e5b3b576a57758368118f98bccb
parentde586937648d360d8c4741cd34f633ea92316874 (diff)
downloadllvm-630139460ea7fe8c4b6e6ea2973830117a8048ee.zip
llvm-630139460ea7fe8c4b6e6ea2973830117a8048ee.tar.gz
llvm-630139460ea7fe8c4b6e6ea2973830117a8048ee.tar.bz2
[ORC] Use BinaryFormat to convert Triple to MachO cputype / cpusubtype values.
-rw-r--r--llvm/lib/ExecutionEngine/Orc/Debugging/DebuggerSupportPlugin.cpp20
1 files changed, 8 insertions, 12 deletions
diff --git a/llvm/lib/ExecutionEngine/Orc/Debugging/DebuggerSupportPlugin.cpp b/llvm/lib/ExecutionEngine/Orc/Debugging/DebuggerSupportPlugin.cpp
index 0d9a912..1bafed7 100644
--- a/llvm/lib/ExecutionEngine/Orc/Debugging/DebuggerSupportPlugin.cpp
+++ b/llvm/lib/ExecutionEngine/Orc/Debugging/DebuggerSupportPlugin.cpp
@@ -121,18 +121,14 @@ public:
// Write MachO header and debug section load commands.
Builder.Header.filetype = MachO::MH_OBJECT;
- switch (G.getTargetTriple().getArch()) {
- case Triple::x86_64:
- Builder.Header.cputype = MachO::CPU_TYPE_X86_64;
- Builder.Header.cpusubtype = MachO::CPU_SUBTYPE_X86_64_ALL;
- break;
- case Triple::aarch64:
- Builder.Header.cputype = MachO::CPU_TYPE_ARM64;
- Builder.Header.cpusubtype = MachO::CPU_SUBTYPE_ARM64_ALL;
- break;
- default:
- llvm_unreachable("Unsupported architecture");
- }
+ if (auto CPUType = MachO::getCPUType(G.getTargetTriple()))
+ Builder.Header.cputype = *CPUType;
+ else
+ return CPUType.takeError();
+ if (auto CPUSubType = MachO::getCPUSubType(G.getTargetTriple()))
+ Builder.Header.cpusubtype = *CPUSubType;
+ else
+ return CPUSubType.takeError();
Seg = &Builder.addSegment("");