[lld] r329221 - COFF: Layout sections in the same order as link.exe

Hans Wennborg via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 4 12:15:56 PDT 2018


Author: hans
Date: Wed Apr  4 12:15:55 2018
New Revision: 329221

URL: http://llvm.org/viewvc/llvm-project?rev=329221&view=rev
Log:
COFF: Layout sections in the same order as link.exe

One place where this seems to matter is to make sure the .rsrc section comes
after .text. The Win32 UpdateResource() function can change the contents of
.rsrc. It will move the sections that come after, but if .text gets moved, the
entry point header will not get updated and the executable breaks. This was
found by a test in Chromium.

Differential Revision: https://reviews.llvm.org/D45260

Modified:
    lld/trunk/COFF/Writer.cpp
    lld/trunk/test/COFF/arm64-relocs-imports.test
    lld/trunk/test/COFF/armnt-movt32t.test
    lld/trunk/test/COFF/associative-comdat.s
    lld/trunk/test/COFF/baserel.test
    lld/trunk/test/COFF/combined-resources.test
    lld/trunk/test/COFF/common-alignment.test
    lld/trunk/test/COFF/common.test
    lld/trunk/test/COFF/ctors_dtors_priority.s
    lld/trunk/test/COFF/delayimports-armnt.yaml
    lld/trunk/test/COFF/delayimports.test
    lld/trunk/test/COFF/delayimports32.test
    lld/trunk/test/COFF/export-armnt.yaml
    lld/trunk/test/COFF/hello32.test
    lld/trunk/test/COFF/imports.test
    lld/trunk/test/COFF/loadcfg.ll
    lld/trunk/test/COFF/loadcfg.test
    lld/trunk/test/COFF/loadcfg32.test
    lld/trunk/test/COFF/lto-comdat.ll
    lld/trunk/test/COFF/lto.ll
    lld/trunk/test/COFF/manifestinput.test
    lld/trunk/test/COFF/pdata-arm64.yaml
    lld/trunk/test/COFF/pdb-comdat.test
    lld/trunk/test/COFF/pdb-globals.test
    lld/trunk/test/COFF/pdb-procid-remapping.test
    lld/trunk/test/COFF/pdb-scopes.test
    lld/trunk/test/COFF/pdb-source-lines.test
    lld/trunk/test/COFF/pdb-symbol-types.yaml
    lld/trunk/test/COFF/pdb-type-server-simple.test
    lld/trunk/test/COFF/pdb.test
    lld/trunk/test/COFF/reloc-arm.test
    lld/trunk/test/COFF/resource.test
    lld/trunk/test/COFF/safeseh.s
    lld/trunk/test/COFF/secidx-absolute.s
    lld/trunk/test/COFF/secrel-common.s
    lld/trunk/test/COFF/string-tail-merge.s
    lld/trunk/test/COFF/symtab.test
    lld/trunk/test/COFF/unwind.test

Modified: lld/trunk/COFF/Writer.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/Writer.cpp?rev=329221&r1=329220&r2=329221&view=diff
==============================================================================
--- lld/trunk/COFF/Writer.cpp (original)
+++ lld/trunk/COFF/Writer.cpp Wed Apr  4 12:15:55 2018
@@ -644,6 +644,24 @@ void Writer::createSymbolAndStringTable(
   FileSize = alignTo(FileOff, SectorSize);
 }
 
+static int sectionIndex(StringRef Name) {
+  // Try to match the section order used by link.exe. In particular, it's
+  // important that .reloc comes last since it refers to RVA's of data in
+  // the previous sections. .rsrc should come late because its size may
+  // change by the Win32 UpdateResources() function, causing subsequent
+  // sections to move (see https://crbug.com/827082).
+  return StringSwitch<int>(Name)
+      .Case(".text", 1)
+      .Case(".bss", 2)
+      .Case(".rdata", 3)
+      .Case(".data", 4)
+      .Case(".pdata", 5)
+      .Case(".idata", 6)
+      .Case(".rsrc", 99)
+      .Case(".reloc", 100)
+      .Default(50); // Default to somewhere in the middle.
+}
+
 // Visits all sections to assign incremental, non-overlapping RVAs and
 // file offsets.
 void Writer::assignAddresses() {
@@ -655,6 +673,13 @@ void Writer::assignAddresses() {
   SizeOfHeaders = alignTo(SizeOfHeaders, SectorSize);
   uint64_t RVA = PageSize; // The first page is kept unmapped.
   FileSize = SizeOfHeaders;
+
+  // Reorder the sections.
+  std::stable_sort(OutputSections.begin(), OutputSections.end(),
+                   [](OutputSection *S, OutputSection *T) {
+                     return sectionIndex(S->Name) < sectionIndex(T->Name);
+                   });
+
   // Move DISCARDABLE (or non-memory-mapped) sections to the end of file because
   // the loader cannot handle holes.
   std::stable_partition(

Modified: lld/trunk/test/COFF/arm64-relocs-imports.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/arm64-relocs-imports.test?rev=329221&r1=329220&r2=329221&view=diff
==============================================================================
--- lld/trunk/test/COFF/arm64-relocs-imports.test (original)
+++ lld/trunk/test/COFF/arm64-relocs-imports.test Wed Apr  4 12:15:55 2018
@@ -43,44 +43,44 @@
 # BEFORE:       88:       00 00 40 f9     ldr     x0, [x0]
 
 # AFTER: Disassembly of section .text:
-# AFTER:  140002000:      fe 0f 1f f8     str     x30, [sp, #-16]!
-# AFTER:  140002004:      e0 ff ff f0     adrp    x0, #-4096
-# AFTER:  140002008:      00 18 00 91     add     x0, x0, #6
-# AFTER:  14000200c:      20 00 00 94     bl      #128
-# AFTER:  140002010:      00 21 40 39     ldrb    w0, [x8, #8]
-# AFTER:  140002014:      00 11 40 79     ldrh    w0, [x8, #8]
-# AFTER:  140002018:      00 09 40 b9     ldr     w0, [x8, #8]
-# AFTER:  14000201c:      00 05 40 f9     ldr     x0, [x8, #8]
-# AFTER:  140002020:      00 21 00 39     strb    w0, [x8, #8]
-# AFTER:  140002024:      00 11 00 79     strh    w0, [x8, #8]
-# AFTER:  140002028:      00 09 00 b9     str     w0, [x8, #8]
-# AFTER:  14000202c:      00 05 00 f9     str     x0, [x8, #8]
-# AFTER:  140002030:      00 41 40 3d     ldr     b0, [x8, #16]
-# AFTER:  140002034:      00 21 40 7d     ldr     h0, [x8, #16]
-# AFTER:  140002038:      00 11 40 bd     ldr     s0, [x8, #16]
-# AFTER:  14000203c:      00 09 40 fd     ldr     d0, [x8, #16]
-# AFTER:  140002040:      00 05 c0 3d     ldr     q0, [x8, #16]
-# AFTER:  140002044:      00 41 00 3d     str     b0, [x8, #16]
-# AFTER:  140002048:      00 21 00 7d     str     h0, [x8, #16]
-# AFTER:  14000204c:      00 11 00 bd     str     s0, [x8, #16]
-# AFTER:  140002050:      00 09 00 fd     str     d0, [x8, #16]
-# AFTER:  140002054:      00 05 80 3d     str     q0, [x8, #16]
-# AFTER:  140002058:      00 09 40 f9     ldr     x0, [x8, #16]
-# AFTER:  14000205c:      00 00 00 b0     adrp    x0, #4096
-# AFTER:  140002060:      00 fc 47 f9     ldr     x0, [x0, #4088]
-# AFTER:  140002064:      e0 03 1f 2a     mov      w0, wzr
-# AFTER:  140002068:      fe 07 41 f8     ldr     x30, [sp], #16
-# AFTER:  14000206c:      c0 03 5f d6     ret
-# AFTER:  140002070:      10 10 00 40     <unknown>
-# AFTER:  140002074:      01 00 00 00     <unknown>
-# AFTER:  140002078:      09 10 00 00     <unknown>
-# AFTER:  14000207c:      09 00 00 00     <unknown>
-# AFTER:  140002080:      00 20 0e 91     add     x0, x0, #904
-# AFTER:  140002084:      00 04 40 91     add     x0, x0, #1, lsl #12
-# AFTER:  140002088:      00 c4 41 f9     ldr     x0, [x0, #904]
-# AFTER:  14000208c:      10 00 00 b0     adrp    x16, #4096
-# AFTER:  140002090:      10 1e 40 f9     ldr     x16, [x16, #56]
-# AFTER:  140002094:      00 02 1f d6     br      x16
+# AFTER:  140001000:      fe 0f 1f f8     str     x30, [sp, #-16]!
+# AFTER:  140001004:      00 00 00 b0     adrp    x0, #4096
+# AFTER:  140001008:      00 18 00 91     add     x0, x0, #6
+# AFTER:  14000100c:      20 00 00 94     bl      #128
+# AFTER:  140001010:      00 21 40 39     ldrb    w0, [x8, #8]
+# AFTER:  140001014:      00 11 40 79     ldrh    w0, [x8, #8]
+# AFTER:  140001018:      00 09 40 b9     ldr     w0, [x8, #8]
+# AFTER:  14000101c:      00 05 40 f9     ldr     x0, [x8, #8]
+# AFTER:  140001020:      00 21 00 39     strb    w0, [x8, #8]
+# AFTER:  140001024:      00 11 00 79     strh    w0, [x8, #8]
+# AFTER:  140001028:      00 09 00 b9     str     w0, [x8, #8]
+# AFTER:  14000102c:      00 05 00 f9     str     x0, [x8, #8]
+# AFTER:  140001030:      00 41 40 3d     ldr     b0, [x8, #16]
+# AFTER:  140001034:      00 21 40 7d     ldr     h0, [x8, #16]
+# AFTER:  140001038:      00 11 40 bd     ldr     s0, [x8, #16]
+# AFTER:  14000103c:      00 09 40 fd     ldr     d0, [x8, #16]
+# AFTER:  140001040:      00 05 c0 3d     ldr     q0, [x8, #16]
+# AFTER:  140001044:      00 41 00 3d     str     b0, [x8, #16]
+# AFTER:  140001048:      00 21 00 7d     str     h0, [x8, #16]
+# AFTER:  14000104c:      00 11 00 bd     str     s0, [x8, #16]
+# AFTER:  140001050:      00 09 00 fd     str     d0, [x8, #16]
+# AFTER:  140001054:      00 05 80 3d     str     q0, [x8, #16]
+# AFTER:  140001058:      00 09 40 f9     ldr     x0, [x8, #16]
+# AFTER:  14000105c:      00 00 00 f0     adrp    x0, #12288
+# AFTER:  140001060:      00 fc 47 f9     ldr     x0, [x0, #4088]
+# AFTER:  140001064:      e0 03 1f 2a     mov      w0, wzr
+# AFTER:  140001068:      fe 07 41 f8     ldr     x30, [sp], #16
+# AFTER:  14000106c:      c0 03 5f d6     ret
+# AFTER:  140001070:      10 20 00 40     <unknown>
+# AFTER:  140001074:      01 00 00 00     <unknown>
+# AFTER:  140001078:      09 20 00 00     <unknown>
+# AFTER:  14000107c:      09 00 00 00     <unknown>
+# AFTER:  140001080:      00 20 0e 91     add     x0, x0, #904
+# AFTER:  140001084:      00 04 40 91     add     x0, x0, #1, lsl #12
+# AFTER:  140001088:      00 c4 41 f9     ldr     x0, [x0, #904]
+# AFTER:  14000108c:      10 00 00 d0     adrp    x16, #8192
+# AFTER:  140001090:      10 1e 40 f9     ldr     x16, [x16, #56]
+# AFTER:  140001094:      00 02 1f d6     br      x16
 
 --- !COFF
 header:

Modified: lld/trunk/test/COFF/armnt-movt32t.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/armnt-movt32t.test?rev=329221&r1=329220&r2=329221&view=diff
==============================================================================
--- lld/trunk/test/COFF/armnt-movt32t.test (original)
+++ lld/trunk/test/COFF/armnt-movt32t.test Wed Apr  4 12:15:55 2018
@@ -11,7 +11,7 @@
 # BEFORE:        8: 70 47         bx lr
 
 # AFTER: Disassembly of section .text:
-# AFTER:        0: 41 f2 00 00   movw r0, #4096
+# AFTER:        0: 42 f2 00 00   movw r0, #8192
 # AFTER:        4: c0 f2 40 00   movt r0, #64
 # AFTER:        8: 70 47         bx lr
 

Modified: lld/trunk/test/COFF/associative-comdat.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/associative-comdat.s?rev=329221&r1=329220&r2=329221&view=diff
==============================================================================
--- lld/trunk/test/COFF/associative-comdat.s (original)
+++ lld/trunk/test/COFF/associative-comdat.s Wed Apr  4 12:15:55 2018
@@ -9,14 +9,15 @@
 
 # CHECK: Sections [
 # CHECK:   Section {
-# CHECK:     Number: 1
-# CHECK-LABEL:     Name: .data (2E 64 61 74 61 00 00 00)
-# CHECK-NEXT:     VirtualSize: 0x4
-# CHECK:   Section {
+# CHECK:     Number: 2
 # CHECK-LABEL:     Name: .rdata (2E 72 64 61 74 61 00 00)
 #             This is the critical check to show that only *one* definition of
 #             foo_assoc was retained. This *must* be 8, not 16.
 # CHECK-NEXT:     VirtualSize: 0x8
+# CHECK:   Section {
+# CHECK:     Number: 3
+# CHECK-LABEL:     Name: .data (2E 64 61 74 61 00 00 00)
+# CHECK-NEXT:     VirtualSize: 0x4
 
         .text
         .def     main;

Modified: lld/trunk/test/COFF/baserel.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/baserel.test?rev=329221&r1=329220&r2=329221&view=diff
==============================================================================
--- lld/trunk/test/COFF/baserel.test (original)
+++ lld/trunk/test/COFF/baserel.test Wed Apr  4 12:15:55 2018
@@ -9,35 +9,35 @@
 # BASEREL:      BaseReloc [
 # BASEREL-NEXT: Entry {
 # BASEREL-NEXT:   Type: DIR64
-# BASEREL-NEXT:   Address: 0x2007
+# BASEREL-NEXT:   Address: 0x1007
 # BASEREL-NEXT: }
 # BASEREL-NEXT: Entry {
 # BASEREL-NEXT:   Type: DIR64
-# BASEREL-NEXT:   Address: 0x200C
+# BASEREL-NEXT:   Address: 0x100C
 # BASEREL-NEXT: }
 # BASEREL-NEXT: Entry {
 # BASEREL-NEXT:   Type: DIR64
-# BASEREL-NEXT:   Address: 0x201E
+# BASEREL-NEXT:   Address: 0x101E
 # BASEREL-NEXT: }
 # BASEREL-NEXT: Entry {
 # BASEREL-NEXT:   Type: ABSOLUTE
-# BASEREL-NEXT:   Address: 0x2000
+# BASEREL-NEXT:   Address: 0x1000
 # BASEREL-NEXT: }
 # BASEREL-NEXT: Entry {
 # BASEREL-NEXT:   Type: DIR64
-# BASEREL-NEXT:   Address: 0x3007
+# BASEREL-NEXT:   Address: 0x4007
 # BASEREL-NEXT: }
 # BASEREL-NEXT: Entry {
 # BASEREL-NEXT:   Type: DIR64
-# BASEREL-NEXT:   Address: 0x300C
+# BASEREL-NEXT:   Address: 0x400C
 # BASEREL-NEXT: }
 # BASEREL-NEXT: Entry {
 # BASEREL-NEXT:   Type: DIR64
-# BASEREL-NEXT:   Address: 0x301E
+# BASEREL-NEXT:   Address: 0x401E
 # BASEREL-NEXT: }
 # BASEREL-NEXT: Entry {
 # BASEREL-NEXT:   Type: ABSOLUTE
-# BASEREL-NEXT:   Address: 0x3000
+# BASEREL-NEXT:   Address: 0x4000
 # BASEREL-NEXT: }
 #
 # NOBASEREL:      BaseReloc [

Modified: lld/trunk/test/COFF/combined-resources.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/combined-resources.test?rev=329221&r1=329220&r2=329221&view=diff
==============================================================================
--- lld/trunk/test/COFF/combined-resources.test (original)
+++ lld/trunk/test/COFF/combined-resources.test Wed Apr  4 12:15:55 2018
@@ -11,7 +11,7 @@
 # RUN: llvm-readobj -coff-resources -file-headers -section-data %t.exe | \
 # RUN:   FileCheck %s
 
-CHECK:      ResourceTableRVA: 0x1000
+CHECK:      ResourceTableRVA: 0x2000
 CHECK-NEXT: ResourceTableSize: 0xC1C
 CHECK-DAG:  Resources [
 CHECK-NEXT:   Total Number of Resources: 13
@@ -49,19 +49,19 @@ CHECK-NEXT: 01D0: 00000000 00000000 0000
 CHECK-NEXT: 01E0: 09040000 A0020000 00000000 00000000  |................|
 CHECK-NEXT: 01F0: 00000000 00000300 09040000 B0020000  |................|
 CHECK-NEXT: 0200: 04080000 C0020000 07100000 D0020000  |................|
-CHECK-NEXT: 0210: FC1A0000 39000000 00000000 00000000  |....9...........|
-CHECK-NEXT: 0220: C4130000 28030000 00000000 00000000  |....(...........|
-CHECK-NEXT: 0230: EC160000 28030000 00000000 00000000  |....(...........|
-CHECK-NEXT: 0240: CC1A0000 30000000 00000000 00000000  |....0...........|
-CHECK-NEXT: 0250: 141A0000 2E000000 00000000 00000000  |................|
-CHECK-NEXT: 0260: 441A0000 6C000000 00000000 00000000  |D...l...........|
-CHECK-NEXT: 0270: 7C130000 2A000000 00000000 00000000  ||...*...........|
-CHECK-NEXT: 0280: AC130000 18000000 00000000 00000000  |................|
-CHECK-NEXT: 0290: 041C0000 18000000 00000000 00000000  |................|
-CHECK-NEXT: 02A0: B41A0000 18000000 00000000 00000000  |................|
-CHECK-NEXT: 02B0: 3C1B0000 36000000 00000000 00000000  |<...6...........|
-CHECK-NEXT: 02C0: 741B0000 43000000 00000000 00000000  |t...C...........|
-CHECK-NEXT: 02D0: BC1B0000 42000000 00000000 00000000  |....B...........|
+CHECK-NEXT: 0210: FC2A0000 39000000 00000000 00000000  |.*..9...........|
+CHECK-NEXT: 0220: C4230000 28030000 00000000 00000000  |.#..(...........|
+CHECK-NEXT: 0230: EC260000 28030000 00000000 00000000  |.&..(...........|
+CHECK-NEXT: 0240: CC2A0000 30000000 00000000 00000000  |.*..0...........|
+CHECK-NEXT: 0250: 142A0000 2E000000 00000000 00000000  |.*..............|
+CHECK-NEXT: 0260: 442A0000 6C000000 00000000 00000000  |D*..l...........|
+CHECK-NEXT: 0270: 7C230000 2A000000 00000000 00000000  ||#..*...........|
+CHECK-NEXT: 0280: AC230000 18000000 00000000 00000000  |.#..............|
+CHECK-NEXT: 0290: 042C0000 18000000 00000000 00000000  |.,..............|
+CHECK-NEXT: 02A0: B42A0000 18000000 00000000 00000000  |.*..............|
+CHECK-NEXT: 02B0: 3C2B0000 36000000 00000000 00000000  |<+..6...........|
+CHECK-NEXT: 02C0: 742B0000 43000000 00000000 00000000  |t+..C...........|
+CHECK-NEXT: 02D0: BC2B0000 42000000 00000000 00000000  |.+..B...........|
 CHECK-NEXT: 02E0: 0E004D00 59004100 43004300 45004C00  |..M.Y.A.C.C.E.L.|
 CHECK-NEXT: 02F0: 45005200 41005400 4F005200 53000600  |E.R.A.T.O.R.S...|
 CHECK-NEXT: 0300: 43005500 52005300 4F005200 04004F00  |C.U.R.S.O.R...O.|

Modified: lld/trunk/test/COFF/common-alignment.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/common-alignment.test?rev=329221&r1=329220&r2=329221&view=diff
==============================================================================
--- lld/trunk/test/COFF/common-alignment.test (original)
+++ lld/trunk/test/COFF/common-alignment.test Wed Apr  4 12:15:55 2018
@@ -4,8 +4,8 @@
 # RUN: llvm-objdump -d %t.exe | FileCheck %s
 
 # Operands of B8 (MOV EAX) are common symbols
-# CHECK: 3000: b8 00 10 00 40
-# CHECK: 3005: b8 10 10 00 40
+# CHECK: 1000: b8 00 20 00 40
+# CHECK: 1005: b8 10 20 00 40
 
 --- !COFF
 header:

Modified: lld/trunk/test/COFF/common.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/common.test?rev=329221&r1=329220&r2=329221&view=diff
==============================================================================
--- lld/trunk/test/COFF/common.test (original)
+++ lld/trunk/test/COFF/common.test Wed Apr  4 12:15:55 2018
@@ -4,11 +4,11 @@
 # RUN: llvm-objdump -d %t.exe | FileCheck %s
 
 # Operands of B8 (MOV EAX) are common symbols
-# CHECK: 3000: b8 00 10 00 40
-# CHECK: 3005: b8 04 10 00 40
-# CHECK: 300a: b8 20 10 00 40
-# CHECK: 300f: b8 60 10 00 40
-# CHECK: 3014: b8 70 10 00 40
+# CHECK: 1000: b8 00 20 00 40
+# CHECK: 1005: b8 04 20 00 40
+# CHECK: 100a: b8 20 20 00 40
+# CHECK: 100f: b8 60 20 00 40
+# CHECK: 1014: b8 70 20 00 40
 
 --- !COFF
 header:

Modified: lld/trunk/test/COFF/ctors_dtors_priority.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/ctors_dtors_priority.s?rev=329221&r1=329220&r2=329221&view=diff
==============================================================================
--- lld/trunk/test/COFF/ctors_dtors_priority.s (original)
+++ lld/trunk/test/COFF/ctors_dtors_priority.s Wed Apr  4 12:15:55 2018
@@ -22,9 +22,9 @@ main:
   .quad 2
 
 # CHECK:      Contents of section .ctors:
-# CHECK-NEXT: 140001000 01000000 00000000 02000000 00000000
-# CHECK-NEXT: 140001010 03000000 00000000
-
-# CHECK:      Contents of section .dtors:
 # CHECK-NEXT: 140002000 01000000 00000000 02000000 00000000
 # CHECK-NEXT: 140002010 03000000 00000000
+
+# CHECK:      Contents of section .dtors:
+# CHECK-NEXT: 140003000 01000000 00000000 02000000 00000000
+# CHECK-NEXT: 140003010 03000000 00000000

Modified: lld/trunk/test/COFF/delayimports-armnt.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/delayimports-armnt.yaml?rev=329221&r1=329220&r2=329221&view=diff
==============================================================================
--- lld/trunk/test/COFF/delayimports-armnt.yaml (original)
+++ lld/trunk/test/COFF/delayimports-armnt.yaml Wed Apr  4 12:15:55 2018
@@ -13,9 +13,9 @@
 # IMPORT-NEXT: DelayImport {
 # IMPORT-NEXT:   Name: library.dll
 # IMPORT-NEXT:   Attributes: 0x1
-# IMPORT-NEXT:   ModuleHandle: 0x3000
-# IMPORT-NEXT:   ImportAddressTable: 0x3008
-# IMPORT-NEXT:   ImportNameTable: 0x2040
+# IMPORT-NEXT:   ModuleHandle: 0x2000
+# IMPORT-NEXT:   ImportAddressTable: 0x2008
+# IMPORT-NEXT:   ImportNameTable: 0x3040
 # IMPORT-NEXT:   BoundDelayImportTable: 0x0
 # IMPORT-NEXT:   UnloadDelayImportTable: 0x0
 # IMPORT-NEXT:   Import {
@@ -43,21 +43,21 @@
 # BASEREL-NEXT:   }
 # BASEREL-NEXT:   Entry {
 # BASEREL-NEXT:     Type: HIGHLOW
-# BASEREL-NEXT:     Address: 0x3008
+# BASEREL-NEXT:     Address: 0x2008
 # BASEREL-NEXT:   }
 # BASEREL-NEXT:   Entry {
 # BASEREL-NEXT:     Type: ABSOLUTE
-# BASEREL-NEXT:     Address: 0x3000
+# BASEREL-NEXT:     Address: 0x2000
 # BASEREL-NEXT:   }
 # BASEREL-NEXT: ]
 #
-# DISASM:      401018:       43 f2 08 0c     movw    r12, #12296
+# DISASM:      401018:       42 f2 08 0c     movw r12, #8200
 # DISASM-NEXT: 40101c:       c0 f2 40 0c     movt    r12, #64
 # DISASM-NEXT: 401020:       2d e9 0f 48     push.w  {r0, r1, r2, r3, r11, lr}
 # DISASM-NEXT: 401024:       0d f2 10 0b     addw    r11, sp, #16
 # DISASM-NEXT: 401028:       2d ed 10 0b     vpush   {d0, d1, d2, d3, d4, d5, d6, d7}
 # DISASM-NEXT: 40102c:       61 46           mov     r1, r12
-# DISASM-NEXT: 40102e:       42 f2 00 00     movw    r0, #8192
+# DISASM-NEXT: 40102e:       43 f2 00 00     movw r0, #12288
 # DISASM-NEXT: 401032:       c0 f2 40 00     movt    r0, #64
 # DISASM-NEXT: 401036:       ff f7 e3 ff     bl      #-58
 # DISASM-NEXT: 40103a:       84 46           mov     r12, r0

Modified: lld/trunk/test/COFF/delayimports.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/delayimports.test?rev=329221&r1=329220&r2=329221&view=diff
==============================================================================
--- lld/trunk/test/COFF/delayimports.test (original)
+++ lld/trunk/test/COFF/delayimports.test Wed Apr  4 12:15:55 2018
@@ -7,35 +7,35 @@
 IMPORT:      DelayImport {
 IMPORT-NEXT:   Name: std64.dll
 IMPORT-NEXT:   Attributes: 0x1
-IMPORT-NEXT:   ModuleHandle: 0x1018
-IMPORT-NEXT:   ImportAddressTable: 0x1020
+IMPORT-NEXT:   ModuleHandle: 0x2018
+IMPORT-NEXT:   ImportAddressTable: 0x2020
 IMPORT-NEXT:   ImportNameTable: 0x3040
 IMPORT-NEXT:   BoundDelayImportTable: 0x0
 IMPORT-NEXT:   UnloadDelayImportTable: 0x0
 IMPORT-NEXT:   Import {
 IMPORT-NEXT:     Symbol: ExitProcess (0)
-IMPORT-NEXT:     Address: 0x140002066
+IMPORT-NEXT:     Address: 0x140001066
 IMPORT-NEXT:   }
 IMPORT-NEXT:   Import {
 IMPORT-NEXT:     Symbol:  (50)
-IMPORT-NEXT:     Address: 0x1400020BD
+IMPORT-NEXT:     Address: 0x1400010BD
 IMPORT-NEXT:   }
 IMPORT-NEXT:   Import {
 IMPORT-NEXT:     Symbol: MessageBoxA (0)
-IMPORT-NEXT:     Address: 0x140002114
+IMPORT-NEXT:     Address: 0x140001114
 IMPORT-NEXT:   }
 IMPORT-NEXT: }
 
 BASEREL:      BaseReloc [
 BASEREL-NEXT:   Entry {
 BASEREL-NEXT:     Type: DIR64
-BASEREL-NEXT:     Address: 0x1020
+BASEREL-NEXT:     Address: 0x2020
 BASEREL-NEXT:   }
 BASEREL-NEXT:   Entry {
 BASEREL-NEXT:     Type: DIR64
-BASEREL-NEXT:     Address: 0x1028
+BASEREL-NEXT:     Address: 0x2028
 BASEREL-NEXT:   }
 BASEREL-NEXT:   Entry {
 BASEREL-NEXT:     Type: DIR64
-BASEREL-NEXT:     Address: 0x1030
+BASEREL-NEXT:     Address: 0x2030
 BASEREL-NEXT:   }

Modified: lld/trunk/test/COFF/delayimports32.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/delayimports32.test?rev=329221&r1=329220&r2=329221&view=diff
==============================================================================
--- lld/trunk/test/COFF/delayimports32.test (original)
+++ lld/trunk/test/COFF/delayimports32.test Wed Apr  4 12:15:55 2018
@@ -13,75 +13,75 @@ IMPORT-NEXT: AddressSize: 32bit
 IMPORT-NEXT: DelayImport {
 IMPORT-NEXT:   Name: std32.dll
 IMPORT-NEXT:   Attributes: 0x1
-IMPORT-NEXT:   ModuleHandle: 0x1018
-IMPORT-NEXT:   ImportAddressTable: 0x1020
+IMPORT-NEXT:   ModuleHandle: 0x3018
+IMPORT-NEXT:   ImportAddressTable: 0x3020
 IMPORT-NEXT:   ImportNameTable: 0x4040
 IMPORT-NEXT:   BoundDelayImportTable: 0x0
 IMPORT-NEXT:   UnloadDelayImportTable: 0x0
 IMPORT-NEXT:   Import {
 IMPORT-NEXT:     Symbol: ExitProcess (0)
-IMPORT-NEXT:     Address: 0x402029
+IMPORT-NEXT:     Address: 0x401029
 IMPORT-NEXT:   }
 IMPORT-NEXT:   Import {
 IMPORT-NEXT:     Symbol: MessageBoxA (0)
-IMPORT-NEXT:     Address: 0x40203E
+IMPORT-NEXT:     Address: 0x40103E
 IMPORT-NEXT:   }
 IMPORT-NEXT: }
 
 BASEREL:      BaseReloc [
 BASEREL-NEXT:   Entry {
 BASEREL-NEXT:     Type: HIGHLOW
-BASEREL-NEXT:     Address: 0x1020
+BASEREL-NEXT:     Address: 0x1005
 BASEREL-NEXT:   }
 BASEREL-NEXT:   Entry {
 BASEREL-NEXT:     Type: HIGHLOW
-BASEREL-NEXT:     Address: 0x1024
+BASEREL-NEXT:     Address: 0x100C
 BASEREL-NEXT:   }
 BASEREL-NEXT:   Entry {
 BASEREL-NEXT:     Type: HIGHLOW
-BASEREL-NEXT:     Address: 0x2005
+BASEREL-NEXT:     Address: 0x101F
 BASEREL-NEXT:   }
 BASEREL-NEXT:   Entry {
 BASEREL-NEXT:     Type: HIGHLOW
-BASEREL-NEXT:     Address: 0x200C
+BASEREL-NEXT:     Address: 0x1025
 BASEREL-NEXT:   }
 BASEREL-NEXT:   Entry {
 BASEREL-NEXT:     Type: HIGHLOW
-BASEREL-NEXT:     Address: 0x201F
+BASEREL-NEXT:     Address: 0x102C
 BASEREL-NEXT:   }
 BASEREL-NEXT:   Entry {
 BASEREL-NEXT:     Type: HIGHLOW
-BASEREL-NEXT:     Address: 0x2025
+BASEREL-NEXT:     Address: 0x1031
 BASEREL-NEXT:   }
 BASEREL-NEXT:   Entry {
 BASEREL-NEXT:     Type: HIGHLOW
-BASEREL-NEXT:     Address: 0x202C
+BASEREL-NEXT:     Address: 0x1041
 BASEREL-NEXT:   }
 BASEREL-NEXT:   Entry {
 BASEREL-NEXT:     Type: HIGHLOW
-BASEREL-NEXT:     Address: 0x2031
+BASEREL-NEXT:     Address: 0x1046
 BASEREL-NEXT:   }
 BASEREL-NEXT:   Entry {
 BASEREL-NEXT:     Type: HIGHLOW
-BASEREL-NEXT:     Address: 0x2041
+BASEREL-NEXT:     Address: 0x3020
 BASEREL-NEXT:   }
 BASEREL-NEXT:   Entry {
 BASEREL-NEXT:     Type: HIGHLOW
-BASEREL-NEXT:     Address: 0x2046
+BASEREL-NEXT:     Address: 0x3024
 BASEREL-NEXT:   }
 BASEREL-NEXT: ]
 
-DISASM:      202b:      68 20 10 40 00  pushl   $4198432
-DISASM-NEXT: 2030:      68 00 40 40 00  pushl   $4210688
-DISASM-NEXT: 2035:      e8 c6 ff ff ff  calll   -58 <.text>
-DISASM-NEXT: 203a:      5a      popl    %edx
-DISASM-NEXT: 203b:      59      popl    %ecx
-DISASM-NEXT: 203c:      ff e0   jmpl    *%eax
-DISASM-NEXT: 203e:      51      pushl   %ecx
-DISASM-NEXT: 203f:      52      pushl   %edx
-DISASM-NEXT: 2040:      68 24 10 40 00  pushl   $4198436
-DISASM-NEXT: 2045:      68 00 40 40 00  pushl   $4210688
-DISASM-NEXT: 204a:      e8 b1 ff ff ff  calll   -79 <.text>
-DISASM-NEXT: 204f:      5a      popl    %edx
-DISASM-NEXT: 2050:      59      popl    %ecx
-DISASM-NEXT: 2051:      ff e0   jmpl    *%eax
+DISASM:      102b:      68 20 30 40 00  pushl   $4206624
+DISASM-NEXT: 1030:      68 00 40 40 00  pushl   $4210688
+DISASM-NEXT: 1035:      e8 c6 ff ff ff  calll   -58 <.text>
+DISASM-NEXT: 103a:      5a      popl    %edx
+DISASM-NEXT: 103b:      59      popl    %ecx
+DISASM-NEXT: 103c:      ff e0   jmpl    *%eax
+DISASM-NEXT: 103e:      51      pushl   %ecx
+DISASM-NEXT: 103f:      52      pushl   %edx
+DISASM-NEXT: 1040:      68 24 30 40 00  pushl   $4206628
+DISASM-NEXT: 1045:      68 00 40 40 00  pushl   $4210688
+DISASM-NEXT: 104a:      e8 b1 ff ff ff  calll   -79 <.text>
+DISASM-NEXT: 104f:      5a      popl    %edx
+DISASM-NEXT: 1050:      59      popl    %ecx
+DISASM-NEXT: 1051:      ff e0   jmpl    *%eax

Modified: lld/trunk/test/COFF/export-armnt.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/export-armnt.yaml?rev=329221&r1=329220&r2=329221&view=diff
==============================================================================
--- lld/trunk/test/COFF/export-armnt.yaml (original)
+++ lld/trunk/test/COFF/export-armnt.yaml Wed Apr  4 12:15:55 2018
@@ -9,10 +9,10 @@
 # CHECK:      DLL name: export-armnt.yaml.tmp.dll
 # CHECK:      Ordinal      RVA  Name
 # CHECK-NEXT:       0        0
-# CHECK-NEXT:       1   0x1000  exportdata
-# CHECK-NEXT:       2   0x2005  exportfn1
-# CHECK-NEXT:       3   0x2009  exportfn2
-# CHECK-NEXT:       4   0x2009  exportfn3
+# CHECK-NEXT:       1   0x2000  exportdata
+# CHECK-NEXT:       2   0x1005  exportfn1
+# CHECK-NEXT:       3   0x1009  exportfn2
+# CHECK-NEXT:       4   0x1009  exportfn3
 
 --- !COFF
 header:

Modified: lld/trunk/test/COFF/hello32.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/hello32.test?rev=329221&r1=329220&r2=329221&view=diff
==============================================================================
--- lld/trunk/test/COFF/hello32.test (original)
+++ lld/trunk/test/COFF/hello32.test Wed Apr  4 12:15:55 2018
@@ -27,8 +27,8 @@ HEADER-NEXT:   MinorLinkerVersion: 0
 HEADER-NEXT:   SizeOfCode: 512
 HEADER-NEXT:   SizeOfInitializedData: 1536
 HEADER-NEXT:   SizeOfUninitializedData: 0
-HEADER-NEXT:   AddressOfEntryPoint: 0x2000
-HEADER-NEXT:   BaseOfCode: 0x2000
+HEADER-NEXT:   AddressOfEntryPoint: 0x1000
+HEADER-NEXT:   BaseOfCode: 0x1000
 HEADER-NEXT:   BaseOfData: 0x0
 HEADER-NEXT:   ImageBase: 0x400000
 HEADER-NEXT:   SectionAlignment: 4096
@@ -123,10 +123,10 @@ IMPORTS: }
 BASEREL: BaseReloc [
 BASEREL:   Entry {
 BASEREL:     Type: HIGHLOW
-BASEREL:     Address: 0x2005
+BASEREL:     Address: 0x1005
 BASEREL:   }
 BASEREL:   Entry {
 BASEREL:     Type: HIGHLOW
-BASEREL:     Address: 0x200C
+BASEREL:     Address: 0x100C
 BASEREL:   }
 BASEREL: ]

Modified: lld/trunk/test/COFF/imports.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/imports.test?rev=329221&r1=329220&r2=329221&view=diff
==============================================================================
--- lld/trunk/test/COFF/imports.test (original)
+++ lld/trunk/test/COFF/imports.test Wed Apr  4 12:15:55 2018
@@ -15,16 +15,16 @@ TEXT: Disassembly of section .text:
 TEXT-NEXT: .text:
 TEXT-NEXT: subq    $40, %rsp
 TEXT-NEXT: movq    $0, %rcx
-TEXT-NEXT: leaq    -4108(%rip), %rdx
-TEXT-NEXT: leaq    -4121(%rip), %r8
+TEXT-NEXT: leaq    4084(%rip), %rdx
+TEXT-NEXT: leaq    4071(%rip), %r8
 TEXT-NEXT: movl    $0, %r9d
 TEXT-NEXT: callq   60
 TEXT-NEXT: movl    $0, %ecx
 TEXT-NEXT: callq   18
 TEXT-NEXT: callq   29
-TEXT:      jmpq    *4098(%rip)
-TEXT:      jmpq    *4090(%rip)
-TEXT:      jmpq    *4082(%rip)
+TEXT:      jmpq    *8194(%rip)
+TEXT:      jmpq    *8186(%rip)
+TEXT:      jmpq    *8178(%rip)
 
 IMPORT:      Import {
 IMPORT-NEXT:   Name: std64.dll

Modified: lld/trunk/test/COFF/loadcfg.ll
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/loadcfg.ll?rev=329221&r1=329220&r2=329221&view=diff
==============================================================================
--- lld/trunk/test/COFF/loadcfg.ll (original)
+++ lld/trunk/test/COFF/loadcfg.ll Wed Apr  4 12:15:55 2018
@@ -2,7 +2,7 @@
 ; RUN: lld-link /out:%t.exe %t.obj /entry:main /subsystem:console
 ; RUN: llvm-readobj -file-headers %t.exe | FileCheck %s
 
-; CHECK: LoadConfigTableRVA: 0x1000
+; CHECK: LoadConfigTableRVA: 0x2000
 ; CHECK: LoadConfigTableSize: 0x70
 
 target datalayout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128"

Modified: lld/trunk/test/COFF/loadcfg.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/loadcfg.test?rev=329221&r1=329220&r2=329221&view=diff
==============================================================================
--- lld/trunk/test/COFF/loadcfg.test (original)
+++ lld/trunk/test/COFF/loadcfg.test Wed Apr  4 12:15:55 2018
@@ -2,7 +2,7 @@
 # RUN: lld-link /out:%t.exe %t.obj /entry:main /subsystem:console
 # RUN: llvm-readobj -file-headers %t.exe | FileCheck %s
 
-# CHECK: LoadConfigTableRVA: 0x1000
+# CHECK: LoadConfigTableRVA: 0x2000
 # CHECK: LoadConfigTableSize: 0x70
 
 --- !COFF

Modified: lld/trunk/test/COFF/loadcfg32.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/loadcfg32.test?rev=329221&r1=329220&r2=329221&view=diff
==============================================================================
--- lld/trunk/test/COFF/loadcfg32.test (original)
+++ lld/trunk/test/COFF/loadcfg32.test Wed Apr  4 12:15:55 2018
@@ -2,7 +2,7 @@
 # RUN: lld-link /out:%t.exe %t.obj /entry:main /subsystem:console
 # RUN: llvm-readobj -file-headers %t.exe | FileCheck %s
 
-# CHECK: LoadConfigTableRVA: 0x1000
+# CHECK: LoadConfigTableRVA: 0x2000
 # CHECK: LoadConfigTableSize: 0x40
 
 --- !COFF

Modified: lld/trunk/test/COFF/lto-comdat.ll
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/lto-comdat.ll?rev=329221&r1=329220&r2=329221&view=diff
==============================================================================
--- lld/trunk/test/COFF/lto-comdat.ll (original)
+++ lld/trunk/test/COFF/lto-comdat.ll Wed Apr  4 12:15:55 2018
@@ -45,7 +45,7 @@
 ; TEXT-11-NEXT: xorl	%eax, %eax
 ; TEXT-11-NEXT: retq
 
-; HEADERS-01: AddressOfEntryPoint: 0x2000
+; HEADERS-01: AddressOfEntryPoint: 0x1000
 ; TEXT-01: Disassembly of section .text:
 ; TEXT-01-NEXT: .text:
 ; TEXT-01-NEXT: subq	$40, %rsp
@@ -62,7 +62,7 @@
 ; TEXT-01: int3
 ; TEXT-01-NOT: {{.}}
 
-; HEADERS-10: AddressOfEntryPoint: 0x2020
+; HEADERS-10: AddressOfEntryPoint: 0x1020
 ; TEXT-10: Disassembly of section .text:
 ; TEXT-10-NEXT: .text:
 ; TEXT-10-NEXT: subq	$40, %rsp

Modified: lld/trunk/test/COFF/lto.ll
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/lto.ll?rev=329221&r1=329220&r2=329221&view=diff
==============================================================================
--- lld/trunk/test/COFF/lto.ll (original)
+++ lld/trunk/test/COFF/lto.ll Wed Apr  4 12:15:55 2018
@@ -52,7 +52,7 @@
 ; TEXT-11-NEXT: movl	$2, %eax
 ; TEXT-11-NEXT: retq
 
-; HEADERS-01: AddressOfEntryPoint: 0x2000
+; HEADERS-01: AddressOfEntryPoint: 0x1000
 ; TEXT-01: Disassembly of section .text:
 ; TEXT-01-NEXT: .text:
 ; TEXT-01-NEXT: subq	$40, %rsp
@@ -78,7 +78,7 @@
 ; TEXT-01-NEXT: int3
 ; TEXT-01-NEXT: retq
 
-; HEADERS-10: AddressOfEntryPoint: 0x2020
+; HEADERS-10: AddressOfEntryPoint: 0x1020
 ; TEXT-10: Disassembly of section .text:
 ; TEXT-10-NEXT: .text:
 ; TEXT-10-NEXT: retq

Modified: lld/trunk/test/COFF/manifestinput.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/manifestinput.test?rev=329221&r1=329220&r2=329221&view=diff
==============================================================================
--- lld/trunk/test/COFF/manifestinput.test (original)
+++ lld/trunk/test/COFF/manifestinput.test Wed Apr  4 12:15:55 2018
@@ -8,7 +8,7 @@
 # RUN: llvm-readobj -coff-resources -file-headers %t.exe | FileCheck %s \
 # RUN:   -check-prefix TEST_EMBED
 
-TEST_EMBED:          ResourceTableRVA: 0x1000
+TEST_EMBED:          ResourceTableRVA: 0x2000
 TEST_EMBED-NEXT:     ResourceTableSize: 0x298
 TEST_EMBED-DAG:      Resources [
 TEST_EMBED-NEXT:       Total Number of Resources: 1

Modified: lld/trunk/test/COFF/pdata-arm64.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/pdata-arm64.yaml?rev=329221&r1=329220&r2=329221&view=diff
==============================================================================
--- lld/trunk/test/COFF/pdata-arm64.yaml (original)
+++ lld/trunk/test/COFF/pdata-arm64.yaml Wed Apr  4 12:15:55 2018
@@ -3,7 +3,7 @@
 # RUN: lld-link /out:%t.exe /entry:func1 /subsystem:console %t.obj
 # RUN: llvm-objdump -s -section=.pdata %t.exe | FileCheck -check-prefix=PDATA %s
 
-# PDATA: 00200000 2500a100 24200000 31002201
+# PDATA: 00100000 2500a100 24100000 31002201
 
 --- !COFF
 header:

Modified: lld/trunk/test/COFF/pdb-comdat.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/pdb-comdat.test?rev=329221&r1=329220&r2=329221&view=diff
==============================================================================
--- lld/trunk/test/COFF/pdb-comdat.test (original)
+++ lld/trunk/test/COFF/pdb-comdat.test Wed Apr  4 12:15:55 2018
@@ -61,7 +61,7 @@ CHECK:         machine = intel x86-x64,
 CHECK:         frontend = 19.0.24215.1, backend = 19.0.24215.1
 CHECK:         flags = security checks | hot patchable
 CHECK:   120 | S_GPROC32 [size = 44] `main`
-CHECK:         parent = 0, end = 196, addr = 0002:0000, code size = 24
+CHECK:         parent = 0, end = 196, addr = 0001:0000, code size = 24
 CHECK:         debug start = 4, debug end = 19, flags = none
 CHECK:   164 | S_FRAMEPROC [size = 32]
 CHECK:         size = 40, padding size = 0, offset to padding = 0
@@ -70,7 +70,7 @@ CHECK:         flags = has async eh | op
 CHECK:   196 | S_END [size = 4]
 CHECK:   200 | S_BUILDINFO [size = 8] BuildId = `0x100A`
 CHECK:   208 | S_GPROC32 [size = 44] `foo`
-CHECK:         parent = 0, end = 284, addr = 0002:0032, code size = 15
+CHECK:         parent = 0, end = 284, addr = 0001:0032, code size = 15
 CHECK:         debug start = 0, debug end = 14, flags = none
 CHECK:   252 | S_FRAMEPROC [size = 32]
 CHECK:         size = 0, padding size = 0, offset to padding = 0
@@ -84,7 +84,7 @@ CHECK:       machine = intel x86-x64, Ve
 CHECK:       frontend = 19.0.24215.1, backend = 19.0.24215.1
 CHECK:       flags = security checks | hot patchable
 CHECK:   120 | S_GPROC32 [size = 44] `bar`
-CHECK:       parent = 0, end = 196, addr = 0002:0048, code size = 14
+CHECK:       parent = 0, end = 196, addr = 0001:0048, code size = 14
 CHECK:       debug start = 4, debug end = 9, flags = none
 CHECK:   164 | S_FRAMEPROC [size = 32]
 CHECK:       size = 40, padding size = 0, offset to padding = 0

Modified: lld/trunk/test/COFF/pdb-globals.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/pdb-globals.test?rev=329221&r1=329220&r2=329221&view=diff
==============================================================================
--- lld/trunk/test/COFF/pdb-globals.test (original)
+++ lld/trunk/test/COFF/pdb-globals.test Wed Apr  4 12:15:55 2018
@@ -26,7 +26,7 @@ CHECK-NEXT:            module = 1, sum n
 CHECK-NEXT:      232 | S_GDATA32 [size = 28] `__purecall`
 CHECK-NEXT:            type = 0x0403 (void*), addr = 0000:0000
 CHECK-NEXT:      260 | S_GDATA32 [size = 24] `GlobalVar`
-CHECK-NEXT:            type = 0x100B (const int*), addr = 0001:0000
+CHECK-NEXT:            type = 0x100B (const int*), addr = 0003:0000
 CHECK-NEXT:      284 | S_LDATA32 [size = 28] `ConstantVar`
 CHECK-NEXT:            type = 0x100A (const int), addr = 0002:0000
 

Modified: lld/trunk/test/COFF/pdb-procid-remapping.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/pdb-procid-remapping.test?rev=329221&r1=329220&r2=329221&view=diff
==============================================================================
--- lld/trunk/test/COFF/pdb-procid-remapping.test (original)
+++ lld/trunk/test/COFF/pdb-procid-remapping.test Wed Apr  4 12:15:55 2018
@@ -9,7 +9,7 @@ CHECK:                                Sy
 CHECK-NEXT: ============================================================
 CHECK-LABEL:    Mod 0000 |
 CHECK:                92 | S_GPROC32 [size = 44] `main`
-CHECK-NEXT:                parent = 0, end = 168, addr = 0002:0000, code size = 14
+CHECK-NEXT:                parent = 0, end = 168, addr = 0001:0000, code size = 14
 CHECK-NEXT:                type = `0x1004 (int (<no type>))`, debug start = 4, debug end = 9, flags = none
 CHECK-NEXT:          136 | S_FRAMEPROC [size = 32]
 CHECK-NEXT:                size = 40, padding size = 0, offset to padding = 0
@@ -18,7 +18,7 @@ CHECK-NEXT:                flags = has a
 CHECK-NEXT:          168 | S_END [size = 4]
 CHECK-LABEL:    Mod 0001 |
 CHECK:                92 | S_GPROC32 [size = 44] `foo`
-CHECK-NEXT:                parent = 0, end = 168, addr = 0002:0016, code size = 6
+CHECK-NEXT:                parent = 0, end = 168, addr = 0001:0016, code size = 6
 CHECK-NEXT:                type = `0x1001 (int ())`, debug start = 0, debug end = 5, flags = none
 CHECK-NEXT:          136 | S_FRAMEPROC [size = 32]
 CHECK-NEXT:                size = 0, padding size = 0, offset to padding = 0

Modified: lld/trunk/test/COFF/pdb-scopes.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/pdb-scopes.test?rev=329221&r1=329220&r2=329221&view=diff
==============================================================================
--- lld/trunk/test/COFF/pdb-scopes.test (original)
+++ lld/trunk/test/COFF/pdb-scopes.test Wed Apr  4 12:15:55 2018
@@ -35,39 +35,39 @@ RUN: llvm-pdbutil dump -symbols %t.pdb |
 
 CHECK-LABEL: Mod 0000 | `{{.*}}pdb-scopes.test.tmp-a.obj`:
 CHECK: 104 | S_GPROC32 [size = 44] `g`
-CHECK:       parent = 0, end = 196, addr = 0002:0000, code size = 5
+CHECK:       parent = 0, end = 196, addr = 0001:0000, code size = 5
 CHECK:       debug start = 4, debug end = 4, flags = none
 CHECK: 180 | S_REGREL32 [size = 16] `x`
 CHECK: 196 | S_END [size = 4]
 CHECK: 200 | S_GPROC32 [size = 44] `main`
-CHECK:       parent = 0, end = 384, addr = 0002:0016, code size = 58
+CHECK:       parent = 0, end = 384, addr = 0001:0016, code size = 58
 CHECK:       debug start = 8, debug end = 53, flags = none
 CHECK: 276 | S_REGREL32 [size = 20] `argc`
 CHECK: 296 | S_BLOCK32 [size = 24] ``
 CHECK:       parent = 200, end = 336
-CHECK:       code size = 17, addr = 0002:0031
+CHECK:       code size = 17, addr = 0001:0031
 CHECK: 320 | S_REGREL32 [size = 16] `x`
 CHECK: 336 | S_END [size = 4]
 CHECK: 340 | S_BLOCK32 [size = 24] ``
 CHECK:       parent = 200, end = 380
-CHECK:       code size = 17, addr = 0002:0050
+CHECK:       code size = 17, addr = 0001:0050
 CHECK: 364 | S_REGREL32 [size = 16] `y`
 CHECK: 380 | S_END [size = 4]
 CHECK: 384 | S_END [size = 4]
 
 CHECK-LABEL: Mod 0001 | `{{.*}}pdb-scopes.test.tmp-b.obj`:
 CHECK: 104 | S_GPROC32 [size = 44] `f`
-CHECK:       parent = 0, end = 284, addr = 0002:0080, code size = 62
+CHECK:       parent = 0, end = 284, addr = 0001:0080, code size = 62
 CHECK:       debug start = 8, debug end = 57, flags = none
 CHECK: 180 | S_REGREL32 [size = 16] `x`
 CHECK: 196 | S_BLOCK32 [size = 24] ``
 CHECK:       parent = 104, end = 236
-CHECK:       code size = 20, addr = 0002:0095
+CHECK:       code size = 20, addr = 0001:0095
 CHECK: 220 | S_REGREL32 [size = 16] `y`
 CHECK: 236 | S_END [size = 4]
 CHECK: 240 | S_BLOCK32 [size = 24] ``
 CHECK:       parent = 104, end = 280
-CHECK:       code size = 20, addr = 0002:0117
+CHECK:       code size = 20, addr = 0001:0117
 CHECK: 264 | S_REGREL32 [size = 16] `w`
 CHECK: 280 | S_END [size = 4]
 CHECK: 284 | S_END [size = 4]

Modified: lld/trunk/test/COFF/pdb-source-lines.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/pdb-source-lines.test?rev=329221&r1=329220&r2=329221&view=diff
==============================================================================
--- lld/trunk/test/COFF/pdb-source-lines.test (original)
+++ lld/trunk/test/COFF/pdb-source-lines.test Wed Apr  4 12:15:55 2018
@@ -43,7 +43,7 @@ CHECK-NEXT:         - !Lines
 CHECK-NEXT:           CodeSize:        19
 CHECK-NEXT:           Flags:           [  ]
 CHECK-NEXT:           RelocOffset:     0
-CHECK-NEXT:           RelocSegment:    2
+CHECK-NEXT:           RelocSegment:    1
 CHECK-NEXT:           Blocks:
 CHECK-NEXT:             - FileName:        '{{.*}}pdb_lines_1.c'
 CHECK-NEXT:               Lines:
@@ -68,7 +68,7 @@ CHECK-NEXT:         - !Lines
 CHECK-NEXT:           CodeSize:        14
 CHECK-NEXT:           Flags:           [  ]
 CHECK-NEXT:           RelocOffset:     32
-CHECK-NEXT:           RelocSegment:    2
+CHECK-NEXT:           RelocSegment:    1
 CHECK-NEXT:           Blocks:
 CHECK-NEXT:             - FileName:        '{{.*}}foo.h'
 CHECK-NEXT:               Lines:
@@ -103,7 +103,7 @@ CHECK-NEXT:         - !Lines
 CHECK-NEXT:           CodeSize:        1
 CHECK-NEXT:           Flags:           [  ]
 CHECK-NEXT:           RelocOffset:     48
-CHECK-NEXT:           RelocSegment:    2
+CHECK-NEXT:           RelocSegment:    1
 CHECK-NEXT:           Blocks:
 CHECK-NEXT:             - FileName:        '{{.*}}pdb_lines_2.c'
 CHECK-NEXT:               Lines:

Modified: lld/trunk/test/COFF/pdb-symbol-types.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/pdb-symbol-types.yaml?rev=329221&r1=329220&r2=329221&view=diff
==============================================================================
--- lld/trunk/test/COFF/pdb-symbol-types.yaml (original)
+++ lld/trunk/test/COFF/pdb-symbol-types.yaml Wed Apr  4 12:15:55 2018
@@ -19,7 +19,7 @@
 # CHECK-NEXT:       48 | S_PROCREF [size = 20] `main`
 # CHECK-NEXT:             module = 1, sum name = 0, offset = 116
 # CHECK-NEXT:       68 | S_GDATA32 [size = 28] `global_foo`
-# CHECK-NEXT:             type = 0x1004 (Foo), addr = 0001:0000
+# CHECK-NEXT:             type = 0x1004 (Foo), addr = 0003:0000
 
 # CHECK:                           Symbols
 # CHECK: ============================================================
@@ -30,7 +30,7 @@
 # CHECK:         frontend = 19.0.24215.1, backend = 19.0.24215.1
 # CHECK:         flags = security checks | hot patchable
 # CHECK:   116 | S_GPROC32 [size = 44] `main`
-# CHECK:         parent = 0, end = 192, addr = 0002:0000, code size = 7
+# CHECK:         parent = 0, end = 192, addr = 0001:0000, code size = 7
 # CHECK:         debug start = 0, debug end = 6, flags = none
 # CHECK:   160 | S_FRAMEPROC [size = 32]
 # CHECK:         size = 0, padding size = 0, offset to padding = 0

Modified: lld/trunk/test/COFF/pdb-type-server-simple.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/pdb-type-server-simple.test?rev=329221&r1=329220&r2=329221&view=diff
==============================================================================
--- lld/trunk/test/COFF/pdb-type-server-simple.test (original)
+++ lld/trunk/test/COFF/pdb-type-server-simple.test Wed Apr  4 12:15:55 2018
@@ -72,7 +72,7 @@ CHECK: =================================
 CHECK-LABEL:   Mod 0000 | `{{.*}}a.obj`:
 CHECK:        4 | S_OBJNAME [size = 40] sig=0, `C:\src\llvm-project\build\a.obj`
 CHECK:      104 | S_GPROC32 [size = 44] `main`
-CHECK:            parent = 0, end = 196, addr = 0002:0000, code size = 27
+CHECK:            parent = 0, end = 196, addr = 0001:0000, code size = 27
 CHECK:            type = {{.*}}, debug start = 4, debug end = 22, flags = none
 CHECK:      200 | S_BUILDINFO [size = 8] BuildId = `[[A_BUILD]]`
 CHECK-LABEL:   Mod 0001 | `{{.*}}b.obj`:
@@ -82,7 +82,7 @@ CHECK:            machine = intel x86-x6
 CHECK:            frontend = 19.0.24215.1, backend = 19.0.24215.1
 CHECK:            flags = security checks | hot patchable
 CHECK:      104 | S_GPROC32 [size = 44] `g`
-CHECK:            parent = 0, end = 196, addr = 0002:0032, code size = 13
+CHECK:            parent = 0, end = 196, addr = 0001:0032, code size = 13
 CHECK:            type = {{.*}}, debug start = 5, debug end = 12, flags = none
 CHECK:      148 | S_FRAMEPROC [size = 32]
 CHECK:            size = 0, padding size = 0, offset to padding = 0

Modified: lld/trunk/test/COFF/pdb.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/pdb.test?rev=329221&r1=329220&r2=329221&view=diff
==============================================================================
--- lld/trunk/test/COFF/pdb.test (original)
+++ lld/trunk/test/COFF/pdb.test Wed Apr  4 12:15:55 2018
@@ -181,9 +181,9 @@ RAW-NEXT:   GSI Header
 RAW-NEXT:     sig = 0xFFFFFFFF, hdr = 0xF12F091A, hr size = 16, num buckets = 524
 RAW-NEXT:   Records
 RAW-NEXT:       20 | S_PUB32 [size = 20] `main`
-RAW-NEXT:            flags = function, addr = 0002:0000
+RAW-NEXT:            flags = function, addr = 0001:0000
 RAW-NEXT:        0 | S_PUB32 [size = 20] `foo`
-RAW-NEXT:            flags = function, addr = 0002:0016
+RAW-NEXT:            flags = function, addr = 0001:0016
 RAW-NOT:             S_PUB32
 RAW-NEXT:   Hash Entries
 RAW-NEXT:     off = 21, refcnt = 1
@@ -196,93 +196,96 @@ RAW-NEXT:     off = 20
 RAW-NEXT:     off = 0
 RAW:                            Section Headers
 RAW-NEXT: ============================================================
+
 RAW:        SECTION HEADER #1
-RAW-NEXT:     .pdata name
-RAW-NEXT:            virtual size
-RAW-NEXT:       1000 virtual address
-RAW-NEXT:        200 size of raw data
-RAW-NEXT:        400 file pointer to raw data
-RAW-NEXT:          0 file pointer to relocation table
-RAW-NEXT:          0 file pointer to line numbers
-RAW-NEXT:          0 number of relocations
-RAW-NEXT:          0 number of line numbers
-RAW-NEXT:   40000040 flags
-RAW-NEXT:            IMAGE_SCN_CNT_INITIALIZED_DATA
-RAW-NEXT:            IMAGE_SCN_MEM_READ
+RAW-NEXT:     .text name
+RAW-NEXT:        16 virtual size
+RAW-NEXT:      1000 virtual address
+RAW-NEXT:       200 size of raw data
+RAW-NEXT:       400 file pointer to raw data
+RAW-NEXT:         0 file pointer to relocation table
+RAW-NEXT:         0 file pointer to line numbers
+RAW-NEXT:         0 number of relocations
+RAW-NEXT:         0 number of line numbers
+RAW-NEXT:  60000020 flags
+RAW-NEXT:           IMAGE_SCN_CNT_CODE
+RAW-NEXT:           IMAGE_SCN_MEM_EXECUTE
+RAW-NEXT:           IMAGE_SCN_MEM_READ
 RAW:        SECTION HEADER #2
-RAW-NEXT:      .text name
-RAW-NEXT:            virtual size
-RAW-NEXT:       2000 virtual address
-RAW-NEXT:        200 size of raw data
-RAW-NEXT:        600 file pointer to raw data
-RAW-NEXT:          0 file pointer to relocation table
-RAW-NEXT:          0 file pointer to line numbers
-RAW-NEXT:          0 number of relocations
-RAW-NEXT:          0 number of line numbers
-RAW-NEXT:   60000020 flags
-RAW-NEXT:            IMAGE_SCN_CNT_CODE
-RAW-NEXT:            IMAGE_SCN_MEM_EXECUTE
-RAW-NEXT:            IMAGE_SCN_MEM_READ
+RAW-NEXT:    .rdata name
+RAW-NEXT:        79 virtual size
+RAW-NEXT:      2000 virtual address
+RAW-NEXT:       200 size of raw data
+RAW-NEXT:       600 file pointer to raw data
+RAW-NEXT:         0 file pointer to relocation table
+RAW-NEXT:         0 file pointer to line numbers
+RAW-NEXT:         0 number of relocations
+RAW-NEXT:         0 number of line numbers
+RAW-NEXT:  40000040 flags
+RAW-NEXT:           IMAGE_SCN_CNT_INITIALIZED_DATA
+RAW-NEXT:           IMAGE_SCN_MEM_READ
 RAW:        SECTION HEADER #3
-RAW-NEXT:     .xdata name
-RAW-NEXT:            virtual size
-RAW-NEXT:       3000 virtual address
-RAW-NEXT:        200 size of raw data
-RAW-NEXT:        800 file pointer to raw data
-RAW-NEXT:          0 file pointer to relocation table
-RAW-NEXT:          0 file pointer to line numbers
-RAW-NEXT:          0 number of relocations
-RAW-NEXT:          0 number of line numbers
-RAW-NEXT:   40000040 flags
-RAW-NEXT:            IMAGE_SCN_CNT_INITIALIZED_DATA
-RAW-NEXT:            IMAGE_SCN_MEM_READ
+RAW-NEXT:    .pdata name
+RAW-NEXT:         C virtual size
+RAW-NEXT:      3000 virtual address
+RAW-NEXT:       200 size of raw data
+RAW-NEXT:       800 file pointer to raw data
+RAW-NEXT:         0 file pointer to relocation table
+RAW-NEXT:         0 file pointer to line numbers
+RAW-NEXT:         0 number of relocations
+RAW-NEXT:         0 number of line numbers
+RAW-NEXT:  40000040 flags
+RAW-NEXT:           IMAGE_SCN_CNT_INITIALIZED_DATA
+RAW-NEXT:           IMAGE_SCN_MEM_READ
 RAW:        SECTION HEADER #4
-RAW-NEXT:     .rdata name
-RAW-NEXT:            virtual size
-RAW-NEXT:       4000 virtual address
-RAW-NEXT:        200 size of raw data
-RAW-NEXT:        A00 file pointer to raw data
-RAW-NEXT:          0 file pointer to relocation table
-RAW-NEXT:          0 file pointer to line numbers
-RAW-NEXT:          0 number of relocations
-RAW-NEXT:          0 number of line numbers
-RAW-NEXT:   40000040 flags
-RAW-NEXT:            IMAGE_SCN_CNT_INITIALIZED_DATA
-RAW-NEXT:            IMAGE_SCN_MEM_READ
+RAW-NEXT:    .xdata name
+RAW-NEXT:         8 virtual size
+RAW-NEXT:      4000 virtual address
+RAW-NEXT:       200 size of raw data
+RAW-NEXT:       A00 file pointer to raw data
+RAW-NEXT:         0 file pointer to relocation table
+RAW-NEXT:         0 file pointer to line numbers
+RAW-NEXT:         0 number of relocations
+RAW-NEXT:         0 number of line numbers
+RAW-NEXT:  40000040 flags
+RAW-NEXT:           IMAGE_SCN_CNT_INITIALIZED_DATA
+RAW-NEXT:           IMAGE_SCN_MEM_READ
 RAW:                        Original Section Headers
 RAW-NEXT: ============================================================
 RAW-NEXT:   PDB does not contain the requested image section header type
 RAW:                        Section Contributions
 RAW-NEXT: ============================================================
-RAW-NEXT:   SC[.pdata]  | mod = 0, 0001:0000, size = 12, data crc = 361370162, reloc crc = 0
-RAW-NEXT:                 IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_ALIGN_4BYTES | IMAGE_SCN_MEM_READ
-RAW-NEXT:   SC[.text]   | mod = 0, 0002:0000, size = 14, data crc = 1682752513, reloc crc = 0
+
+RAW-NEXT:   SC[.text]   | mod = 0, 0001:0000, size = 14, data crc = 1682752513, reloc crc = 0
 RAW-NEXT:                 IMAGE_SCN_CNT_CODE | IMAGE_SCN_ALIGN_16BYTES | IMAGE_SCN_MEM_EXECUTE |
 RAW-NEXT:                 IMAGE_SCN_MEM_READ
-RAW-NEXT:   SC[.text]   | mod = 1, 0002:0016, size = 6, data crc = 2139436471, reloc crc = 0
+RAW-NEXT:   SC[.text]   | mod = 1, 0001:0016, size = 6, data crc = 2139436471, reloc crc = 0
 RAW-NEXT:                 IMAGE_SCN_CNT_CODE | IMAGE_SCN_ALIGN_16BYTES | IMAGE_SCN_MEM_EXECUTE |
 RAW-NEXT:                 IMAGE_SCN_MEM_READ
-RAW-NEXT:   SC[.xdata]  | mod = 0, 0003:0000, size = 8, data crc = 264583633, reloc crc = 0
-RAW-NEXT:                 IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_ALIGN_4BYTES | IMAGE_SCN_MEM_READ
-RAW-NEXT:   SC[???]     | mod = 2, 0004:0000, size = {{[0-9]+}}, data crc = 0, reloc crc = 0
+RAW-NEXT:   SC[.rdata]  | mod = 2, 0002:0000, size = 28, data crc = 0, reloc crc = 0
 RAW-NEXT:                 IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ
-RAW-NEXT:   SC[???]     | mod = 2, 0004:0028, size = {{[0-9]+}}, data crc = 0, reloc crc = 0
+RAW-NEXT:   SC[.rdata]  | mod = 2, 0002:0028, size = 93, data crc = 0, reloc crc = 0
 RAW-NEXT:                 IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ
+RAW-NEXT:   SC[.pdata]  | mod = 0, 0003:0000, size = 12, data crc = 361370162, reloc crc = 0
+RAW-NEXT:                 IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_ALIGN_4BYTES | IMAGE_SCN_MEM_READ
+RAW-NEXT:   SC[???]     | mod = 0, 0004:0000, size = 8, data crc = 264583633, reloc crc = 0
+RAW-NEXT:                 IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_ALIGN_4BYTES | IMAGE_SCN_MEM_READ
 RAW-NOT: SC[
 RAW:                             Section Map
 RAW-NEXT: ============================================================
+
 RAW-NEXT:   Section 0000 | ovl = 0, group = 0, frame = 1, name = 65535
-RAW-NEXT:                  class = 65535, offset = 0, size =
-RAW-NEXT:                  flags = read | 32 bit addr | selector
-RAW-NEXT:   Section 0001 | ovl = 0, group = 0, frame = 2, name = 65535
-RAW-NEXT:                  class = 65535, offset = 0, size =
+RAW-NEXT:                  class = 65535, offset = 0, size = 22
 RAW-NEXT:                  flags = read | execute | 32 bit addr | selector
+RAW-NEXT:   Section 0001 | ovl = 0, group = 0, frame = 2, name = 65535
+RAW-NEXT:                  class = 65535, offset = 0, size = 121
+RAW-NEXT:                  flags = read | 32 bit addr | selector
 RAW-NEXT:   Section 0002 | ovl = 0, group = 0, frame = 3, name = 65535
-RAW-NEXT:                  class = 65535, offset = 0, size =
+RAW-NEXT:                  class = 65535, offset = 0, size = 12
 RAW-NEXT:                  flags = read | 32 bit addr | selector
 RAW-NEXT:   Section 0003 | ovl = 0, group = 0, frame = 4, name = 65535
-RAW-NEXT:                  class = 65535, offset = 0, size =
+RAW-NEXT:                  class = 65535, offset = 0, size = 8
 RAW-NEXT:                  flags = read | 32 bit addr | selector
 RAW-NEXT:   Section 0004 | ovl = 0, group = 0, frame = 5, name = 65535
-RAW-NEXT:                  class = 65535, offset = 0, size =
+RAW-NEXT:                  class = 65535, offset = 0, size = 4294967295
 RAW-NEXT:                  flags = 32 bit addr | absolute addr

Modified: lld/trunk/test/COFF/reloc-arm.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/reloc-arm.test?rev=329221&r1=329220&r2=329221&view=diff
==============================================================================
--- lld/trunk/test/COFF/reloc-arm.test (original)
+++ lld/trunk/test/COFF/reloc-arm.test Wed Apr  4 12:15:55 2018
@@ -3,14 +3,14 @@
 # RUN: llvm-objdump -s %t.exe | FileCheck %s
 
 # CHECK: .text:
-# CHECK: 402000 01104000 00000000 00000000 00000000
-# CHECK: 402010 01100000 00000000 00000000 00000000
-# CHECK: 402020 41f20009 c0f24009 00000000 00000000
-# CHECK: 402030 fe07e62f 00000000 00000000 00000000
-# CHECK: 402040 3e04de2f 00000000 00000000 00000000
-# CHECK: 402050 fe07d62f 00000000 00000000 00000000
-# CHECK: 402060 fef0cef7 00000000 00000000 00000000
-# CHECK: 402070 00005000 00000000 00000000 00000000
+# CHECK: 401000 01204000 00000000 00000000 00000000
+# CHECK: 401010 01200000 00000000 00000000 00000000
+# CHECK: 401020 42f20009 c0f24009 00000000 00000000
+# CHECK: 401030 0000e62f 00000000 00000000 00000000
+# CHECK: 401040 0000de07 00000000 00000000 00000000
+# CHECK: 401050 0000d62f 00000000 00000000 00000000
+# CHECK: 401060 00f1cef7 00000000 00000000 00000000
+# CHECK: 401070 00005000 00000000 00000000 00000000
 
 --- !COFF
 header:

Modified: lld/trunk/test/COFF/resource.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/resource.test?rev=329221&r1=329220&r2=329221&view=diff
==============================================================================
--- lld/trunk/test/COFF/resource.test (original)
+++ lld/trunk/test/COFF/resource.test Wed Apr  4 12:15:55 2018
@@ -10,11 +10,11 @@ EXE: {{H.e.l.l.o}}
 # RUN: llvm-readobj -file-headers -coff-resources -section-data %t.exe | \
 # RUN:   FileCheck --check-prefix=RESOURCE_INFO %s
 
-RESOURCE_INFO:      ResourceTableRVA: 0x1000
+RESOURCE_INFO:      ResourceTableRVA: 0x2000
 RESOURCE_INFO-NEXT: ResourceTableSize: 0x88
 RESOURCE_INFO-DAG:  Resources [
 RESOURCE_INFO-NEXT:   Total Number of Resources: 1
-RESOURCE_INFO-NEXT:   Base Table Address: 0x400
+RESOURCE_INFO-NEXT:   Base Table Address: 0x600
 RESOURCE_INFO-DAG:    Number of String Entries: 0
 RESOURCE_INFO-NEXT:   Number of ID Entries: 1
 RESOURCE_INFO-NEXT:   Type: kRT_STRING (ID 6) [
@@ -36,7 +36,7 @@ RESOURCE_INFO-NEXT: 0000: 00000000 00000
 RESOURCE_INFO-NEXT: 0010: 06000000 18000080 00000000 00000000  |................|
 RESOURCE_INFO-NEXT: 0020: 00000000 00000100 01000000 30000080  |............0...|
 RESOURCE_INFO-NEXT: 0030: 00000000 00000000 00000000 00000100  |................|
-RESOURCE_INFO-NEXT: 0040: 09040000 48000000 58100000 2A000000  |....H...X...*...|
+RESOURCE_INFO-NEXT: 0040: 09040000 48000000 58200000 2A000000  |....H...X ..*...|
 RESOURCE_INFO-NEXT: 0050: 00000000 00000000 00000500 48006500  |............H.e.|
 RESOURCE_INFO-NEXT: 0060: 6C006C00 6F000000 00000000 00000000  |l.l.o...........|
 RESOURCE_INFO-NEXT: 0070: 00000000 00000000 00000000 00000000  |................|

Modified: lld/trunk/test/COFF/safeseh.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/safeseh.s?rev=329221&r1=329220&r2=329221&view=diff
==============================================================================
--- lld/trunk/test/COFF/safeseh.s (original)
+++ lld/trunk/test/COFF/safeseh.s Wed Apr  4 12:15:55 2018
@@ -12,11 +12,11 @@
 # CHECK-NOGC:     Type: HIGHLOW
 # CHECK-NOGC: LoadConfig [
 # CHECK-NOGC:   Size: 0x48
-# CHECK-NOGC:   SEHandlerTable: 0x401048
+# CHECK-NOGC:   SEHandlerTable: 0x402048
 # CHECK-NOGC:   SEHandlerCount: 1
 # CHECK-NOGC: ]
 # CHECK-NOGC: SEHTable [
-# CHECK-NOGC-NEXT:   0x402006
+# CHECK-NOGC-NEXT:   0x401006
 # CHECK-NOGC-NEXT: ]
 
 # Without the SEH table, the address is absolute, so check that we do

Modified: lld/trunk/test/COFF/secidx-absolute.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/secidx-absolute.s?rev=329221&r1=329220&r2=329221&view=diff
==============================================================================
--- lld/trunk/test/COFF/secidx-absolute.s (original)
+++ lld/trunk/test/COFF/secidx-absolute.s Wed Apr  4 12:15:55 2018
@@ -16,17 +16,17 @@ ret
 # CHECK: Sections [
 # CHECK:   Section {
 # CHECK:     Number: 1
-# CHECK:     Name: .rdata (2E 72 64 61 74 61 00 00)
+# CHECK:     Name: .text (2E 74 65 78 74 00 00 00)
+# CHECK:     VirtualSize: 0x1
 # CHECK:     SectionData (
-# CHECK:       0000: 0300                                 |..|
+# CHECK:       0000: C3                                   |.|
 # CHECK:     )
 # CHECK:   }
 # CHECK:   Section {
 # CHECK:     Number: 2
-# CHECK:     Name: .text (2E 74 65 78 74 00 00 00)
-# CHECK:     VirtualSize: 0x1
+# CHECK:     Name: .rdata (2E 72 64 61 74 61 00 00)
 # CHECK:     SectionData (
-# CHECK:       0000: C3                                   |.|
+# CHECK:       0000: 0300                                 |..|
 # CHECK:     )
 # CHECK:   }
 # CHECK-NOT: Section

Modified: lld/trunk/test/COFF/secrel-common.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/secrel-common.s?rev=329221&r1=329220&r2=329221&view=diff
==============================================================================
--- lld/trunk/test/COFF/secrel-common.s (original)
+++ lld/trunk/test/COFF/secrel-common.s Wed Apr  4 12:15:55 2018
@@ -7,22 +7,22 @@
 # CHECK: Sections [
 # CHECK:   Section {
 # CHECK:     Number: 1
-# CHECK:     Name: .bss (2E 62 73 73 00 00 00 00)
-# CHECK:     VirtualSize: 0x4
+# CHECK:     Name: .text (2E 74 65 78 74 00 00 00)
+# CHECK:     VirtualSize: 0x1
+# CHECK:     SectionData (
+# CHECK:       0000: C3                                   |.|
+# CHECK:     )
 # CHECK:   }
 # CHECK:   Section {
 # CHECK:     Number: 2
-# CHECK:     Name: .rdata (2E 72 64 61 74 61 00 00)
-# CHECK:     SectionData (
-# CHECK:       0000: 00000000 01000000 |........|
-# CHECK:     )
+# CHECK:     Name: .bss (2E 62 73 73 00 00 00 00)
+# CHECK:     VirtualSize: 0x4
 # CHECK:   }
 # CHECK:   Section {
 # CHECK:     Number: 3
-# CHECK:     Name: .text (2E 74 65 78 74 00 00 00)
-# CHECK:     VirtualSize: 0x1
+# CHECK:     Name: .rdata (2E 72 64 61 74 61 00 00)
 # CHECK:     SectionData (
-# CHECK:       0000: C3                                   |.|
+# CHECK:       0000: 00000000 02000000 |........|
 # CHECK:     )
 # CHECK:   }
 # CHECK-NOT: Section

Modified: lld/trunk/test/COFF/string-tail-merge.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/string-tail-merge.s?rev=329221&r1=329220&r2=329221&view=diff
==============================================================================
--- lld/trunk/test/COFF/string-tail-merge.s (original)
+++ lld/trunk/test/COFF/string-tail-merge.s Wed Apr  4 12:15:55 2018
@@ -3,29 +3,30 @@
 # RUN: lld-link %t.obj /out:%t.exe /entry:main /subsystem:console
 # RUN: llvm-objdump -s %t.exe | FileCheck %s
 
-# CHECK: Contents of section .rdata:
-# CHECK-NEXT:  140002000 68656c6c 6f20776f 726c6400 6fa26ca4  hello world.o.l.
-# CHECK-NEXT:  140002010 0068656c 6c6f2077 6f726c64 00006865  .hello world..he
-# CHECK-NEXT:  140002020 6c6c6f20 776f726c 64006800 65006c00  llo world.h.e.l.
-# CHECK-NEXT:  140002030 6c006f00 20007700 6f007200 6c006400  l.o. .w.o.r.l.d.
-# CHECK-NEXT:  140002040 0000                                 ..
-
 # CHECK: Contents of section .text:
 .globl main
 main:
-# CHECK-NEXT: 140003000 11200040 01000000 17200040 01000000
+# CHECK-NEXT: 140001000 11200040 01000000 17200040 01000000
 .8byte "??_C at _0M@LACCCNMM at hello?5world?$AA@"
 .8byte "??_C at _05MCBCHHEJ@world?$AA@"
-# CHECK-NEXT: 140003010 2a200040 01000000 36200040 01000000
+# CHECK-NEXT: 140001010 2a200040 01000000 36200040 01000000
 .8byte "??_C at _1BI@HHJHKLLN@?$AAh?$AAe?$AAl?$AAl?$AAo?$AA?5?$AAw?$AAo?$AAr?$AAl?$AAd?$AA?$AA@"
 .8byte "??_C at _1M@NBBDDHIO@?$AAw?$AAo?$AAr?$AAl?$AAd?$AA?$AA@"
-# CHECK-NEXT: 140003020 00200040 01000000 0c200040 01000000
+# CHECK-NEXT: 140001020 00200040 01000000 0c200040 01000000
 .8byte "??_D at not_a_string_literal"
 .8byte "??_C at string_literal_with_relocs"
-# CHECK-NEXT: 140003030 00100040 01000000 1e200040 01000000
+# CHECK-NEXT: 140001030 00300040 01000000 1e200040 01000000
 .8byte "??_C at string_literal_in_wrong_section"
 .8byte "??_C at overaligned_string_literal"
 
+# CHECK: Contents of section .rdata:
+# CHECK-NEXT:  140002000 68656c6c 6f20776f 726c6400 6f826ca4  hello world.o.l.
+# CHECK-NEXT:  140002010 0068656c 6c6f2077 6f726c64 00006865  .hello world..he
+# CHECK-NEXT:  140002020 6c6c6f20 776f726c 64006800 65006c00  llo world.h.e.l.
+# CHECK-NEXT:  140002030 6c006f00 20007700 6f007200 6c006400  l.o. .w.o.r.l.d.
+# CHECK-NEXT:  140002040 0000                                 ..
+
+
 .section .rdata,"dr",discard,"??_C at _0M@LACCCNMM at hello?5world?$AA@"
 .globl "??_C at _0M@LACCCNMM at hello?5world?$AA@"
 "??_C at _0M@LACCCNMM at hello?5world?$AA@":

Modified: lld/trunk/test/COFF/symtab.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/symtab.test?rev=329221&r1=329220&r2=329221&view=diff
==============================================================================
--- lld/trunk/test/COFF/symtab.test (original)
+++ lld/trunk/test/COFF/symtab.test Wed Apr  4 12:15:55 2018
@@ -11,7 +11,7 @@
 # CHECK-NEXT:   Symbol {
 # CHECK-NEXT:     Name: .text
 # CHECK-NEXT:     Value: 0
-# CHECK-NEXT:     Section: .text (2)
+# CHECK-NEXT:     Section: .text (1)
 # CHECK-NEXT:     BaseType: Null (0x0)
 # CHECK-NEXT:     ComplexType: Null (0x0)
 # CHECK-NEXT:     StorageClass: Static (0x3)
@@ -20,7 +20,7 @@
 # CHECK-NEXT:   Symbol {
 # CHECK-NEXT:     Name: .text2
 # CHECK-NEXT:     Value: 0
-# CHECK-NEXT:     Section: .text (2)
+# CHECK-NEXT:     Section: .text (1)
 # CHECK-NEXT:     BaseType: Null (0x0)
 # CHECK-NEXT:     ComplexType: Null (0x0)
 # CHECK-NEXT:     StorageClass: Static (0x3)
@@ -29,7 +29,7 @@
 # CHECK-NEXT:   Symbol {
 # CHECK-NEXT:     Name: .data
 # CHECK-NEXT:     Value: 0
-# CHECK-NEXT:     Section: .data (1)
+# CHECK-NEXT:     Section: .data (3)
 # CHECK-NEXT:     BaseType: Null (0x0)
 # CHECK-NEXT:     ComplexType: Null (0x0)
 # CHECK-NEXT:     StorageClass: Static (0x3)
@@ -38,7 +38,7 @@
 # CHECK-NEXT:   Symbol {
 # CHECK-NEXT:     Name: MessageBoxA
 # CHECK-NEXT:     Value: 80
-# CHECK-NEXT:     Section: .text (2)
+# CHECK-NEXT:     Section: .text (1)
 # CHECK-NEXT:     BaseType: Null (0x0)
 # CHECK-NEXT:     ComplexType: Null (0x0)
 # CHECK-NEXT:     StorageClass: External (0x2)
@@ -47,7 +47,7 @@
 # CHECK-NEXT:   Symbol {
 # CHECK-NEXT:     Name: ExitProcess
 # CHECK-NEXT:     Value: 64
-# CHECK-NEXT:     Section: .text (2)
+# CHECK-NEXT:     Section: .text (1)
 # CHECK-NEXT:     BaseType: Null (0x0)
 # CHECK-NEXT:     ComplexType: Null (0x0)
 # CHECK-NEXT:     StorageClass: External (0x2)
@@ -56,7 +56,7 @@
 # CHECK-NEXT:   Symbol {
 # CHECK-NEXT:     Name: message
 # CHECK-NEXT:     Value: 6
-# CHECK-NEXT:     Section: .text2 (3)
+# CHECK-NEXT:     Section: .text2 (5)
 # CHECK-NEXT:     BaseType: Null (0x0)
 # CHECK-NEXT:     ComplexType: Null (0x0)
 # CHECK-NEXT:     StorageClass: Static (0x3)
@@ -65,7 +65,7 @@
 # CHECK-NEXT:   Symbol {
 # CHECK-NEXT:     Name: main
 # CHECK-NEXT:     Value: 0
-# CHECK-NEXT:     Section: .text (2)
+# CHECK-NEXT:     Section: .text (1)
 # CHECK-NEXT:     BaseType: Null (0x0)
 # CHECK-NEXT:     ComplexType: Null (0x0)
 # CHECK-NEXT:     StorageClass: External (0x2)
@@ -74,7 +74,7 @@
 # CHECK-NEXT:   Symbol {
 # CHECK-NEXT:     Name: caption
 # CHECK-NEXT:     Value: 0
-# CHECK-NEXT:     Section: .text2 (3)
+# CHECK-NEXT:     Section: .text2 (5)
 # CHECK-NEXT:     BaseType: Null (0x0)
 # CHECK-NEXT:     ComplexType: Null (0x0)
 # CHECK-NEXT:     StorageClass: Static (0x3)

Modified: lld/trunk/test/COFF/unwind.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/unwind.test?rev=329221&r1=329220&r2=329221&view=diff
==============================================================================
--- lld/trunk/test/COFF/unwind.test (original)
+++ lld/trunk/test/COFF/unwind.test Wed Apr  4 12:15:55 2018
@@ -4,11 +4,11 @@
 # RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=HEADER %s
 # RUN: llvm-objdump -unwind-info %t.exe | FileCheck -check-prefix=UNWIND %s
 #
-# HEADER: ExceptionTableRVA: 0x1000
+# HEADER: ExceptionTableRVA: 0x2000
 #
 # UNWIND: Function Table:
-# UNWIND:   Start Address: 0x2000
-# UNWIND:   End Address: 0x201b
+# UNWIND:   Start Address: 0x1000
+# UNWIND:   End Address: 0x101b
 # UNWIND:   Unwind Info Address: 0x3000
 # UNWIND:     Version: 1
 # UNWIND:     Flags: 1 UNW_ExceptionHandler
@@ -24,8 +24,8 @@
 # UNWIND:       0x04: UOP_AllocSmall 24
 # UNWIND:       0x00: UOP_PushMachFrame w/o error code
 # UNWIND: Function Table:
-# UNWIND:   Start Address: 0x2012
-# UNWIND:   End Address: 0x2012
+# UNWIND:   Start Address: 0x1012
+# UNWIND:   End Address: 0x1012
 # UNWIND:   Unwind Info Address: 0x301c
 # UNWIND:     Version: 1
 # UNWIND:     Flags: 4 UNW_ChainInfo
@@ -33,8 +33,8 @@
 # UNWIND:     Number of Codes: 0
 # UNWIND:     No frame pointer used
 # UNWIND: Function Table:
-# UNWIND:   Start Address: 0x201b
-# UNWIND:   End Address: 0x201c
+# UNWIND:   Start Address: 0x101b
+# UNWIND:   End Address: 0x101c
 # UNWIND:   Unwind Info Address: 0x302c
 # UNWIND:     Version: 1
 # UNWIND:     Flags: 0
@@ -42,8 +42,8 @@
 # UNWIND:     Number of Codes: 0
 # UNWIND:     No frame pointer used
 # UNWIND: Function Table:
-# UNWIND:   Start Address: 0x201c
-# UNWIND:   End Address: 0x2039
+# UNWIND:   Start Address: 0x101c
+# UNWIND:   End Address: 0x1039
 # UNWIND:   Unwind Info Address: 0x3034
 # UNWIND:     Version: 1
 # UNWIND:     Flags: 0




More information about the llvm-commits mailing list