Fix getRelocationValueString to return the symbol name for EM_386.
authorJan Wen Voung <jvoung@google.com>
Wed, 29 Oct 2014 18:37:13 +0000 (18:37 +0000)
committerJan Wen Voung <jvoung@google.com>
Wed, 29 Oct 2014 18:37:13 +0000 (18:37 +0000)
Summary: This helps llvm-objdump -r to print out the symbol name along
with the relocation type on x86. Adjust existing tests from checking
for "Unknown" to check for the symbol now.

Test Plan: Adjusted test/Object tests.

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D5987

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@220866 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Object/ELFObjectFile.h
test/Object/X86/objdump-disassembly-inline-relocations.test
test/Object/objdump-relocations.test

index 4676ae8bdbc09261b43e29daa786ca0dab6e0e03..3fcd98de9dc463c40f59ef414e2d49d5db9d7690 100644 (file)
@@ -738,6 +738,7 @@ std::error_code ELFObjectFile<ELFT>::getRelocationValueString(
     Result.append(fmtbuf.begin(), fmtbuf.end());
     break;
   }
+  case ELF::EM_386:
   case ELF::EM_ARM:
   case ELF::EM_HEXAGON:
   case ELF::EM_MIPS:
index 78615765046d2013e6b8dd7d6399dbd3a7eba97e..3871bcbf0b55c994bd65c92a86adacb281bdbae6 100644 (file)
@@ -76,11 +76,11 @@ ELF-i386: main:
 ELF-i386:        0:     83 ec 0c                                        subl    $12, %esp
 ELF-i386:        3:     c7 44 24 08 00 00 00 00                         movl    $0, 8(%esp)
 ELF-i386:        b:     c7 04 24 00 00 00 00                            movl    $0, (%esp)
-ELF-i386:                              e: R_386_32      Unknown
+ELF-i386:                              e: R_386_32      .rodata.str1.1
 ELF-i386:       12:     e8 fc ff ff ff                                  calll   -4
-ELF-i386:                             13: R_386_PC32    Unknown
+ELF-i386:                             13: R_386_PC32    puts
 ELF-i386:       17:     e8 fc ff ff ff                                  calll   -4
-ELF-i386:                             18: R_386_PC32    Unknown
+ELF-i386:                             18: R_386_PC32    SomeOtherFunction
 ELF-i386:       1c:     8b 44 24 08                                     movl    8(%esp), %eax
 ELF-i386:       20:     83 c4 0c                                        addl    $12, %esp
 ELF-i386:       23:     c3                                              ret
index 28cac104c7b7ddaff2eac79aa86a5ba4ef1c8f89..1e41f78ca729e875ab58cedb46779b68c3d49bb9 100644 (file)
@@ -27,9 +27,9 @@ COFF-x86-64: IMAGE_REL_AMD64_REL32 puts
 COFF-x86-64: IMAGE_REL_AMD64_REL32 SomeOtherFunction
 
 ELF-i386: .text
-ELF-i386: R_386_32
-ELF-i386: R_386_PC32
-ELF-i386: R_386_PC32
+ELF-i386: R_386_32 .rodata.str1.1
+ELF-i386: R_386_PC32 puts
+ELF-i386: R_386_PC32 SomeOtherFunction
 
 ELF-x86-64: .text
 ELF-x86-64: R_X86_64_32S .rodata.str1.1