[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