[llvm] r253052 - ELFYAML: Add support for parsing AMDGPU section attribute flags
Tom Stellard via llvm-commits
llvm-commits at lists.llvm.org
Fri Nov 13 09:06:30 PST 2015
Author: tstellar
Date: Fri Nov 13 11:06:29 2015
New Revision: 253052
URL: http://llvm.org/viewvc/llvm-project?rev=253052&view=rev
Log:
ELFYAML: Add support for parsing AMDGPU section attribute flags
Reviewers: silvas
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D14444
Modified:
llvm/trunk/lib/Object/ELFYAML.cpp
llvm/trunk/test/Object/AMDGPU/elf-definitios.yaml
Modified: llvm/trunk/lib/Object/ELFYAML.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Object/ELFYAML.cpp?rev=253052&r1=253051&r2=253052&view=diff
==============================================================================
--- llvm/trunk/lib/Object/ELFYAML.cpp (original)
+++ llvm/trunk/lib/Object/ELFYAML.cpp Fri Nov 13 11:06:29 2015
@@ -402,6 +402,7 @@ void ScalarEnumerationTraits<ELFYAML::EL
void ScalarBitSetTraits<ELFYAML::ELF_SHF>::bitset(IO &IO,
ELFYAML::ELF_SHF &Value) {
+ const auto *Object = static_cast<ELFYAML::Object *>(IO.getContext());
#define BCase(X) IO.bitSetCase(Value, #X, ELF::X);
BCase(SHF_WRITE)
BCase(SHF_ALLOC)
@@ -414,6 +415,17 @@ void ScalarBitSetTraits<ELFYAML::ELF_SHF
BCase(SHF_OS_NONCONFORMING)
BCase(SHF_GROUP)
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
}
Modified: llvm/trunk/test/Object/AMDGPU/elf-definitios.yaml
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Object/AMDGPU/elf-definitios.yaml?rev=253052&r1=253051&r2=253052&view=diff
==============================================================================
--- llvm/trunk/test/Object/AMDGPU/elf-definitios.yaml (original)
+++ llvm/trunk/test/Object/AMDGPU/elf-definitios.yaml Fri Nov 13 11:06:29 2015
@@ -1,7 +1,16 @@
# 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: 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:
@@ -9,4 +18,10 @@ FileHeader:
Data: ELFDATA2LSB
Type: ET_REL
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]
...
More information about the llvm-commits
mailing list