yaml2obj used to require the Symbol field in relocations, but it hasn't done so for a couple of years. Another change to yaml2obj will soon land that will look up the symbol by name or index, if present, and emit an error if not found. This will mean that an explicit symbol reference (even to an empty-named symbol) that does not reference a symbol declared in the yaml will result in an error. This patch updates tests that would otherwise start emitting errors. Reviewed by: ruiu, grimar Differential Revision: https://reviews.llvm.org/D58508 llvm-svn: 354666
76 lines
2.4 KiB
Plaintext
76 lines
2.4 KiB
Plaintext
# REQUIRES: x86
|
|
# RUN: yaml2obj %s -o %t.o
|
|
# RUN: not ld.lld %t.o -o /dev/null 2>&1 | FileCheck %s
|
|
|
|
# The debug info has a broken relocation. Check that we don't crash
|
|
# and still report the undefined symbol.
|
|
|
|
# CHECK: error: {{.*}}.o: relocation R_X86_64_64 at 0x29 has unsupported target
|
|
# CHECK: error: undefined symbol: bar
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
Machine: EM_X86_64
|
|
Sections:
|
|
- Name: .text
|
|
Type: SHT_PROGBITS
|
|
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
|
|
Content: '0000000000000000'
|
|
- Name: .rela.text
|
|
Type: SHT_RELA
|
|
AddressAlign: 8
|
|
Link: .symtab
|
|
Info: .text
|
|
Relocations:
|
|
- Offset: 0x0000000000000000
|
|
Symbol: bar
|
|
Type: R_X86_64_64
|
|
- Name: .debug_line
|
|
Type: SHT_PROGBITS
|
|
Content: 3300000002001C0000000101FB0E0D000101010100000001000001006162632E7300000000000009020000000000000000140208000101
|
|
- Name: .rela.debug_line
|
|
AddressAlign: 8
|
|
Type: SHT_RELA
|
|
Link: .symtab
|
|
Info: .debug_line
|
|
Relocations:
|
|
- Offset: 0x0000000000000029
|
|
Symbol: bar
|
|
Type: R_X86_64_64
|
|
- Name: .debug_info
|
|
Type: SHT_PROGBITS
|
|
AddressAlign: 0x0000000000000001
|
|
Content: 0C000000040000000000080100000000
|
|
- Name: .rela.debug_info
|
|
Type: SHT_RELA
|
|
Link: .symtab
|
|
AddressAlign: 0x0000000000000008
|
|
Info: .debug_info
|
|
Relocations:
|
|
- Offset: 0x0000000000000006
|
|
Symbol: .debug_abbrev
|
|
Type: R_X86_64_32
|
|
- Offset: 0x000000000000000C
|
|
Symbol: .debug_line
|
|
Type: R_X86_64_32
|
|
- Name: .debug_abbrev
|
|
Type: SHT_PROGBITS
|
|
AddressAlign: 0x0000000000000001
|
|
Content: '0111001017000000'
|
|
|
|
Symbols:
|
|
Local:
|
|
- Name: .debug_abbrev
|
|
Type: STT_SECTION
|
|
Section: .debug_abbrev
|
|
- Name: .debug_line
|
|
Type: STT_SECTION
|
|
Section: .debug_line
|
|
Global:
|
|
- Name: _start
|
|
Section: .text
|
|
- Name: bar
|