| ## Check how yaml2obj handles retain (SHF_GNU_RETAIN and |
| ## SHF_SUNW_NODISCARD) section flags. |
| |
| # RUN: yaml2obj --docnum=1 %s -o %t1 |
| # RUN: llvm-readobj --sections %t1 | FileCheck %s --check-prefix=GNU |
| |
| # GNU: Name: .gnu.retain |
| # GNU-NEXT: Type: SHT_PROGBITS (0x1) |
| # GNU-NEXT: Flags [ (0x200000) |
| # GNU-NEXT: SHF_GNU_RETAIN (0x200000) |
| # GNU-NEXT: ] |
| |
| --- !ELF |
| FileHeader: |
| Class: ELFCLASS64 |
| Data: ELFDATA2LSB |
| Type: ET_REL |
| Sections: |
| - Name: .gnu.retain |
| Type: SHT_PROGBITS |
| Flags: [ SHF_GNU_RETAIN ] |
| |
| # RUN: yaml2obj --docnum=2 %s -o %t2 |
| # RUN: llvm-readobj --sections %t2 | FileCheck %s --check-prefix=SOLARIS |
| |
| # SOLARIS: Name: .sunw.nodiscard |
| # SOLARIS-NEXT: Type: SHT_PROGBITS (0x1) |
| # SOLARIS-NEXT: Flags [ (0x100000) |
| # SOLARIS-NEXT: SHF_SUNW_NODISCARD (0x100000) |
| # SOLARIS-NEXT: ] |
| |
| --- !ELF |
| FileHeader: |
| Class: ELFCLASS64 |
| Data: ELFDATA2LSB |
| OSABI: ELFOSABI_SOLARIS |
| Type: ET_REL |
| Sections: |
| - Name: .sunw.nodiscard |
| Type: SHT_PROGBITS |
| Flags: [ SHF_SUNW_NODISCARD ] |
| |
| # RUN: not yaml2obj --docnum=3 %s 2>&1 | \ |
| # RUN: FileCheck %s --check-prefix=SOLARIS-GNU-ERR |
| |
| # SOLARIS-GNU-ERR: error: unknown bit value |
| # SOLARIS-GNU-ERR-NEXT: Flags: [ SHF_GNU_RETAIN ] |
| |
| --- !ELF |
| FileHeader: |
| Class: ELFCLASS64 |
| Data: ELFDATA2LSB |
| OSABI: ELFOSABI_SOLARIS |
| Type: ET_REL |
| Sections: |
| - Name: .sunw.retain |
| Type: SHT_PROGBITS |
| Flags: [ SHF_GNU_RETAIN ] |
| |
| # RUN: not yaml2obj --docnum=4 %s 2>&1 | \ |
| # RUN: FileCheck %s --check-prefix=GNU-SOLARIS-ERR |
| |
| # GNU-SOLARIS-ERR: error: unknown bit value |
| # GNU-SOLARIS-ERR-NEXT: Flags: [ SHF_SUNW_NODISCARD ] |
| |
| --- !ELF |
| FileHeader: |
| Class: ELFCLASS64 |
| Data: ELFDATA2LSB |
| Type: ET_REL |
| Sections: |
| - Name: .gnu.nodiscard |
| Type: SHT_PROGBITS |
| Flags: [ SHF_SUNW_NODISCARD ] |