summaryrefslogtreecommitdiffstats
path: root/llvm/include
diff options
context:
space:
mode:
authorKonstantin Zhuravlyov <kzhuravl_dev@outlook.com>2017-10-03 20:54:07 +0000
committerKonstantin Zhuravlyov <kzhuravl_dev@outlook.com>2017-10-03 20:54:07 +0000
commita952b44ed5d5db77bcc8a6d8b399cb713695914a (patch)
treea9fe05abf6c2a23203278e072d04cf3da49dc4ad /llvm/include
parenta215e7cbe82c5ea10c6e87b3129670b0bcae6172 (diff)
downloadbcm5719-llvm-a952b44ed5d5db77bcc8a6d8b399cb713695914a.tar.gz
bcm5719-llvm-a952b44ed5d5db77bcc8a6d8b399cb713695914a.zip
AMDGPU: Add ELFOSABI_AMDGPU_PAL
llvm-svn: 314843
Diffstat (limited to 'llvm/include')
-rw-r--r--llvm/include/llvm/BinaryFormat/ELF.h3
-rw-r--r--llvm/include/llvm/Object/ELFObjectFile.h15
2 files changed, 10 insertions, 8 deletions
diff --git a/llvm/include/llvm/BinaryFormat/ELF.h b/llvm/include/llvm/BinaryFormat/ELF.h
index 47869c16eb4..f83946a48c2 100644
--- a/llvm/include/llvm/BinaryFormat/ELF.h
+++ b/llvm/include/llvm/BinaryFormat/ELF.h
@@ -355,9 +355,10 @@ enum {
ELFOSABI_CLOUDABI = 17, // Nuxi CloudABI
ELFOSABI_FIRST_ARCH = 64, // First architecture-specific OS ABI
ELFOSABI_AMDGPU_HSA = 64, // AMD HSA runtime
+ ELFOSABI_AMDGPU_PAL = 65, // AMD PAL runtime
+ ELFOSABI_ARM = 97, // ARM
ELFOSABI_C6000_ELFABI = 64, // Bare-metal TMS320C6000
ELFOSABI_C6000_LINUX = 65, // Linux TMS320C6000
- ELFOSABI_ARM = 97, // ARM
ELFOSABI_STANDALONE = 255, // Standalone (embedded) application
ELFOSABI_LAST_ARCH = 255 // Last Architecture-specific OS ABI
};
diff --git a/llvm/include/llvm/Object/ELFObjectFile.h b/llvm/include/llvm/Object/ELFObjectFile.h
index f436e4534ce..b4411ce984e 100644
--- a/llvm/include/llvm/Object/ELFObjectFile.h
+++ b/llvm/include/llvm/Object/ELFObjectFile.h
@@ -995,9 +995,7 @@ StringRef ELFObjectFile<ELFT>::getFileFormatName() const {
case ELF::EM_WEBASSEMBLY:
return "ELF64-wasm";
case ELF::EM_AMDGPU:
- return (EF.getHeader()->e_ident[ELF::EI_OSABI] == ELF::ELFOSABI_AMDGPU_HSA
- && IsLittleEndian) ?
- "ELF64-amdgpu-hsacobj" : "ELF64-amdgpu";
+ return "ELF64-amdgpu";
case ELF::EM_BPF:
return "ELF64-BPF";
default:
@@ -1066,10 +1064,13 @@ unsigned ELFObjectFile<ELFT>::getArch() const {
}
case ELF::EM_AMDGPU:
- return (EF.getHeader()->e_ident[ELF::EI_CLASS] == ELF::ELFCLASS64
- && EF.getHeader()->e_ident[ELF::EI_OSABI] == ELF::ELFOSABI_AMDGPU_HSA
- && IsLittleEndian) ?
- Triple::amdgcn : Triple::UnknownArch;
+ if (EF.getHeader()->e_ident[ELF::EI_CLASS] != ELF::ELFCLASS64)
+ return Triple::UnknownArch;
+ if (!IsLittleEndian)
+ return Triple::UnknownArch;
+
+ // TODO: Determine r600/amdgcn architecture based e_flags.
+ return Triple::amdgcn;
case ELF::EM_BPF:
return IsLittleEndian ? Triple::bpfel : Triple::bpfeb;
OpenPOWER on IntegriCloud