Files
clang-p2996/llvm/test/tools/yaml2obj/ELF/relocation-missing-symbol.yaml
Georgii Rymar e4ceb8f421 [lib/ObjectYAML] - Make ELFYAML::Relocation::Offset optional.
Currently `yaml2obj` require `Offset` field in a relocation description.
There are many cases when `Offset` is insignificant in a context of a test case.

Making `Offset` optional allows to simplify our test cases.
This is what this patch does.

Also, with this patch `obj2yaml` does not dump a zero offset of a relocation.

Differential revision: https://reviews.llvm.org/D75608
2020-03-06 13:59:58 +03:00

29 lines
746 B
YAML

## Show that yaml2obj rejects a symbol reference from a relocation if the symbol
## does not exist.
# RUN: not yaml2obj %s -o %t 2>&1 | FileCheck %s
## Check we are able to report multiple errors.
# CHECK: error: unknown symbol referenced: 'does_not_exist1' by YAML section '.rela.text'
# CHECK: error: unknown symbol referenced: 'does_not_exist2' by YAML section '.rela.text'
--- !ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
Type: ET_REL
Machine: EM_X86_64
Sections:
- Name: .text
Type: SHT_PROGBITS
- Name: .rela.text
Type: SHT_RELA
Info: .text
Link: .symtab
Relocations:
- Type: R_X86_64_PC32
Symbol: does_not_exist1
- Type: R_X86_64_PC32
Symbol: does_not_exist2