]> granicus.if.org Git - llvm/commitdiff
[llvm-readobj] Set correct offset when dumping hex section output.
authorSid Manning <sidneym@codeaurora.org>
Wed, 16 Jan 2019 16:17:19 +0000 (16:17 +0000)
committerSid Manning <sidneym@codeaurora.org>
Wed, 16 Jan 2019 16:17:19 +0000 (16:17 +0000)
Differential Revision: https://reviews.llvm.org/D56369

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

test/tools/llvm-readobj/hexdump.test [new file with mode: 0644]
tools/llvm-readobj/ObjDumper.cpp

diff --git a/test/tools/llvm-readobj/hexdump.test b/test/tools/llvm-readobj/hexdump.test
new file mode 100644 (file)
index 0000000..cadb722
--- /dev/null
@@ -0,0 +1,5 @@
+// Check dumping of the hexadecimal bytes of a section.
+RUN: llvm-readobj -x .text %p/../../Object/Inputs/hello-world.elf-x86-64 | FileCheck %s
+
+CHECK: Hex dump of section '.text':
+CHECK-NEXT: {{^}}0x00400460
index a725140c9d33f11e2249bbc4e2204f567d8e54f8..81c9a2b9c4e1ff6851db343e801048bfac961d60 100644 (file)
@@ -117,7 +117,8 @@ void ObjDumper::printSectionAsHex(const object::ObjectFile *Obj,
     uint8_t i;
     uint8_t k;
 
-    W.startLine() << format_hex(SecPtr - SecContent, 10);
+    W.startLine() << format_hex(Section.getAddress() + (SecPtr - SecContent),
+                                10);
     W.startLine() << ' ';
     for (i = 0; TmpSecPtr < SecEnd && i < 4; ++i) {
       for (k = 0; TmpSecPtr < SecEnd && k < 4; k++, TmpSecPtr++) {