aboutsummaryrefslogtreecommitdiff
path: root/contrib/llvm-project/llvm/lib/Object/ObjectFile.cpp
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2024-01-09 20:00:28 +0000
committerDimitry Andric <dim@FreeBSD.org>2024-04-19 21:14:10 +0000
commitcdc20ff6a7f12464aed70d9b6e67ea07da9f0399 (patch)
tree0c2f259d41b6d1f146c344cb9cf2b15ea99d35bb /contrib/llvm-project/llvm/lib/Object/ObjectFile.cpp
parent7adf29b6244fe016ef869f287a66048195f9af29 (diff)
Diffstat (limited to 'contrib/llvm-project/llvm/lib/Object/ObjectFile.cpp')
-rw-r--r--contrib/llvm-project/llvm/lib/Object/ObjectFile.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/contrib/llvm-project/llvm/lib/Object/ObjectFile.cpp b/contrib/llvm-project/llvm/lib/Object/ObjectFile.cpp
index ca921836b7f6..c05eb0a0468e 100644
--- a/contrib/llvm-project/llvm/lib/Object/ObjectFile.cpp
+++ b/contrib/llvm-project/llvm/lib/Object/ObjectFile.cpp
@@ -111,6 +111,10 @@ Triple ObjectFile::makeTriple() const {
auto Arch = getArch();
TheTriple.setArch(Triple::ArchType(Arch));
+ auto OS = getOS();
+ if (OS != Triple::UnknownOS)
+ TheTriple.setOS(OS);
+
// For ARM targets, try to use the build attributes to build determine
// the build target. Target features are also added, but later during
// disassembly.
@@ -129,10 +133,13 @@ Triple ObjectFile::makeTriple() const {
// XCOFF implies AIX.
TheTriple.setOS(Triple::AIX);
TheTriple.setObjectFormat(Triple::XCOFF);
- }
- else if (isGOFF()) {
+ } else if (isGOFF()) {
TheTriple.setOS(Triple::ZOS);
TheTriple.setObjectFormat(Triple::GOFF);
+ } else if (TheTriple.isAMDGPU()) {
+ TheTriple.setVendor(Triple::AMD);
+ } else if (TheTriple.isNVPTX()) {
+ TheTriple.setVendor(Triple::NVIDIA);
}
return TheTriple;