| # RUN: yaml2obj %s -o %t |
| # RUN: not llvm-objcopy %t %t2 2>&1 | FileCheck %s |
| # CHECK: error: invalid alignment 1 of group section '.group' |
| |
| # In this test, we check that llvm-objcopy reports an error |
| # for SHT_GROUP section with invalid alignment (not a multiple of 4). |
| |
| --- !ELF |
| FileHeader: |
| Class: ELFCLASS64 |
| Data: ELFDATA2LSB |
| Type: ET_REL |
| Machine: EM_X86_64 |
| Sections: |
| ## It is not important for passing the test case to have this placeholder, |
| ## but having it would trigger ubsan failure when writing the group section |
| ## into a file if the error tested would not be reported by llvm-objcopy. |
| - Name: .placeholder |
| Type: SHT_PROGBITS |
| Flags: [ SHF_ALLOC, SHF_EXECINSTR ] |
| AddressAlign: 0x0000000000000001 |
| Content: "00" |
| - Name: .group |
| Type: SHT_GROUP |
| Link: .symtab |
| AddressAlign: 0x0000000000000001 |
| Info: foo |
| Members: |
| - SectionOrType: GRP_COMDAT |
| - SectionOrType: .text.foo |
| - Name: .text.foo |
| Type: SHT_PROGBITS |
| Flags: [ SHF_ALLOC, SHF_EXECINSTR, SHF_GROUP ] |
| AddressAlign: 0x0000000000000001 |
| Symbols: |
| - Name: foo |
| Section: .group |