[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

llvm-svn: 314768
This commit is contained in:
Shoaib Meenai 2017-10-03 06:35:55 +00:00
parent 1e54738676
commit 4fefcd6dad
2 changed files with 29 additions and 0 deletions

View File

@ -450,6 +450,7 @@ void ScalarBitSetTraits<ELFYAML::ELF_SHF>::bitset(IO &IO,
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);

View File

@ -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 ]