llvm-6502/test/Object/nm-shared-object.test
Kevin Enderby ae417592a5 Fix llvm-nm to print the full 64-bit address for symbols in 64-bit object files.
The implementation might be better to have a method is64Bit() in the class
SymbolicFile instead of having the static routine isSymbolList64Bit() in
llvm-nm.cpp .  But this is very much in the sprit of isObject() and
getNMTypeChar() in llvm-nm.cpp that has a series of if else statements
based on the specific class of the SymbolicFile.  I can update this if
folks would like.

Also the tests were updated to be explicit about checking the address for
64-bits or 32-bits from object files.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208463 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-09 23:57:49 +00:00

32 lines
980 B
Plaintext

RUN: llvm-nm -D %p/Inputs/shared-object-test.elf-i386 \
RUN: | FileCheck %s -check-prefix ELF-32
ELF-32-NOT: U
ELF-32: 000012c8 A __bss_start
ELF-32: 000012c8 A _edata
ELF-32: 000012cc A _end
ELF-32: 000012c8 B common_sym
ELF-32: 000012c4 D defined_sym
ELF-32: 000001f0 T global_func
ELF-32: 00000000 D tls_sym
RUN: llvm-nm -D %p/Inputs/shared-object-test.elf-x86-64 \
RUN: | FileCheck %s -check-prefix ELF-64
ELF-64-NOT: U
ELF-64: 0000000000200454 A __bss_start
ELF-64: 0000000000200454 A _edata
ELF-64: 0000000000200458 A _end
ELF-64: 0000000000200454 B common_sym
ELF-64: 0000000000200450 D defined_sym
ELF-64: 00000000000002f0 T global_func
ELF-64: 0000000000000000 D tls_sym
RUN: not llvm-nm -D %p/Inputs/weak-global-symbol.macho-i386 2>&1 \
RUN: | FileCheck %s -check-prefix ERROR
RUN: not llvm-nm -D %p/Inputs/trivial-object-test.coff-i386 2>&1 \
RUN: | FileCheck %s -check-prefix ERROR
ERROR: File format has no dynamic symbol table.