1# RUN: llvm-nm -D %p/Inputs/shared-object-test.elf-i386 \
2# RUN:         | FileCheck %s -check-prefix ELF-32
3# RUN: llvm-nm --dynamic %p/Inputs/shared-object-test.elf-i386 \
4# RUN:         | FileCheck %s -check-prefix ELF-32
5
6# ELF-32-NOT: U
7# ELF-32: 000012c8 A __bss_start
8# ELF-32: 000012c8 A _edata
9# ELF-32: 000012cc A _end
10# ELF-32: 000012c8 B common_sym
11# ELF-32: 000012c4 D defined_sym
12# ELF-32: 000001f0 T global_func
13# ELF-32: 00000000 D tls_sym
14
15# RUN: llvm-nm -D %p/Inputs/shared-object-test.elf-x86-64 \
16# RUN:         | FileCheck %s -check-prefix ELF-64
17# RUN: llvm-nm --dynamic %p/Inputs/shared-object-test.elf-x86-64 \
18# RUN:         | FileCheck %s -check-prefix ELF-64
19
20# ELF-64-NOT: U
21# ELF-64: 0000000000200454 A __bss_start
22# ELF-64: 0000000000200454 A _edata
23# ELF-64: 0000000000200458 A _end
24# ELF-64: 0000000000200454 B common_sym
25# ELF-64: 0000000000200450 D defined_sym
26# ELF-64: 00000000000002f0 T global_func
27# ELF-64: 0000000000000000 D tls_sym
28
29# RUN: not llvm-nm -D %p/Inputs/weak-global-symbol.macho-i386 2>&1 \
30# RUN:         | FileCheck %s -check-prefix ERROR
31
32# RUN: not llvm-nm -D %p/Inputs/trivial-object-test.coff-i386 2>&1 \
33# RUN:         | FileCheck %s -check-prefix ERROR
34
35# ERROR: File format has no dynamic symbol table.
36
37# RUN: yaml2obj %s -o %t.elf-i386
38# RUN: llvm-nm -D %t.elf-i386 2>&1 | FileCheck %s -check-prefix=NO-SYMBOLS
39
40# NO-SYMBOLS: no symbols
41
42--- !ELF
43FileHeader:
44  Class:   ELFCLASS32
45  Data:    ELFDATA2LSB
46  Type:    ET_REL
47  Machine: EM_386
48Symbols:
49  - Name:    foo
50    Binding: STB_GLOBAL
51