1## Check how yaml2obj handles retain (SHF_GNU_RETAIN and 2## SHF_SUNW_NODISCARD) section flags. 3 4# RUN: yaml2obj --docnum=1 %s -o %t1 5# RUN: llvm-readobj --sections %t1 | FileCheck %s --check-prefix=GNU 6 7# GNU: Name: .gnu.retain 8# GNU-NEXT: Type: SHT_PROGBITS (0x1) 9# GNU-NEXT: Flags [ (0x200000) 10# GNU-NEXT: SHF_GNU_RETAIN (0x200000) 11# GNU-NEXT: ] 12 13--- !ELF 14FileHeader: 15 Class: ELFCLASS64 16 Data: ELFDATA2LSB 17 Type: ET_REL 18Sections: 19 - Name: .gnu.retain 20 Type: SHT_PROGBITS 21 Flags: [ SHF_GNU_RETAIN ] 22 23# RUN: yaml2obj --docnum=2 %s -o %t2 24# RUN: llvm-readobj --sections %t2 | FileCheck %s --check-prefix=SOLARIS 25 26# SOLARIS: Name: .sunw.nodiscard 27# SOLARIS-NEXT: Type: SHT_PROGBITS (0x1) 28# SOLARIS-NEXT: Flags [ (0x100000) 29# SOLARIS-NEXT: SHF_SUNW_NODISCARD (0x100000) 30# SOLARIS-NEXT: ] 31 32--- !ELF 33FileHeader: 34 Class: ELFCLASS64 35 Data: ELFDATA2LSB 36 OSABI: ELFOSABI_SOLARIS 37 Type: ET_REL 38Sections: 39 - Name: .sunw.nodiscard 40 Type: SHT_PROGBITS 41 Flags: [ SHF_SUNW_NODISCARD ] 42 43# RUN: not yaml2obj --docnum=3 %s 2>&1 | \ 44# RUN: FileCheck %s --check-prefix=SOLARIS-GNU-ERR 45 46# SOLARIS-GNU-ERR: error: unknown bit value 47# SOLARIS-GNU-ERR-NEXT: Flags: [ SHF_GNU_RETAIN ] 48 49--- !ELF 50FileHeader: 51 Class: ELFCLASS64 52 Data: ELFDATA2LSB 53 OSABI: ELFOSABI_SOLARIS 54 Type: ET_REL 55Sections: 56 - Name: .sunw.retain 57 Type: SHT_PROGBITS 58 Flags: [ SHF_GNU_RETAIN ] 59 60# RUN: not yaml2obj --docnum=4 %s 2>&1 | \ 61# RUN: FileCheck %s --check-prefix=GNU-SOLARIS-ERR 62 63# GNU-SOLARIS-ERR: error: unknown bit value 64# GNU-SOLARIS-ERR-NEXT: Flags: [ SHF_SUNW_NODISCARD ] 65 66--- !ELF 67FileHeader: 68 Class: ELFCLASS64 69 Data: ELFDATA2LSB 70 Type: ET_REL 71Sections: 72 - Name: .gnu.nodiscard 73 Type: SHT_PROGBITS 74 Flags: [ SHF_SUNW_NODISCARD ] 75