Files
clang-p2996/lld/test/ELF/undef-broken-debug.test
James Henderson 0cc32dd4a1 [ELF][test]Remove unnecessary empty symbol references in yaml/add missing symbols for relocs
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
2019-02-22 11:22:39 +00:00

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