[llvm] r314768 - [ObjectYAML] Handle SHF_COMPRESSED
Shoaib Meenai via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 2 23:35:56 PDT 2017
Author: smeenai
Date: Mon Oct 2 23:35:55 2017
New Revision: 314768
URL: http://llvm.org/viewvc/llvm-project?rev=314768&view=rev
Log:
[ObjectYAML] Handle SHF_COMPRESSED
This was previously being silently dropped by obj2yaml and caused
parsing errors with yaml2obj.
Differential Revision: https://reviews.llvm.org/D38490
Added:
llvm/trunk/test/ObjectYAML/ELF/
llvm/trunk/test/ObjectYAML/ELF/shf-compressed.yaml
Modified:
llvm/trunk/lib/ObjectYAML/ELFYAML.cpp
Modified: llvm/trunk/lib/ObjectYAML/ELFYAML.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/ObjectYAML/ELFYAML.cpp?rev=314768&r1=314767&r2=314768&view=diff
==============================================================================
--- llvm/trunk/lib/ObjectYAML/ELFYAML.cpp (original)
+++ llvm/trunk/lib/ObjectYAML/ELFYAML.cpp Mon Oct 2 23:35:55 2017
@@ -450,6 +450,7 @@ void ScalarBitSetTraits<ELFYAML::ELF_SHF
BCase(SHF_OS_NONCONFORMING);
BCase(SHF_GROUP);
BCase(SHF_TLS);
+ BCase(SHF_COMPRESSED);
switch (Object->Header.Machine) {
case ELF::EM_ARM:
BCase(SHF_ARM_PURECODE);
Added: llvm/trunk/test/ObjectYAML/ELF/shf-compressed.yaml
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ObjectYAML/ELF/shf-compressed.yaml?rev=314768&view=auto
==============================================================================
--- llvm/trunk/test/ObjectYAML/ELF/shf-compressed.yaml (added)
+++ llvm/trunk/test/ObjectYAML/ELF/shf-compressed.yaml Mon Oct 2 23:35:55 2017
@@ -0,0 +1,28 @@
+# RUN: yaml2obj %s -o %t
+# RUN: llvm-readobj -sections %t | FileCheck -check-prefix=OBJ %s
+# RUN: obj2yaml %t | FileCheck -check-prefix=YAML %s
+
+--- !ELF
+FileHeader:
+ Class: ELFCLASS32
+ Data: ELFDATA2LSB
+ Type: ET_REL
+ Machine: EM_386
+Sections:
+ - Name: .debug_line
+ Type: SHT_PROGBITS
+ Flags: [ SHF_COMPRESSED ]
+
+# OBJ: Sections [
+# OBJ: Section {
+# OBJ: Index: 1
+# OBJ-NEXT: Name: .debug_line (1)
+# OBJ-NEXT: Type: SHT_PROGBITS (0x1)
+# OBJ-NEXT: Flags [ (0x800)
+# OBJ-NEXT: SHF_COMPRESSED (0x800)
+# OBJ-NEXT: ]
+
+# YAML: Sections:
+# YAML-NEXT: - Name: .debug_line
+# YAML-NEXT: Type: SHT_PROGBITS
+# YAML-NEXT: Flags: [ SHF_COMPRESSED ]
More information about the llvm-commits
mailing list