Files
llvm/test/tools/llvm-readobj/check-output-order.test
T
George Rimar 38d4353156 [yaml2obj][obj2yaml] - Do not create a symbol table by default.
This patch tries to resolve problems faced in D68943
and uses some of the code written by Konrad Wilhelm Kleine
in that patch.

Previously, yaml2obj tool always created a .symtab section.
This patch changes that. With it we only create it when
have a "Symbols:" tag in the YAML document or when
we need to create it because it is used by another section(s).

obj2yaml follows the new behavior and does not print "Symbols:"
anymore when there is no symbol table.

Differential revision: https://reviews.llvm.org/D69041

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@375361 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-20 14:47:17 +00:00

47 lines
1.4 KiB
Plaintext

## This test checks that `--all --needed-libs` output is the same as the
## printing order in code. One common reason the output could become
## out-of-order is when more than one stream are printing at the same time.
## https://bugs.llvm.org/show_bug.cgi?id=42140
# RUN: yaml2obj %s -o %t
# RUN: llvm-readelf --all --needed-libs %t | FileCheck %s
# CHECK: ELF Header
# CHECK: Section header string table index
# CHECK: There are 5 section headers, starting at offset
# CHECK: Section Headers:
# CHECK: O (extra OS processing required) o (OS specific), p (processor specific)
# CHECK: There are no relocations in this file.
# CHECK: Symbol table '.symtab' contains 1 entries
# CHECK: 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND
# CHECK: Dynamic section at offset
# CHECK: 0x0000000000000000 (NULL) 0x0
# CHECK: NeededLibraries [
# CHECK: ]
# CHECK: Elf file type is DYN (Shared object file)
# CHECK: Entry point 0x0
# CHECK: There are 1 program headers, starting at offset 64
# CHECK: DYNAMIC
# CHECK: Section to Segment mapping:
# CHECK: None .symtab .strtab .shstrtab
# CHECK: There are no section groups in this file.
--- !ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
Type: ET_DYN
Machine: EM_X86_64
Sections:
- Name: .dynamic
Type: SHT_DYNAMIC
Entries:
- Tag: DT_NULL
Value: 0
Symbols: []
ProgramHeaders:
- Type: PT_DYNAMIC
Sections:
- Section: .dynamic