[lib/ObjectYAML] - Improve and cleanup error reporting in ELFState<ELFT> class.
[llvm-complete.git] / test / tools / yaml2obj / reloc-sec-info.yaml
blobc20536b47ddae3d97fc6f41e76a2221b925abe73
1 # RUN: yaml2obj --docnum=1 %s -o %t1
2 # RUN: llvm-readobj --sections %t1 | FileCheck %s
4 # CHECK:      Name: .rela.text
5 # CHECK-NEXT: Type: SHT_RELA
6 # CHECK-NEXT: Flags [
7 # CHECK-NEXT: ]
8 # CHECK-NEXT: Address:
9 # CHECK-NEXT: Offset:
10 # CHECK-NEXT: Size:
11 # CHECK-NEXT: Link:
12 # CHECK-NEXT: Info: 12345
14 --- !ELF
15 FileHeader:
16   Class:           ELFCLASS64
17   Data:            ELFDATA2LSB
18   Type:            ET_REL
19   Machine:         EM_X86_64
20 Sections:
21   - Name:            .rela.text
22     Type:            SHT_RELA
23     Link:            .symtab
24     Info:            12345
25     Relocations:
27 ## Check we report an error when a relocation section references an unknown section via its Info field.
29 # RUN: not yaml2obj --docnum=2 %s 2>&1 | FileCheck %s --implicit-check-not=error --check-prefix=ERR
31 # ERR: error: unknown section referenced: '.unknown1' by YAML section '.foo'
32 # ERR: error: unknown section referenced: '.unknown2' by YAML section '.bar'
33 # ERR: error: yaml2obj failed
35 --- !ELF
36 FileHeader:
37   Class:   ELFCLASS64
38   Data:    ELFDATA2LSB
39   Type:    ET_REL
40   Machine: EM_X86_64
41 Sections:
42   - Name: .foo
43     Type: SHT_RELA
44     Info: .unknown1
45     Relocations:
46   - Name: .bar
47     Type: SHT_RELA
48     Info: .unknown2
49     Relocations:
50   - Name: .zed
51     Type: SHT_RELA
52     Info: 0xFF
53     Relocations: