diff options
| author | Konstantin Zhuravlyov <kzhuravl_dev@outlook.com> | 2017-10-03 20:54:07 +0000 |
|---|---|---|
| committer | Konstantin Zhuravlyov <kzhuravl_dev@outlook.com> | 2017-10-03 20:54:07 +0000 |
| commit | a952b44ed5d5db77bcc8a6d8b399cb713695914a (patch) | |
| tree | a9fe05abf6c2a23203278e072d04cf3da49dc4ad /llvm/include | |
| parent | a215e7cbe82c5ea10c6e87b3129670b0bcae6172 (diff) | |
| download | bcm5719-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.h | 3 | ||||
| -rw-r--r-- | llvm/include/llvm/Object/ELFObjectFile.h | 15 |
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; |

