summaryrefslogtreecommitdiffstats
path: root/llvm/test/tools/llvm-readobj/ELF/check-output-order.test
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/tools/llvm-readobj/ELF/check-output-order.test')
-rw-r--r--llvm/test/tools/llvm-readobj/ELF/check-output-order.test46
1 files changed, 46 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-readobj/ELF/check-output-order.test b/llvm/test/tools/llvm-readobj/ELF/check-output-order.test
new file mode 100644
index 00000000000..36fce3ac642
--- /dev/null
+++ b/llvm/test/tools/llvm-readobj/ELF/check-output-order.test
@@ -0,0 +1,46 @@
+## 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
OpenPOWER on IntegriCloud