Fix: add a 'consumeError()' call to ObjectFile.cpp. This error was never checked. Original commit message: It adds a test case for a problem fixed by D66976 <https://reviews.llvm.org/D66976>. It was introduced by me in D66089 <https://reviews.llvm.org/D66089>. The error reported was never consumed because of a wrong variable name used, so it could fail when LLVM_ENABLE_ABI_BREAKING_CHECKS is used. Differential revision: https://reviews.llvm.org/D67002 llvm-svn: 370669
60 lines
1.5 KiB
Plaintext
60 lines
1.5 KiB
Plaintext
# RUN: yaml2obj --docnum=1 %s > %t1.o
|
|
# RUN: llvm-nm %t1.o --format=sysv | FileCheck %s
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
Machine: EM_X86_64
|
|
Sections:
|
|
- Name: .text
|
|
Type: SHT_PROGBITS
|
|
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
|
|
Symbols:
|
|
- Name: symbol_undefined
|
|
- Name: symbol
|
|
Section: .text
|
|
- Name: symbol_common
|
|
Index: SHN_COMMON
|
|
- Name: symbol_absolute
|
|
Index: SHN_ABS
|
|
- Name: proc
|
|
Index: 0xff01
|
|
- Name: os
|
|
Index: 0xff21
|
|
- Name: reserved
|
|
Index: 0xfffe
|
|
|
|
# CHECK: os {{.*}}|
|
|
# CHECK-NEXT: proc {{.*}}|
|
|
# CHECK-NEXT: reserved {{.*}}|
|
|
# CHECK-NEXT: symbol {{.*}}| |.text
|
|
# CHECK-NEXT: symbol_absolute {{.*}}| |*ABS*
|
|
# CHECK-NEXT: symbol_common {{.*}}| |*COM*
|
|
# CHECK-NEXT: symbol_undefined {{.*}}| |*UND*
|
|
|
|
## Here we have a symbol that belongs to a section with a broken name
|
|
## (sh_name offset goes past the end of the sections name string table).
|
|
## We test that we can still print a reasonable output and don't crash/assert.
|
|
|
|
# RUN: yaml2obj --docnum=2 %s > %t2.o
|
|
# RUN: llvm-nm %t2.o --format=sysv | FileCheck %s --check-prefix=ERR
|
|
|
|
# ERR: foo |0000000000000000| ? | NOTYPE|0000000000000000| |
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
Machine: EM_X86_64
|
|
Sections:
|
|
- Name: .broken
|
|
Type: SHT_PROGBITS
|
|
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
|
|
ShName: 0xffff
|
|
Symbols:
|
|
- Name: foo
|
|
Section: .broken
|