forked from OSchip/llvm-project
ELFYAML: Add support for parsing AMDGPU section attribute flags
Reviewers: silvas Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D14444 llvm-svn: 253052
This commit is contained in:
parent
c038e2db4d
commit
f9f5f12ce7
|
@ -402,6 +402,7 @@ void ScalarEnumerationTraits<ELFYAML::ELF_SHT>::enumeration(
|
||||||
|
|
||||||
void ScalarBitSetTraits<ELFYAML::ELF_SHF>::bitset(IO &IO,
|
void ScalarBitSetTraits<ELFYAML::ELF_SHF>::bitset(IO &IO,
|
||||||
ELFYAML::ELF_SHF &Value) {
|
ELFYAML::ELF_SHF &Value) {
|
||||||
|
const auto *Object = static_cast<ELFYAML::Object *>(IO.getContext());
|
||||||
#define BCase(X) IO.bitSetCase(Value, #X, ELF::X);
|
#define BCase(X) IO.bitSetCase(Value, #X, ELF::X);
|
||||||
BCase(SHF_WRITE)
|
BCase(SHF_WRITE)
|
||||||
BCase(SHF_ALLOC)
|
BCase(SHF_ALLOC)
|
||||||
|
@ -414,6 +415,17 @@ void ScalarBitSetTraits<ELFYAML::ELF_SHF>::bitset(IO &IO,
|
||||||
BCase(SHF_OS_NONCONFORMING)
|
BCase(SHF_OS_NONCONFORMING)
|
||||||
BCase(SHF_GROUP)
|
BCase(SHF_GROUP)
|
||||||
BCase(SHF_TLS)
|
BCase(SHF_TLS)
|
||||||
|
switch(Object->Header.Machine) {
|
||||||
|
case ELF::EM_AMDGPU:
|
||||||
|
BCase(SHF_AMDGPU_HSA_GLOBAL)
|
||||||
|
BCase(SHF_AMDGPU_HSA_READONLY)
|
||||||
|
BCase(SHF_AMDGPU_HSA_CODE)
|
||||||
|
BCase(SHF_AMDGPU_HSA_AGENT)
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
// Nothing to do.
|
||||||
|
break;
|
||||||
|
}
|
||||||
#undef BCase
|
#undef BCase
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,16 @@
|
||||||
# RUN: yaml2obj -format=elf %s > %t.o
|
# RUN: yaml2obj -format=elf %s > %t.o
|
||||||
# RUN: llvm-readobj -file-headers %t.o | FileCheck %s
|
# RUN: llvm-readobj -s -file-headers %t.o | FileCheck %s
|
||||||
|
|
||||||
# CHECK: Machine: EM_AMDGPU (0xE0)
|
# CHECK: Machine: EM_AMDGPU (0xE0)
|
||||||
|
# CHECK: Sections [
|
||||||
|
# CHECK: Section {
|
||||||
|
# CHECK: Name: .shf_amdgpu
|
||||||
|
# CHECK: Flags [ (0xF00000)
|
||||||
|
# CHECK: SHF_AMDGPU_HSA_AGENT (0x800000)
|
||||||
|
# CHECK: SHF_AMDGPU_HSA_CODE (0x400000)
|
||||||
|
# CHECK: SHF_AMDGPU_HSA_GLOBAL (0x100000)
|
||||||
|
# CHECK: SHF_AMDGPU_HSA_READONLY (0x200000)
|
||||||
|
# CHECK: }
|
||||||
|
|
||||||
---
|
---
|
||||||
FileHeader:
|
FileHeader:
|
||||||
|
@ -9,4 +18,10 @@ FileHeader:
|
||||||
Data: ELFDATA2LSB
|
Data: ELFDATA2LSB
|
||||||
Type: ET_REL
|
Type: ET_REL
|
||||||
Machine: EM_AMDGPU
|
Machine: EM_AMDGPU
|
||||||
|
|
||||||
|
Sections:
|
||||||
|
- Name: .shf_amdgpu
|
||||||
|
Type: SHT_PROGBITS
|
||||||
|
Flags: [ SHF_AMDGPU_HSA_GLOBAL, SHF_AMDGPU_HSA_READONLY,
|
||||||
|
SHF_AMDGPU_HSA_CODE, SHF_AMDGPU_HSA_AGENT]
|
||||||
...
|
...
|
||||||
|
|
Loading…
Reference in New Issue