| # RUN: yaml2obj --docnum=1 %s -o %t1 |
| # RUN: llvm-readobj --sections %t1 | FileCheck %s |
| |
| # CHECK: Name: .rela.text |
| # CHECK-NEXT: Type: SHT_RELA |
| # CHECK-NEXT: Flags [ |
| # CHECK-NEXT: ] |
| # CHECK-NEXT: Address: |
| # CHECK-NEXT: Offset: |
| # CHECK-NEXT: Size: |
| # CHECK-NEXT: Link: |
| # CHECK-NEXT: Info: 12345 |
| |
| --- !ELF |
| FileHeader: |
| Class: ELFCLASS64 |
| Data: ELFDATA2LSB |
| Type: ET_REL |
| Machine: EM_X86_64 |
| Sections: |
| - Name: .rela.text |
| Type: SHT_RELA |
| Link: .symtab |
| Info: 12345 |
| Relocations: |
| |
| ## Check we report an error when a relocation section references an unknown section via its Info field. |
| |
| # RUN: not yaml2obj --docnum=2 %s 2>&1 | FileCheck %s --implicit-check-not=error --check-prefix=ERR |
| |
| # ERR: error: unknown section referenced: '.unknown1' by YAML section '.foo' |
| # ERR: error: unknown section referenced: '.unknown2' by YAML section '.bar' |
| |
| --- !ELF |
| FileHeader: |
| Class: ELFCLASS64 |
| Data: ELFDATA2LSB |
| Type: ET_REL |
| Machine: EM_X86_64 |
| Sections: |
| - Name: .foo |
| Type: SHT_RELA |
| Info: .unknown1 |
| Relocations: |
| - Name: .bar |
| Type: SHT_RELA |
| Info: .unknown2 |
| Relocations: |
| - Name: .zed |
| Type: SHT_RELA |
| Info: 0xFF |
| Relocations: |