[PATCH] D77445: [ELF] -M/-Map: fix VMA/LMA/Size columns of symbol assignments when address/size>=2**32

Fangrui Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 6 10:51:35 PDT 2020


MaskRay updated this revision to Diff 255403.
MaskRay marked 4 inline comments as done.
MaskRay added a comment.

Address comments


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D77445/new/

https://reviews.llvm.org/D77445

Files:
  lld/ELF/LinkerScript.h
  lld/test/ELF/map-file-64bit.s


Index: lld/test/ELF/map-file-64bit.s
===================================================================
--- /dev/null
+++ lld/test/ELF/map-file-64bit.s
@@ -0,0 +1,19 @@
+# REQUIRES: x86
+## Test how we display the upper half of the address space, which is commonly
+## used by operating system kernels.
+
+# RUN: llvm-mc -filetype=obj -triple=x86_64 /dev/null -o %t.o
+# RUN: ld.lld -M -T %s %t.o -o /dev/null | FileCheck %s --match-full-lines --strict-whitespace
+
+## . = 0xffffffff80000000; has a misaligned Size column.
+#      CHECK:             VMA              LMA     Size Align Out     In      Symbol
+# CHECK-NEXT:               0                0 ffffffff80000000     1 . = 0xffffffff80000000
+# CHECK-NEXT:ffffffff80000000                0   100000     1 . += 0x100000
+# CHECK-NEXT:ffffffff80100000                0        0     1 _text = .
+# CHECK-NEXT:ffffffff80100000 ffffffff80100000        0     4 .text
+
+SECTIONS {
+  . = 0xffffffff80000000;
+  . += 0x100000;
+  _text = .;
+}
Index: lld/ELF/LinkerScript.h
===================================================================
--- lld/ELF/LinkerScript.h
+++ lld/ELF/LinkerScript.h
@@ -109,11 +109,11 @@
   std::string commandString;
 
   // Address of this assignment command.
-  unsigned addr;
+  uint64_t addr;
 
   // Size of this assignment command. This is usually 0, but if
   // you move '.' this may be greater than 0.
-  unsigned size;
+  uint64_t size;
 };
 
 // Linker scripts allow additional constraints to be put on output sections.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D77445.255403.patch
Type: text/x-patch
Size: 1518 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200406/d51f367c/attachment.bin>


More information about the llvm-commits mailing list