1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01:00
llvm-mirror/test/tools/llvm-nm/format-sysv-section.test
Fangrui Song d68dfedd72 [test] Use yaml2obj -o %t instead of > %t
To improve consistency and avoid unneeded shell feature (output
redirection).

While here, make other changes to improve consistency

--docnum 1 => --docnum=1
-docnum=x => --docnum=x
2020-01-21 17:20:18 -08:00

60 lines
1.5 KiB
Plaintext

# RUN: yaml2obj --docnum=1 %s -o %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 -o %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