75 lines · yaml
1## Check how yaml2obj handles retain (SHF_GNU_RETAIN and2## SHF_SUNW_NODISCARD) section flags.3 4# RUN: yaml2obj --docnum=1 %s -o %t15# RUN: llvm-readobj --sections %t1 | FileCheck %s --check-prefix=GNU6 7# GNU: Name: .gnu.retain8# GNU-NEXT: Type: SHT_PROGBITS (0x1)9# GNU-NEXT: Flags [ (0x200000)10# GNU-NEXT: SHF_GNU_RETAIN (0x200000)11# GNU-NEXT: ]12 13--- !ELF14FileHeader:15 Class: ELFCLASS6416 Data: ELFDATA2LSB17 Type: ET_REL18Sections:19 - Name: .gnu.retain20 Type: SHT_PROGBITS21 Flags: [ SHF_GNU_RETAIN ]22 23# RUN: yaml2obj --docnum=2 %s -o %t224# RUN: llvm-readobj --sections %t2 | FileCheck %s --check-prefix=SOLARIS25 26# SOLARIS: Name: .sunw.nodiscard27# SOLARIS-NEXT: Type: SHT_PROGBITS (0x1)28# SOLARIS-NEXT: Flags [ (0x100000)29# SOLARIS-NEXT: SHF_SUNW_NODISCARD (0x100000)30# SOLARIS-NEXT: ]31 32--- !ELF33FileHeader:34 Class: ELFCLASS6435 Data: ELFDATA2LSB36 OSABI: ELFOSABI_SOLARIS37 Type: ET_REL38Sections:39 - Name: .sunw.nodiscard40 Type: SHT_PROGBITS41 Flags: [ SHF_SUNW_NODISCARD ]42 43# RUN: not yaml2obj --docnum=3 %s 2>&1 | \44# RUN: FileCheck %s --check-prefix=SOLARIS-GNU-ERR45 46# SOLARIS-GNU-ERR: error: unknown bit value47# SOLARIS-GNU-ERR-NEXT: Flags: [ SHF_GNU_RETAIN ]48 49--- !ELF50FileHeader:51 Class: ELFCLASS6452 Data: ELFDATA2LSB53 OSABI: ELFOSABI_SOLARIS54 Type: ET_REL55Sections:56 - Name: .sunw.retain57 Type: SHT_PROGBITS58 Flags: [ SHF_GNU_RETAIN ]59 60# RUN: not yaml2obj --docnum=4 %s 2>&1 | \61# RUN: FileCheck %s --check-prefix=GNU-SOLARIS-ERR62 63# GNU-SOLARIS-ERR: error: unknown bit value64# GNU-SOLARIS-ERR-NEXT: Flags: [ SHF_SUNW_NODISCARD ]65 66--- !ELF67FileHeader:68 Class: ELFCLASS6469 Data: ELFDATA2LSB70 Type: ET_REL71Sections:72 - Name: .gnu.nodiscard73 Type: SHT_PROGBITS74 Flags: [ SHF_SUNW_NODISCARD ]75