diff options
Diffstat (limited to 'llvm/test/tools/llvm-nm/elf-extern-only.test')
-rw-r--r-- | llvm/test/tools/llvm-nm/elf-extern-only.test | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-nm/elf-extern-only.test b/llvm/test/tools/llvm-nm/elf-extern-only.test new file mode 100644 index 00000000000..d8bbd664acc --- /dev/null +++ b/llvm/test/tools/llvm-nm/elf-extern-only.test @@ -0,0 +1,49 @@ +## Test that the --extern-only switch only shows external ELF symbols. + +# RUN: yaml2obj %s -o %t.o +# RUN: llvm-nm %t.o --extern-only --no-sort | FileCheck %s +# RUN: llvm-nm %t.o -g --no-sort | FileCheck %s + +## Using --no-sort ensures that the symbols appear in the symbol table order +## allowing our CHECK-NOTs to work as expected. +# CHECK-NOT: local +# CHECK: D global_data_symbol +# CHECK-NEXT: T global_function_symbol +# CHECK-NEXT: U undefined +# CHECK-NEXT: W weak_symbol +# CHECK-NOT: local + +--- !ELF +FileHeader: + Class: ELFCLASS32 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_386 +Sections: + - Name: .text + Type: SHT_PROGBITS + Flags: [SHF_ALLOC, SHF_EXECINSTR] + - Name: .data + Type: SHT_PROGBITS + Flags: [SHF_ALLOC, SHF_WRITE] +Symbols: + - Name: local_function_symbol + Binding: STB_LOCAL + Section: .text + - Name: local_data_symbol + Binding: STB_LOCAL + Section: .data + - Name: global_data_symbol + Binding: STB_GLOBAL + Section: .data + - Name: global_function_symbol + Binding: STB_GLOBAL + Section: .text + - Name: undefined + Binding: STB_GLOBAL + - Name: weak_symbol + Binding: STB_WEAK + Section: .data + - Name: local_at_end + Binding: STB_LOCAL + Section: .text |