Update MachOObjectFile::getSymbolAddress so it returns UnknownAddressOrSize

for undefined symbols, so it matches what COFFObjectFile::getSymbolAddress
does.  This allows llvm-nm to print spaces instead of 0’s for the value
of undefined symbols in Mach-O files.

To make this change other uses of MachOObjectFile::getSymbolAddress
are updated to handle when the Value is returned as UnknownAddressOrSize.
Which is needed to keep two of the ExecutionEngine tests working for example.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209253 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Kevin Enderby
2014-05-20 23:04:47 +00:00
parent acf621545d
commit b38059ab25
3 changed files with 22 additions and 8 deletions
+4 -4
View File
@@ -55,14 +55,14 @@ WEAK-ELF64: 0000000000000000 V x2
ABSOLUTE-ELF64: 0000000000000123 a a1
ABSOLUTE-ELF64: 0000000000000123 A a2
macho: 00000000 U _SomeOtherFunction
macho: U _SomeOtherFunction
macho: 00000000 T _main
macho: 00000000 U _puts
macho: U _puts
macho64: 0000000000000028 s L_.str
macho64: 0000000000000000 U _SomeOtherFunction
macho64: U _SomeOtherFunction
macho64: 0000000000000000 T _main
macho64: 0000000000000000 U _puts
macho64: U _puts
Test that nm uses addresses even with ELF .o files.
+1 -1
View File
@@ -13,7 +13,7 @@ CHECK-AR: 0000000000000068 s EH_frame0
CHECK-AR: 000000000000003b s L_.str
CHECK-AR: 0000000000000000 T _main
CHECK-AR: 0000000000000080 S _main.eh
CHECK-AR: 0000000000000000 U _printf
CHECK-AR: U _printf
CHECK-AR: macho-universal-archive.x86_64.i386:i386:foo.o:
CHECK-AR: 00000008 S _bar
CHECK-AR: 00000000 T _foo