[lld] r356117 - [ELF] Simplify RelRo, TLS, NOBITS section ranks and make RW PT_LOAD start with RelRo

Fangrui Song via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 13 20:47:45 PDT 2019


Author: maskray
Date: Wed Mar 13 20:47:45 2019
New Revision: 356117

URL: http://llvm.org/viewvc/llvm-project?rev=356117&view=rev
Log:
[ELF] Simplify RelRo, TLS, NOBITS section ranks and make RW PT_LOAD start with RelRo

Old: PT_LOAD(.data | PT_GNU_RELRO(.data.rel.ro .bss.rel.ro) | .bss)
New: PT_LOAD(PT_GNU_RELRO(.data.rel.ro .bss.rel.ro) | .data .bss)

The placement of | indicates page alignment caused by PT_GNU_RELRO. The
new layout has simpler rules and saves space for many cases.

Old size: roundup(.data) + roundup(.data.rel.ro)
New size: roundup(.data.rel.ro + .bss.rel.ro) + .data

Other advantages:

* At runtime the 3 memory mappings decrease to 2.
* start(PT_TLS) = start(PT_GNU_RELRO) = start(RW PT_LOAD). This
  simplifies binary manipulation tools.
  GNU strip before 2.31 discards PT_GNU_RELRO if its
  address is not equal to the start of its associated PT_LOAD.
  This has been fixed by https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=f2731e0c374e5323ce4cdae2bcc7b7fe22da1a6f
  But with this change, we will be compatible with GNU strip before 2.31
* Before, .got.plt (non-relro by default) was placed before .got (relro
  by default), which made it impossible to have _GLOBAL_OFFSET_TABLE_
  (start of .got.plt on x86-64) equal to the end of .got (R_GOT*_FROM_END)
  (https://bugs.llvm.org/show_bug.cgi?id=36555). With the new ordering, we
  can improve on this regard if we'd like to.

Reviewers: ruiu, espindola, pcc

Subscribers: emaste, arichardson, llvm-commits, joerg, jdoerfert

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

Modified:
    lld/trunk/ELF/Writer.cpp
    lld/trunk/test/ELF/aarch64-condb-reloc.s
    lld/trunk/test/ELF/aarch64-cortex-a53-843419-large.s
    lld/trunk/test/ELF/aarch64-cortex-a53-843419-recognize.s
    lld/trunk/test/ELF/aarch64-cortex-a53-843419-thunk.s
    lld/trunk/test/ELF/aarch64-gnu-ifunc-address-pie.s
    lld/trunk/test/ELF/aarch64-gnu-ifunc-plt.s
    lld/trunk/test/ELF/aarch64-ldprel-lo19-invalid.s
    lld/trunk/test/ELF/aarch64-load-alignment.s
    lld/trunk/test/ELF/aarch64-thunk-pi.s
    lld/trunk/test/ELF/aarch64-tstbr14-reloc.s
    lld/trunk/test/ELF/amdgpu-relocs.s
    lld/trunk/test/ELF/arm-abs32-dyn.s
    lld/trunk/test/ELF/arm-exidx-shared.s
    lld/trunk/test/ELF/arm-fpic-got.s
    lld/trunk/test/ELF/arm-gnu-ifunc-plt.s
    lld/trunk/test/ELF/arm-pie-relative.s
    lld/trunk/test/ELF/arm-plt-reloc.s
    lld/trunk/test/ELF/arm-thumb-interwork-shared.s
    lld/trunk/test/ELF/arm-thumb-plt-range-thunk-os.s
    lld/trunk/test/ELF/arm-thumb-plt-reloc.s
    lld/trunk/test/ELF/arm-thunk-multipass-plt.s
    lld/trunk/test/ELF/arm-thunk-re-add.s
    lld/trunk/test/ELF/arm-tls-norelax-gd-ie.s
    lld/trunk/test/ELF/arm-tls-norelax-gd-le.s
    lld/trunk/test/ELF/arm-tls-norelax-ie-le.s
    lld/trunk/test/ELF/arm-tls-norelax-ld-le.s
    lld/trunk/test/ELF/combrelocs.s
    lld/trunk/test/ELF/copy-rel-pie.s
    lld/trunk/test/ELF/dynamic-got.s
    lld/trunk/test/ELF/dynamic-list-weak-archive.s
    lld/trunk/test/ELF/dynamic-reloc-index.s
    lld/trunk/test/ELF/dynamic-reloc.s
    lld/trunk/test/ELF/emit-relocs-merge.s
    lld/trunk/test/ELF/emit-relocs-shared.s
    lld/trunk/test/ELF/executable-undefined-ignoreall.s
    lld/trunk/test/ELF/gc-sections-linker-defined-symbol.s
    lld/trunk/test/ELF/global-offset-table-position-aarch64.s
    lld/trunk/test/ELF/global-offset-table-position-arm.s
    lld/trunk/test/ELF/global-offset-table-position-i386.s
    lld/trunk/test/ELF/global-offset-table-position.s
    lld/trunk/test/ELF/global_offset_table_shared.s
    lld/trunk/test/ELF/gnu-ifunc-canon.s
    lld/trunk/test/ELF/gnu-ifunc-dso.s
    lld/trunk/test/ELF/gnu-ifunc-dyntags.s
    lld/trunk/test/ELF/gnu-ifunc-plt-i386.s
    lld/trunk/test/ELF/gnu-ifunc-plt.s
    lld/trunk/test/ELF/gnu-ifunc-shared.s
    lld/trunk/test/ELF/got-aarch64.s
    lld/trunk/test/ELF/got-plt-header.s
    lld/trunk/test/ELF/got32x-i386.s
    lld/trunk/test/ELF/gotpc-relax-nopic.s
    lld/trunk/test/ELF/hexagon-shared.s
    lld/trunk/test/ELF/i386-gotpc.s
    lld/trunk/test/ELF/i386-merge.s
    lld/trunk/test/ELF/i386-retpoline-nopic-linkerscript.s
    lld/trunk/test/ELF/i386-retpoline-nopic.s
    lld/trunk/test/ELF/i386-retpoline-pic-linkerscript.s
    lld/trunk/test/ELF/i386-retpoline-pic.s
    lld/trunk/test/ELF/linkerscript/align-section-offset.test
    lld/trunk/test/ELF/linkerscript/emit-reloc.s
    lld/trunk/test/ELF/linkerscript/orphan.s
    lld/trunk/test/ELF/linkerscript/out-of-order.s
    lld/trunk/test/ELF/linkerscript/overlapping-sections.s
    lld/trunk/test/ELF/linkerscript/repsection-symbol.s
    lld/trunk/test/ELF/linkerscript/sort-non-script.s
    lld/trunk/test/ELF/linkerscript/version-linker-symbol.s
    lld/trunk/test/ELF/lto/undefined-puts.ll
    lld/trunk/test/ELF/lto/visibility.ll
    lld/trunk/test/ELF/map-file.s
    lld/trunk/test/ELF/merge-section-types.s
    lld/trunk/test/ELF/mips-mgot.s
    lld/trunk/test/ELF/mips-tls-64.s
    lld/trunk/test/ELF/mips-tls-static-64.s
    lld/trunk/test/ELF/mips-tls-static.s
    lld/trunk/test/ELF/mips-tls.s
    lld/trunk/test/ELF/pack-dyn-relocs-loop.s
    lld/trunk/test/ELF/pack-dyn-relocs.s
    lld/trunk/test/ELF/pack-dyn-relocs2.s
    lld/trunk/test/ELF/plt-aarch64.s
    lld/trunk/test/ELF/plt-i686.s
    lld/trunk/test/ELF/plt.s
    lld/trunk/test/ELF/ppc-rela.s
    lld/trunk/test/ELF/ppc64-call-reach.s
    lld/trunk/test/ELF/ppc64-func-entry-points.s
    lld/trunk/test/ELF/ppc64-got-indirect.s
    lld/trunk/test/ELF/ppc64-long-branch.s
    lld/trunk/test/ELF/ppc64-shared-long_branch.s
    lld/trunk/test/ELF/ppc64-toc-rel.s
    lld/trunk/test/ELF/pr34660.s
    lld/trunk/test/ELF/rel-offset.s
    lld/trunk/test/ELF/relative-dynamic-reloc-pie.s
    lld/trunk/test/ELF/relative-dynamic-reloc-ppc64.s
    lld/trunk/test/ELF/relative-dynamic-reloc.s
    lld/trunk/test/ELF/relocation-copy-flags.s
    lld/trunk/test/ELF/relocation-i686.s
    lld/trunk/test/ELF/relocation-non-alloc.s
    lld/trunk/test/ELF/relocation-relative-weak.s
    lld/trunk/test/ELF/relocation.s
    lld/trunk/test/ELF/relro-non-contiguous.s
    lld/trunk/test/ELF/section-layout.s
    lld/trunk/test/ELF/section-name.s
    lld/trunk/test/ELF/sort-norosegment.s
    lld/trunk/test/ELF/startstop.s
    lld/trunk/test/ELF/synthetic-got.s
    lld/trunk/test/ELF/tls-dynamic-i686.s
    lld/trunk/test/ELF/tls-dynamic.s
    lld/trunk/test/ELF/undef-with-plt-addr.s
    lld/trunk/test/ELF/undefined-versioned-symbol.s
    lld/trunk/test/ELF/version-script-weak.s
    lld/trunk/test/ELF/wrap-plt.s
    lld/trunk/test/ELF/x86-64-plt-high-addr.s
    lld/trunk/test/ELF/x86-64-reloc-gotoff64.s
    lld/trunk/test/ELF/x86-64-reloc-gotpc64.s
    lld/trunk/test/ELF/x86-64-retpoline-linkerscript.s
    lld/trunk/test/ELF/x86-64-retpoline.s
    lld/trunk/test/ELF/x86-64-tls-gd-local.s

Modified: lld/trunk/ELF/Writer.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Writer.cpp?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/ELF/Writer.cpp (original)
+++ lld/trunk/ELF/Writer.cpp Wed Mar 13 20:47:45 2019
@@ -725,16 +725,15 @@ static bool isRelroSection(const OutputS
 // * It is easy to check if a give branch was taken.
 // * It is easy two see how similar two ranks are (see getRankProximity).
 enum RankFlags {
-  RF_NOT_ADDR_SET = 1 << 18,
-  RF_NOT_ALLOC = 1 << 17,
-  RF_NOT_INTERP = 1 << 16,
-  RF_NOT_NOTE = 1 << 15,
-  RF_WRITE = 1 << 14,
-  RF_EXEC_WRITE = 1 << 13,
-  RF_EXEC = 1 << 12,
-  RF_RODATA = 1 << 11,
-  RF_NON_TLS_BSS = 1 << 10,
-  RF_NON_TLS_BSS_RO = 1 << 9,
+  RF_NOT_ADDR_SET = 1 << 17,
+  RF_NOT_ALLOC = 1 << 16,
+  RF_NOT_INTERP = 1 << 15,
+  RF_NOT_NOTE = 1 << 14,
+  RF_WRITE = 1 << 13,
+  RF_EXEC_WRITE = 1 << 12,
+  RF_EXEC = 1 << 11,
+  RF_RODATA = 1 << 10,
+  RF_NOT_RELRO = 1 << 9,
   RF_NOT_TLS = 1 << 8,
   RF_BSS = 1 << 7,
   RF_PPC_NOT_TOCBSS = 1 << 6,
@@ -803,37 +802,26 @@ static unsigned getSectionRank(const Out
     Rank |= RF_RODATA;
   }
 
-  // If we got here we know that both A and B are in the same PT_LOAD.
-
-  bool IsTls = Sec->Flags & SHF_TLS;
-  bool IsNoBits = Sec->Type == SHT_NOBITS;
+  // Place RelRo sections first. After considering SHT_NOBITS below, the
+  // ordering is PT_LOAD(PT_GNU_RELRO(.data.rel.ro .bss.rel.ro) | .data .bss),
+  // where | marks where page alignment happens. An alternative ordering is
+  // PT_LOAD(.data | PT_GNU_RELRO( .data.rel.ro .bss.rel.ro) | .bss), but it may
+  // waste more bytes due to 2 alignment places.
+  if (!isRelroSection(Sec))
+    Rank |= RF_NOT_RELRO;
 
-  // The first requirement we have is to put (non-TLS) nobits sections last. The
-  // reason is that the only thing the dynamic linker will see about them is a
-  // p_memsz that is larger than p_filesz. Seeing that it zeros the end of the
-  // PT_LOAD, so that has to correspond to the nobits sections.
-  bool IsNonTlsNoBits = IsNoBits && !IsTls;
-  if (IsNonTlsNoBits)
-    Rank |= RF_NON_TLS_BSS;
-
-  // We place nobits RelRo sections before plain r/w ones, and non-nobits RelRo
-  // sections after r/w ones, so that the RelRo sections are contiguous.
-  bool IsRelRo = isRelroSection(Sec);
-  if (IsNonTlsNoBits && !IsRelRo)
-    Rank |= RF_NON_TLS_BSS_RO;
-  if (!IsNonTlsNoBits && IsRelRo)
-    Rank |= RF_NON_TLS_BSS_RO;
+  // If we got here we know that both A and B are in the same PT_LOAD.
 
   // The TLS initialization block needs to be a single contiguous block in a R/W
   // PT_LOAD, so stick TLS sections directly before the other RelRo R/W
-  // sections. The TLS NOBITS sections are placed here as they don't take up
-  // virtual address space in the PT_LOAD.
-  if (!IsTls)
+  // sections. Since p_filesz can be less than p_memsz, place NOBITS sections
+  // after PROGBITS.
+  if (!(Sec->Flags & SHF_TLS))
     Rank |= RF_NOT_TLS;
 
-  // Within the TLS initialization block, the non-nobits sections need to appear
-  // first.
-  if (IsNoBits)
+  // Within TLS sections, or within other RelRo sections, or within non-RelRo
+  // sections, place non-NOBITS sections first.
+  if (Sec->Type == SHT_NOBITS)
     Rank |= RF_BSS;
 
   // Some architectures have additional ordering restrictions for sections

Modified: lld/trunk/test/ELF/aarch64-condb-reloc.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/aarch64-condb-reloc.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/aarch64-condb-reloc.s (original)
+++ lld/trunk/test/ELF/aarch64-condb-reloc.s Wed Mar 13 20:47:45 2019
@@ -36,8 +36,8 @@
 #DSOREL-NEXT:     SHF_ALLOC
 #DSOREL-NEXT:     SHF_WRITE
 #DSOREL-NEXT:   ]
-#DSOREL-NEXT:   Address: 0x20000
-#DSOREL-NEXT:   Offset: 0x20000
+#DSOREL-NEXT:   Address: 0x30000
+#DSOREL-NEXT:   Offset: 0x30000
 #DSOREL-NEXT:   Size: 48
 #DSOREL-NEXT:   Link: 0
 #DSOREL-NEXT:   Info: 0
@@ -46,9 +46,9 @@
 #DSOREL-NEXT:  }
 #DSOREL:      Relocations [
 #DSOREL-NEXT:  Section ({{.*}}) .rela.plt {
-#DSOREL-NEXT:    0x20018 R_AARCH64_JUMP_SLOT _foo
-#DSOREL-NEXT:    0x20020 R_AARCH64_JUMP_SLOT _bar
-#DSOREL-NEXT:    0x20028 R_AARCH64_JUMP_SLOT _dah
+#DSOREL-NEXT:    0x30018 R_AARCH64_JUMP_SLOT _foo
+#DSOREL-NEXT:    0x30020 R_AARCH64_JUMP_SLOT _bar
+#DSOREL-NEXT:    0x30028 R_AARCH64_JUMP_SLOT _dah
 #DSOREL-NEXT:  }
 #DSOREL-NEXT:]
 
@@ -72,7 +72,7 @@
 #DSO-NEXT: Disassembly of section .plt:
 #DSO-NEXT: .plt:
 #DSO-NEXT:     10030: {{.*}} stp x16, x30, [sp, #-16]!
-#DSO-NEXT:     10034: {{.*}} adrp x16, #65536
+#DSO-NEXT:     10034: {{.*}} adrp x16, #131072
 #DSO-NEXT:     10038: {{.*}} ldr x17, [x16, #16]
 #DSO-NEXT:     1003c: {{.*}} add x16, x16, #16
 #DSO-NEXT:     10040: {{.*}} br x17
@@ -81,19 +81,19 @@
 #DSO-NEXT:     1004c: {{.*}} nop
 #DSO-EMPTY:
 #DSO-NEXT:   _foo at plt:
-#DSO-NEXT:     10050: {{.*}} adrp x16, #65536
+#DSO-NEXT:     10050: {{.*}} adrp x16, #131072
 #DSO-NEXT:     10054: {{.*}} ldr x17, [x16, #24]
 #DSO-NEXT:     10058: {{.*}} add x16, x16, #24
 #DSO-NEXT:     1005c: {{.*}} br x17
 #DSO-EMPTY:
 #DSO-NEXT:   _bar at plt:
-#DSO-NEXT:     10060: {{.*}} adrp x16, #65536
+#DSO-NEXT:     10060: {{.*}} adrp x16, #131072
 #DSO-NEXT:     10064: {{.*}} ldr x17, [x16, #32]
 #DSO-NEXT:     10068: {{.*}} add x16, x16, #32
 #DSO-NEXT:     1006c: {{.*}} br x17
 #DSO-EMPTY:
 #DSO-NEXT:   _dah at plt:
-#DSO-NEXT:     10070: {{.*}} adrp x16, #65536
+#DSO-NEXT:     10070: {{.*}} adrp x16, #131072
 #DSO-NEXT:     10074: {{.*}} ldr x17, [x16, #40]
 #DSO-NEXT:     10078: {{.*}} add x16, x16, #40
 #DSO-NEXT:     1007c: {{.*}} br x17

Modified: lld/trunk/test/ELF/aarch64-cortex-a53-843419-large.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/aarch64-cortex-a53-843419-large.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/aarch64-cortex-a53-843419-large.s (original)
+++ lld/trunk/test/ELF/aarch64-cortex-a53-843419-large.s Wed Mar 13 20:47:45 2019
@@ -42,7 +42,7 @@ t3_ff8_ldr:
         ret
 
 // CHECK3: t3_ff8_ldr:
-// CHECK3-NEXT:    211ff8:       60 00 04 f0     adrp    x0, #134279168
+// CHECK3-NEXT:    211ff8:       e0 00 04 f0     adrp    x0, #134344704
 // CHECK3-NEXT:    211ffc:       21 00 40 f9     ldr     x1, [x1]
 // CHECK3-NEXT:    212000:       02 08 80 15     b       #100671496
 // CHECK3-NEXT:    212004:       c0 03 5f d6     ret
@@ -63,7 +63,7 @@ t3_ff8_str:
         ret
 
 // CHECK4: t3_ff8_str:
-// CHECK4-NEXT:  4213ff8:       60 00 02 b0     adrp    x0, #67162112
+// CHECK4-NEXT:  4213ff8:       e0 00 02 b0     adrp    x0, #67227648
 // CHECK4-NEXT:  4213ffc:       21 00 40 f9     ldr     x1, [x1]
 // CHECK4-NEXT:  4214000:       04 00 80 14     b       #33554448
 // CHECK4-NEXT:  4214004:       c0 03 5f d6     ret
@@ -102,7 +102,7 @@ t3_ffc_ldr:
         ret
 
 // CHECK7: t3_ffc_ldr:
-// CHECK7-NEXT:  8211ffc:       60 00 00 f0     adrp    x0, #61440
+// CHECK7-NEXT:  8211ffc:       e0 00 00 f0     adrp    x0, #126976
 // CHECK7-NEXT:  8212000:       21 00 40 f9     ldr     x1, [x1]
 // CHECK7-NEXT:  8212004:       02 00 00 14     b       #8
 // CHECK7-NEXT:  8212008:       c0 03 5f d6     ret

Modified: lld/trunk/test/ELF/aarch64-cortex-a53-843419-recognize.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/aarch64-cortex-a53-843419-recognize.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/aarch64-cortex-a53-843419-recognize.s (original)
+++ lld/trunk/test/ELF/aarch64-cortex-a53-843419-recognize.s Wed Mar 13 20:47:45 2019
@@ -28,7 +28,7 @@
 
 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 211FF8 in unpatched output.
 // CHECK: t3_ff8_ldr:
-// CHECK-NEXT:    211ff8:        e0 01 00 f0     adrp    x0, #258048
+// CHECK-NEXT:    211ff8:        60 02 00 f0     adrp    x0, #323584
 // CHECK-NEXT:    211ffc:        21 00 40 f9     ldr             x1, [x1]
 // CHECK-FIX:     212000:        03 c8 00 14     b       #204812
 // CHECK-NOFIX:   212000:        00 00 40 f9     ldr             x0, [x0]
@@ -46,7 +46,7 @@ t3_ff8_ldr:
 
 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 213FF8 in unpatched output.
 // CHECK: t3_ff8_ldrsimd:
-// CHECK-NEXT:    213ff8:        e0 01 00 b0     adrp    x0, #249856
+// CHECK-NEXT:    213ff8:        60 02 00 b0     adrp    x0, #315392
 // CHECK-NEXT:    213ffc:        21 00 40 bd     ldr             s1, [x1]
 // CHECK-FIX:     214000:        05 c0 00 14     b       #196628
 // CHECK-NOFIX:   214000:        02 04 40 f9     ldr     x2, [x0, #8]
@@ -64,7 +64,7 @@ t3_ff8_ldrsimd:
 
 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 215FFC in unpatched output.
 // CHECK: t3_ffc_ldrpost:
-// CHECK-NEXT:    215ffc:        c0 01 00 f0     adrp    x0, #241664
+// CHECK-NEXT:    215ffc:        40 02 00 f0     adrp    x0, #307200
 // CHECK-NEXT:    216000:        21 84 40 bc     ldr     s1, [x1], #8
 // CHECK-FIX:     216004:        06 b8 00 14     b       #188440
 // CHECK-NOFIX:   216004:        03 08 40 f9     ldr     x3, [x0, #16]
@@ -82,7 +82,7 @@ t3_ffc_ldrpost:
 
 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 217FF8 in unpatched output.
 // CHECK: t3_ff8_strpre:
-// CHECK-NEXT:    217ff8:        c0 01 00 b0     adrp    x0, #233472
+// CHECK-NEXT:    217ff8:        40 02 00 b0     adrp    x0, #299008
 // CHECK-NEXT:    217ffc:        21 8c 00 bc     str     s1, [x1, #8]!
 // CHECK-FIX:     218000:        09 b0 00 14     b       #180260
 // CHECK-NOFIX:   218000:        02 00 40 f9     ldr             x2, [x0]
@@ -100,7 +100,7 @@ t3_ff8_strpre:
 
 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 219FFC in unpatched output.
 // CHECK: t3_ffc_str:
-// CHECK-NEXT:    219ffc:        bc 01 00 f0     adrp    x28, #225280
+// CHECK-NEXT:    219ffc:        3c 02 00 f0     adrp    x28, #290816
 // CHECK-NEXT:    21a000:        42 00 00 f9     str             x2, [x2]
 // CHECK-FIX:     21a004:        0a a8 00 14     b       #172072
 // CHECK-NOFIX:   21a004:        9c 07 00 f9     str     x28, [x28, #8]
@@ -118,7 +118,7 @@ t3_ffc_str:
 
 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 21BFFC in unpatched output.
 // CHECK: t3_ffc_strsimd:
-// CHECK-NEXT:    21bffc:        bc 01 00 b0     adrp    x28, #217088
+// CHECK-NEXT:    21bffc:        3c 02 00 b0     adrp    x28, #282624
 // CHECK-NEXT:    21c000:        44 00 00 b9     str             w4, [x2]
 // CHECK-FIX:     21c004:        0c a0 00 14     b       #163888
 // CHECK-NOFIX:   21c004:        84 0b 00 f9     str     x4, [x28, #16]
@@ -136,7 +136,7 @@ t3_ffc_strsimd:
 
 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 21DFF8 in unpatched output.
 // CHECK: t3_ff8_ldrunpriv:
-// CHECK-NEXT:    21dff8:        9d 01 00 f0     adrp    x29, #208896
+// CHECK-NEXT:    21dff8:        1d 02 00 f0     adrp    x29, #274432
 // CHECK-NEXT:    21dffc:        41 08 40 38     ldtrb           w1, [x2]
 // CHECK-FIX:     21e000:        0f 98 00 14     b       #155708
 // CHECK-NOFIX:   21e000:        bd 03 40 f9     ldr             x29, [x29]
@@ -154,7 +154,7 @@ t3_ff8_ldrunpriv:
 
 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 21FFFC in unpatched output.
 // CHECK: t3_ffc_ldur:
-// CHECK-NEXT:    21fffc:        9d 01 00 b0     adrp    x29, #200704
+// CHECK-NEXT:    21fffc:        1d 02 00 b0     adrp    x29, #266240
 // CHECK-NEXT:    220000:        42 40 40 b8     ldur    w2, [x2, #4]
 // CHECK-FIX:     220004:        10 90 00 14     b       #147520
 // CHECK-NOFIX:   220004:        bd 07 40 f9     ldr     x29, [x29, #8]
@@ -171,7 +171,7 @@ t3_ffc_ldur:
 
 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 221FFC in unpatched output.
 // CHECK: t3_ffc_sturh:
-// CHECK-NEXT:    221ffc:        72 01 00 f0     adrp    x18, #192512
+// CHECK-NEXT:    221ffc:        f2 01 00 f0     adrp    x18, #258048
 // CHECK-NEXT:    222000:        43 40 00 78     sturh   w3, [x2, #4]
 // CHECK-FIX:     222004:        12 88 00 14     b       #139336
 // CHECK-NOFIX:   222004:        41 0a 40 f9     ldr     x1, [x18, #16]
@@ -189,7 +189,7 @@ t3_ffc_sturh:
 
 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 223FF8 in unpatched output.
 // CHECK: t3_ff8_literal:
-// CHECK-NEXT:    223ff8:        72 01 00 b0     adrp    x18, #184320
+// CHECK-NEXT:    223ff8:        f2 01 00 b0     adrp    x18, #249856
 // CHECK-NEXT:    223ffc:        e3 ff ff 58     ldr     x3, #-4
 // CHECK-FIX:     224000:        15 80 00 14     b       #131156
 // CHECK-NOFIX:   224000:        52 02 40 f9     ldr             x18, [x18]
@@ -207,7 +207,7 @@ t3_ff8_literal:
 
 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 225FFC in unpatched output.
 // CHECK: t3_ffc_register:
-// CHECK-NEXT:    225ffc:        4f 01 00 f0     adrp    x15, #176128
+// CHECK-NEXT:    225ffc:        cf 01 00 f0     adrp    x15, #241664
 // CHECK-NEXT:    226000:        43 68 61 f8     ldr             x3, [x2, x1]
 // CHECK-FIX:     226004:        16 78 00 14     b       #122968
 // CHECK-NOFIX:   226004:        ea 05 40 f9     ldr     x10, [x15, #8]
@@ -225,7 +225,7 @@ t3_ffc_register:
 
 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 227FF8 in unpatched output.
 // CHECK: t3_ff8_stp:
-// CHECK-NEXT:    227ff8:        50 01 00 b0     adrp    x16, #167936
+// CHECK-NEXT:    227ff8:        d0 01 00 b0     adrp    x16, #233472
 // CHECK-NEXT:    227ffc:        61 08 00 a9     stp             x1, x2, [x3]
 // CHECK-FIX:     228000:        19 70 00 14     b       #114788
 // CHECK-NOFIX:   228000:        0d 0a 40 f9     ldr     x13, [x16, #16]
@@ -243,7 +243,7 @@ t3_ff8_stp:
 
 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 229FFC in unpatched output.
 // CHECK: t3_ffc_stnp:
-// CHECK-NEXT:    229ffc:        27 01 00 f0     adrp    x7, #159744
+// CHECK-NEXT:    229ffc:        a7 01 00 f0     adrp    x7, #225280
 // CHECK-NEXT:    22a000:        61 08 00 a8     stnp            x1, x2, [x3]
 // CHECK-FIX:     22a004:        1a 68 00 14     b       #106600
 // CHECK-NOFIX:   22a004:        e9 00 40 f9     ldr             x9, [x7]
@@ -261,7 +261,7 @@ t3_ffc_stnp:
 
 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 22BFFC in unpatched output.
 // CHECK: t3_ffc_st1singlepost:
-// CHECK-NEXT:    22bffc:        37 01 00 b0     adrp    x23, #151552
+// CHECK-NEXT:    22bffc:        b7 01 00 b0     adrp    x23, #217088
 // CHECK-NEXT:    22c000:        20 04 82 0d     st1 { v0.b }[1], [x1], x2
 // CHECK-FIX:     22c004:        1c 60 00 14     b       #98416
 // CHECK-NOFIX:   22c004:        f6 06 40 f9     ldr     x22, [x23, #8]
@@ -279,7 +279,7 @@ t3_ffc_st1singlepost:
 
 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 22DFF8 in unpatched output.
 // CHECK: t3_ff8_st1multiple:
-// CHECK-NEXT:    22dff8:        17 01 00 f0     adrp    x23, #143360
+// CHECK-NEXT:    22dff8:        97 01 00 f0     adrp    x23, #208896
 // CHECK-NEXT:    22dffc:        20 a0 00 4c     st1     { v0.16b, v1.16b }, [x1]
 // CHECK-FIX:     22e000:        1f 58 00 14     b       #90236
 // CHECK-NOFIX:   22e000:        f8 0a 40 f9     ldr     x24, [x23, #16]
@@ -297,7 +297,7 @@ t3_ff8_st1multiple:
 
 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 22FFF8 in unpatched output.
 // CHECK: t4_ff8_ldr:
-// CHECK-NEXT:    22fff8:        00 01 00 b0     adrp    x0, #135168
+// CHECK-NEXT:    22fff8:        80 01 00 b0     adrp    x0, #200704
 // CHECK-NEXT:    22fffc:        21 00 40 f9     ldr             x1, [x1]
 // CHECK-NEXT:    230000:        42 00 00 8b     add             x2, x2, x0
 // CHECK-FIX:     230004:        20 50 00 14     b       #82048
@@ -317,7 +317,7 @@ t4_ff8_ldr:
 
 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 231FFC in unpatched output.
 // CHECK: t4_ffc_str:
-// CHECK-NEXT:    231ffc:        fc 00 00 f0     adrp    x28, #126976
+// CHECK-NEXT:    231ffc:        7c 01 00 f0     adrp    x28, #192512
 // CHECK-NEXT:    232000:        42 00 00 f9     str             x2, [x2]
 // CHECK-NEXT:    232004:        20 00 02 cb     sub             x0, x1, x2
 // CHECK-FIX:     232008:        21 48 00 14     b       #73860
@@ -337,7 +337,7 @@ t4_ffc_str:
 
 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 233FF8 in unpatched output.
 // CHECK: t4_ff8_stp:
-// CHECK-NEXT:    233ff8:        f0 00 00 b0     adrp    x16, #118784
+// CHECK-NEXT:    233ff8:        70 01 00 b0     adrp    x16, #184320
 // CHECK-NEXT:    233ffc:        61 08 00 a9     stp             x1, x2, [x3]
 // CHECK-NEXT:    234000:        03 7e 10 9b     mul             x3, x16, x16
 // CHECK-FIX:     234004:        24 40 00 14     b       #65680
@@ -357,7 +357,7 @@ t4_ff8_stp:
 
 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 235FF8 in unpatched output.
 // CHECK: t4_ff8_stppre:
-// CHECK-NEXT:    235ff8:        d0 00 00 f0     adrp    x16, #110592
+// CHECK-NEXT:    235ff8:        50 01 00 f0     adrp    x16, #176128
 // CHECK-NEXT:    235ffc:        61 08 81 a9     stp     x1, x2, [x3, #16]!
 // CHECK-NEXT:    236000:        03 7e 10 9b     mul             x3, x16, x16
 // CHECK-FIX:     236004:        26 38 00 14     b       #57496
@@ -377,7 +377,7 @@ t4_ff8_stppre:
 
 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 237FF8 in unpatched output.
 // CHECK: t4_ff8_stppost:
-// CHECK-NEXT:    237ff8:        d0 00 00 b0     adrp    x16, #102400
+// CHECK-NEXT:    237ff8:        50 01 00 b0     adrp    x16, #167936
 // CHECK-NEXT:    237ffc:        61 08 81 a8     stp     x1, x2, [x3], #16
 // CHECK-NEXT:    238000:        03 7e 10 9b     mul             x3, x16, x16
 // CHECK-FIX:     238004:        28 30 00 14     b       #49312
@@ -397,7 +397,7 @@ t4_ff8_stppost:
 
 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 239FFC in unpatched output.
 // CHECK: t4_ffc_stpsimd:
-// CHECK-NEXT:    239ffc:        b0 00 00 f0     adrp    x16, #94208
+// CHECK-NEXT:    239ffc:        30 01 00 f0     adrp    x16, #159744
 // CHECK-NEXT:    23a000:        61 08 00 ad     stp             q1, q2, [x3]
 // CHECK-NEXT:    23a004:        03 7e 10 9b     mul             x3, x16, x16
 // CHECK-FIX:     23a008:        29 28 00 14     b       #41124
@@ -417,7 +417,7 @@ t4_ffc_stpsimd:
 
 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 23BFFC in unpatched output.
 // CHECK: t4_ffc_stnp:
-// CHECK-NEXT:    23bffc:        a7 00 00 b0     adrp    x7, #86016
+// CHECK-NEXT:    23bffc:        27 01 00 b0     adrp    x7, #151552
 // CHECK-NEXT:    23c000:        61 08 00 a8     stnp            x1, x2, [x3]
 // CHECK-NEXT:    23c004:        1f 20 03 d5     nop
 // CHECK-FIX:     23c008:        2b 20 00 14     b       #32940
@@ -437,7 +437,7 @@ t4_ffc_stnp:
 
 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 23DFFC in unpatched output.
 // CHECK: t4_ffc_st1:
-// CHECK-NEXT:    23dffc:        98 00 00 f0     adrp    x24, #77824
+// CHECK-NEXT:    23dffc:        18 01 00 f0     adrp    x24, #143360
 // CHECK-NEXT:    23e000:        20 80 00 4d     st1 { v0.s }[2], [x1]
 // CHECK-NEXT:    23e004:        f6 06 40 f9     ldr     x22, [x23, #8]
 // CHECK-FIX:     23e008:        2d 18 00 14     b       #24756
@@ -457,7 +457,7 @@ t4_ffc_st1:
 
 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 23FFF8 in unpatched output.
 // CHECK: t3_ff8_ldr_once:
-// CHECK-NEXT:    23fff8:        80 00 00 b0     adrp    x0, #69632
+// CHECK-NEXT:    23fff8:        00 01 00 b0     adrp    x0, #135168
 // CHECK-NEXT:    23fffc:        20 70 82 4c     st1     { v0.16b }, [x1], x2
 // CHECK-FIX:     240000:        31 10 00 14     b       #16580
 // CHECK-NOFIX:   240000:        01 08 40 f9     ldr     x1, [x0, #16]
@@ -477,7 +477,7 @@ t3_ff8_ldr_once:
 
 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 241FF8 in unpatched output.
 // CHECK: t3_ff8_ldxr:
-// CHECK-NEXT:    241ff8:        60 00 00 f0     adrp    x0, #61440
+// CHECK-NEXT:    241ff8:        e0 00 00 f0     adrp    x0, #126976
 // CHECK-NEXT:    241ffc:        03 7c 5f c8     ldxr    x3, [x0]
 // CHECK-FIX:     242000:        33 08 00 14     b       #8396
 // CHECK-NOFIX:   242000:        01 08 40 f9     ldr     x1, [x0, #16]
@@ -497,7 +497,7 @@ t3_ff8_ldxr:
 
 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 243FF8 in unpatched output.
 // CHECK: t3_ff8_stxr:
-// CHECK-NEXT:    243ff8:        60 00 00 b0     adrp    x0, #53248
+// CHECK-NEXT:    243ff8:        e0 00 00 b0     adrp    x0, #118784
 // CHECK-NEXT:    243ffc:        03 7c 04 c8     stxr    w4, x3, [x0]
 // CHECK-FIX:     244000:        35 00 00 14     b       #212
 // CHECK-NOFIX:   244000:        01 08 40 f9     ldr     x1, [x0, #16]

Modified: lld/trunk/test/ELF/aarch64-cortex-a53-843419-thunk.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/aarch64-cortex-a53-843419-thunk.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/aarch64-cortex-a53-843419-thunk.s (original)
+++ lld/trunk/test/ELF/aarch64-cortex-a53-843419-thunk.s Wed Mar 13 20:47:45 2019
@@ -44,7 +44,7 @@ t3_ff8_ldr:
 // CHECK-NEXT:    11004:        02 00 00 14     b       #8
 // CHECK-NEXT:    11008:        c0 03 5f d6     ret
 // CHECK: __CortexA53843419_11004:
-// CHECK-NEXT:    1100c:        00 08 40 f9     ldr     x0, [x0, #16]
+// CHECK-NEXT:    1100c:        00 04 40 f9     ldr     x0, [x0, #8]
 // CHECK-NEXT:    11010:        fe ff ff 17     b       #-8
 
         .section .text.04, "ax", %progbits

Modified: lld/trunk/test/ELF/aarch64-gnu-ifunc-address-pie.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/aarch64-gnu-ifunc-address-pie.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/aarch64-gnu-ifunc-address-pie.s (original)
+++ lld/trunk/test/ELF/aarch64-gnu-ifunc-address-pie.s Wed Mar 13 20:47:45 2019
@@ -35,13 +35,13 @@ main:
 # CHECK-NEXT:    1000c:	c0 03 5f d6 	ret
 # CHECK-NEXT: Disassembly of section .plt:
 # CHECK-NEXT: 0000000000010010 myfunc:
-# CHECK-NEXT:    10010:	90 00 00 90 	adrp	x16, #65536
+# CHECK-NEXT:    10010:	10 01 00 90 	adrp	x16, #131072
 # CHECK-NEXT:    10014:	11 02 40 f9 	ldr	x17, [x16]
 # CHECK-NEXT:    10018:	10 02 00 91 	add	x16, x16, #0
 # CHECK-NEXT:    1001c:	20 02 1f d6 	br	x17
 
 # CHECK-RELOCS: Relocations [
 # CHECK-RELOCS-NEXT:   Section {{.*}} .rela.plt {
-# CHECK-RELOCS-NEXT:     0x20000 R_AARCH64_IRELATIVE - 0x10000
+# CHECK-RELOCS-NEXT:     0x30000 R_AARCH64_IRELATIVE - 0x10000
 # CHECK-RELOCS-NEXT:   }
 # CHECK-RELOCS-NEXT: ]

Modified: lld/trunk/test/ELF/aarch64-gnu-ifunc-plt.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/aarch64-gnu-ifunc-plt.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/aarch64-gnu-ifunc-plt.s (original)
+++ lld/trunk/test/ELF/aarch64-gnu-ifunc-plt.s Wed Mar 13 20:47:45 2019
@@ -10,19 +10,19 @@
 // Check that the IRELATIVE relocations are after the JUMP_SLOT in the plt
 // CHECK: Relocations [
 // CHECK-NEXT:   Section (4) .rela.plt {
-// CHECK:     0x220018 R_AARCH64_JUMP_SLOT bar2 0x0
-// CHECK-NEXT:     0x220020 R_AARCH64_JUMP_SLOT zed2 0x0
-// CHECK-NEXT:     0x220028 R_AARCH64_IRELATIVE - 0x210000
-// CHECK-NEXT:     0x220030 R_AARCH64_IRELATIVE - 0x210004
+// CHECK:     0x230018 R_AARCH64_JUMP_SLOT bar2 0x0
+// CHECK-NEXT:     0x230020 R_AARCH64_JUMP_SLOT zed2 0x0
+// CHECK-NEXT:     0x230028 R_AARCH64_IRELATIVE - 0x210000
+// CHECK-NEXT:     0x230030 R_AARCH64_IRELATIVE - 0x210004
 // CHECK-NEXT:   }
 // CHECK-NEXT: ]
 
 // Check that .got.plt entries point back to PLT header
 // GOTPLT: Contents of section .got.plt:
-// GOTPLT-NEXT:  220000 00000000 00000000 00000000 00000000
-// GOTPLT-NEXT:  220010 00000000 00000000 20002100 00000000
-// GOTPLT-NEXT:  220020 20002100 00000000 20002100 00000000
-// GOTPLT-NEXT:  220030 20002100 00000000
+// GOTPLT-NEXT:  230000 00000000 00000000 00000000 00000000
+// GOTPLT-NEXT:  230010 00000000 00000000 20002100 00000000
+// GOTPLT-NEXT:  230020 20002100 00000000 20002100 00000000
+// GOTPLT-NEXT:  230030 20002100 00000000
 
 // Check that the PLTRELSZ tag includes the IRELATIVE relocations
 // CHECK: DynamicSection [
@@ -42,7 +42,7 @@
 // DISASM-NEXT: Disassembly of section .plt:
 // DISASM-NEXT: .plt:
 // DISASM-NEXT:    210020: {{.*}} stp     x16, x30, [sp, #-16]!
-// DISASM-NEXT:    210024: {{.*}} adrp    x16, #65536
+// DISASM-NEXT:    210024: {{.*}} adrp    x16, #131072
 // DISASM-NEXT:    210028: {{.*}} ldr     x17, [x16, #16]
 // DISASM-NEXT:    21002c: {{.*}} add     x16, x16, #16
 // DISASM-NEXT:    210030: {{.*}} br      x17
@@ -51,21 +51,21 @@
 // DISASM-NEXT:    21003c: {{.*}} nop
 // DISASM-EMPTY:
 // DISASM-NEXT:   bar2 at plt:
-// DISASM-NEXT:    210040: {{.*}} adrp    x16, #65536
+// DISASM-NEXT:    210040: {{.*}} adrp    x16, #131072
 // DISASM-NEXT:    210044: {{.*}} ldr     x17, [x16, #24]
 // DISASM-NEXT:    210048: {{.*}} add     x16, x16, #24
 // DISASM-NEXT:    21004c: {{.*}} br      x17
 // DISASM-EMPTY:
 // DISASM-NEXT:   zed2 at plt:
-// DISASM-NEXT:    210050: {{.*}} adrp    x16, #65536
+// DISASM-NEXT:    210050: {{.*}} adrp    x16, #131072
 // DISASM-NEXT:    210054: {{.*}} ldr     x17, [x16, #32]
 // DISASM-NEXT:    210058: {{.*}} add     x16, x16, #32
 // DISASM-NEXT:    21005c: {{.*}} br      x17
-// DISASM-NEXT:    210060: {{.*}} adrp    x16, #65536
+// DISASM-NEXT:    210060: {{.*}} adrp    x16, #131072
 // DISASM-NEXT:    210064: {{.*}} ldr     x17, [x16, #40]
 // DISASM-NEXT:    210068: {{.*}} add     x16, x16, #40
 // DISASM-NEXT:    21006c: {{.*}} br      x17
-// DISASM-NEXT:    210070: {{.*}} adrp    x16, #65536
+// DISASM-NEXT:    210070: {{.*}} adrp    x16, #131072
 // DISASM-NEXT:    210074: {{.*}} ldr     x17, [x16, #48]
 // DISASM-NEXT:    210078: {{.*}} add     x16, x16, #48
 // DISASM-NEXT:    21007c: {{.*}} br      x17

Modified: lld/trunk/test/ELF/aarch64-ldprel-lo19-invalid.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/aarch64-ldprel-lo19-invalid.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/aarch64-ldprel-lo19-invalid.s (original)
+++ lld/trunk/test/ELF/aarch64-ldprel-lo19-invalid.s Wed Mar 13 20:47:45 2019
@@ -3,7 +3,7 @@
 # RUN: llvm-mc -filetype=obj -triple=aarch64-linux-none %s -o %t.o
 # RUN: not ld.lld -shared %t.o -o /dev/null 2>&1 | FileCheck %s
 
-# CHECK: relocation R_AARCH64_LD_PREL_LO19 out of range: 2065536 is not in [-1048576, 1048575]
+# CHECK: relocation R_AARCH64_LD_PREL_LO19 out of range: 2131072 is not in [-1048576, 1048575]
 
   ldr x8, patatino
   .data

Modified: lld/trunk/test/ELF/aarch64-load-alignment.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/aarch64-load-alignment.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/aarch64-load-alignment.s (original)
+++ lld/trunk/test/ELF/aarch64-load-alignment.s Wed Mar 13 20:47:45 2019
@@ -3,7 +3,7 @@
 # RUN: llvm-mc -filetype=obj -triple=aarch64-linux-none %s -o %t.o
 # RUN: not ld.lld -shared %t.o -o /dev/null 2>&1 | FileCheck %s
 
-# CHECK: improper alignment for relocation R_AARCH64_LD_PREL_LO19: 0x10005 is not aligned to 4 bytes
+# CHECK: improper alignment for relocation R_AARCH64_LD_PREL_LO19: 0x20005 is not aligned to 4 bytes
 
   ldr x8, patatino
   .data

Modified: lld/trunk/test/ELF/aarch64-thunk-pi.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/aarch64-thunk-pi.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/aarch64-thunk-pi.s (original)
+++ lld/trunk/test/ELF/aarch64-thunk-pi.s Wed Mar 13 20:47:45 2019
@@ -75,8 +75,8 @@ high_target2:
 // CHECK-NEXT: .plt:
 // CHECK-NEXT: 10000020:       f0 7b bf a9     stp     x16, x30, [sp, #-16]!
 // CHECK-NEXT: 10000024:       10 00 00 90     adrp    x16, #0
-// CHECK-NEXT: 10000028:       11 3a 40 f9     ldr     x17, [x16, #112]
-// CHECK-NEXT: 1000002c:       10 c2 01 91     add     x16, x16, #112
+// CHECK-NEXT: 10000028:       11 92 40 f9     ldr     x17, [x16, #288]
+// CHECK-NEXT: 1000002c:       10 82 04 91     add     x16, x16, #288
 // CHECK-NEXT: 10000030:       20 02 1f d6     br      x17
 // CHECK-NEXT: 10000034:       1f 20 03 d5     nop
 // CHECK-NEXT: 10000038:       1f 20 03 d5     nop
@@ -84,12 +84,12 @@ high_target2:
 // CHECK-EMPTY:
 // CHECK-NEXT:   high_target at plt:
 // CHECK-NEXT: 10000040:       10 00 00 90     adrp    x16, #0
-// CHECK-NEXT: 10000044:       11 3e 40 f9     ldr     x17, [x16, #120]
-// CHECK-NEXT: 10000048:       10 e2 01 91     add     x16, x16, #120
+// CHECK-NEXT: 10000044:       11 96 40 f9     ldr     x17, [x16, #296]
+// CHECK-NEXT: 10000048:       10 a2 04 91     add     x16, x16, #296
 // CHECK-NEXT: 1000004c:       20 02 1f d6     br      x17
 // CHECK-EMPTY:
 // CHECK-NEXT:   low_target at plt:
 // CHECK-NEXT: 10000050:       10 00 00 90     adrp    x16, #0
-// CHECK-NEXT: 10000054:       11 42 40 f9     ldr     x17, [x16, #128]
-// CHECK-NEXT: 10000058:       10 02 02 91     add     x16, x16, #128
+// CHECK-NEXT: 10000054:       11 9a 40 f9     ldr     x17, [x16, #304]
+// CHECK-NEXT: 10000058:       10 c2 04 91     add     x16, x16, #304
 // CHECK-NEXT: 1000005c:       20 02 1f d6     br      x17

Modified: lld/trunk/test/ELF/aarch64-tstbr14-reloc.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/aarch64-tstbr14-reloc.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/aarch64-tstbr14-reloc.s (original)
+++ lld/trunk/test/ELF/aarch64-tstbr14-reloc.s Wed Mar 13 20:47:45 2019
@@ -35,8 +35,8 @@
 #DSOREL-NEXT:     SHF_ALLOC
 #DSOREL-NEXT:     SHF_WRITE
 #DSOREL-NEXT:   ]
-#DSOREL-NEXT:   Address: 0x20000
-#DSOREL-NEXT:   Offset: 0x20000
+#DSOREL-NEXT:   Address: 0x30000
+#DSOREL-NEXT:   Offset: 0x30000
 #DSOREL-NEXT:   Size: 40
 #DSOREL-NEXT:   Link: 0
 #DSOREL-NEXT:   Info: 0
@@ -45,8 +45,8 @@
 #DSOREL-NEXT:  }
 #DSOREL:      Relocations [
 #DSOREL-NEXT:  Section ({{.*}}) .rela.plt {
-#DSOREL-NEXT:    0x20018 R_AARCH64_JUMP_SLOT _foo
-#DSOREL-NEXT:    0x20020 R_AARCH64_JUMP_SLOT _bar
+#DSOREL-NEXT:    0x30018 R_AARCH64_JUMP_SLOT _foo
+#DSOREL-NEXT:    0x30020 R_AARCH64_JUMP_SLOT _bar
 #DSOREL-NEXT:  }
 #DSOREL-NEXT:]
 
@@ -72,7 +72,7 @@
 #DSO-NEXT: Disassembly of section .plt:
 #DSO-NEXT: .plt:
 #DSO-NEXT:  10030: {{.*}} stp x16, x30, [sp, #-16]!
-#DSO-NEXT:  10034: {{.*}} adrp x16, #65536
+#DSO-NEXT:  10034: {{.*}} adrp x16, #131072
 #DSO-NEXT:  10038: {{.*}} ldr x17, [x16, #16]
 #DSO-NEXT:  1003c: {{.*}} add x16, x16, #16
 #DSO-NEXT:  10040: {{.*}} br x17
@@ -81,13 +81,13 @@
 #DSO-NEXT:  1004c: {{.*}} nop
 #DSO-EMPTY:
 #DSO-NEXT:   _foo at plt:
-#DSO-NEXT:  10050: {{.*}} adrp x16, #65536
+#DSO-NEXT:  10050: {{.*}} adrp x16, #131072
 #DSO-NEXT:  10054: {{.*}} ldr x17, [x16, #24]
 #DSO-NEXT:  10058: {{.*}} add x16, x16, #24
 #DSO-NEXT:  1005c: {{.*}} br x17
 #DSO-EMPTY:
 #DSO-NEXT:   _bar at plt:
-#DSO-NEXT:  10060: {{.*}} adrp x16, #65536
+#DSO-NEXT:  10060: {{.*}} adrp x16, #131072
 #DSO-NEXT:  10064: {{.*}} ldr x17, [x16, #32]
 #DSO-NEXT:  10068: {{.*}} add x16, x16, #32
 #DSO-NEXT:  1006c: {{.*}} br x17

Modified: lld/trunk/test/ELF/amdgpu-relocs.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/amdgpu-relocs.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/amdgpu-relocs.s (original)
+++ lld/trunk/test/ELF/amdgpu-relocs.s Wed Mar 13 20:47:45 2019
@@ -113,5 +113,5 @@ foo:
 # OBJDUMP: d0f8ffff ffffffff
 
 # OBJDUMP: Contents of section nonalloc:
-# OBJDUMP-NEXT: 0000 00000000 04480000 00000000 08440000
-# OBJDUMP-NEXT: 00000000 0c400000
+# OBJDUMP-NEXT: 0000 00000000 14380000 00000000 18340000
+# OBJDUMP-NEXT: 00000000 1c300000

Modified: lld/trunk/test/ELF/arm-abs32-dyn.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/arm-abs32-dyn.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/arm-abs32-dyn.s (original)
+++ lld/trunk/test/ELF/arm-abs32-dyn.s Wed Mar 13 20:47:45 2019
@@ -18,8 +18,8 @@ bar:
 // RUN: llvm-readobj -symbols -dyn-relocations %t.so | FileCheck %s
 
 // CHECK:      Dynamic Relocations {
-// CHECK-NEXT:   0x1004 R_ARM_RELATIVE
-// CHECK-NEXT:   0x1000 R_ARM_ABS32 foo 0x0
+// CHECK-NEXT:   0x2004 R_ARM_RELATIVE
+// CHECK-NEXT:   0x2000 R_ARM_ABS32 foo 0x0
 // CHECK-NEXT: }
 
 // CHECK:      Symbols [

Modified: lld/trunk/test/ELF/arm-exidx-shared.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/arm-exidx-shared.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/arm-exidx-shared.s (original)
+++ lld/trunk/test/ELF/arm-exidx-shared.s Wed Mar 13 20:47:45 2019
@@ -38,7 +38,7 @@ __aeabi_unwind_cpp_pr0:
 
 // CHECK: Relocations [
 // CHECK-NEXT:   Section {{.*}} .rel.plt {
-// CHECK-NEXT:     0x200C R_ARM_JUMP_SLOT __gxx_personality_v0
+// CHECK-NEXT:     0x300C R_ARM_JUMP_SLOT __gxx_personality_v0
 
 // CHECK-EXTAB: Contents of section .ARM.extab:
 // 0x0210 + 0x0e20 = 0x1030 = __gxx_personality_v0(PLT)

Modified: lld/trunk/test/ELF/arm-fpic-got.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/arm-fpic-got.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/arm-fpic-got.s (original)
+++ lld/trunk/test/ELF/arm-fpic-got.s Wed Mar 13 20:47:45 2019
@@ -36,7 +36,7 @@ val:
 // CHECK-NEXT:      SHF_ALLOC
 // CHECK-NEXT:      SHF_WRITE
 // CHECK-NEXT:    ]
-// CHECK-NEXT:    Address: 0x13000
+// CHECK-NEXT:    Address: 0x12000
 // CHECK-NEXT:    Offset:
 // CHECK-NEXT:    Size: 4
 // CHECK-NEXT:    Link:
@@ -45,7 +45,7 @@ val:
 // CHECK-NEXT:    EntrySize:
 
 // SYMBOLS:    Name: val
-// SYMBOLS-NEXT:    Value: 0x12000
+// SYMBOLS-NEXT:    Value: 0x13000
 // SYMBOLS-NEXT:    Size: 4
 // SYMBOLS-NEXT:    Binding: Global
 // SYMBOLS-NEXT:    Type: Object
@@ -59,5 +59,5 @@ val:
 // CODE-NEXT:   11008:  00 00 90 e5     ldr     r0, [r0]
 // CODE-NEXT:   1100c:  1e ff 2f e1     bx      lr
 // CODE: $d.1:
-// 0x11004 + 0x1ff4 + 8 = 0x13000 = .got
-// CODE-NEXT:   11010:  f4 1f 00 00
+// 0x11004 + 0x0ff4 + 8 = 0x12000 = .got
+// CODE-NEXT:   11010:  f4 0f 00 00

Modified: lld/trunk/test/ELF/arm-gnu-ifunc-plt.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/arm-gnu-ifunc-plt.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/arm-gnu-ifunc-plt.s (original)
+++ lld/trunk/test/ELF/arm-gnu-ifunc-plt.s Wed Mar 13 20:47:45 2019
@@ -10,23 +10,23 @@
 // Check that the IRELATIVE relocations are last in the .got
 // CHECK: Relocations [
 // CHECK-NEXT:   Section (4) .rel.dyn {
-// CHECK-NEXT:     0x13078 R_ARM_GLOB_DAT bar2 0x0
-// CHECK-NEXT:     0x1307C R_ARM_GLOB_DAT zed2 0x0
-// CHECK-NEXT:     0x13080 R_ARM_IRELATIVE - 0x0
-// CHECK-NEXT:     0x13084 R_ARM_IRELATIVE - 0x0
+// CHECK-NEXT:     0x12078 R_ARM_GLOB_DAT bar2 0x0
+// CHECK-NEXT:     0x1207C R_ARM_GLOB_DAT zed2 0x0
+// CHECK-NEXT:     0x12080 R_ARM_IRELATIVE - 0x0
+// CHECK-NEXT:     0x12084 R_ARM_IRELATIVE - 0x0
 // CHECK-NEXT:   }
 // CHECK-NEXT:   Section (5) .rel.plt {
-// CHECK-NEXT:     0x1200C R_ARM_JUMP_SLOT bar2 0x0
-// CHECK-NEXT:     0x12010 R_ARM_JUMP_SLOT zed2 0x0
+// CHECK-NEXT:     0x1300C R_ARM_JUMP_SLOT bar2 0x0
+// CHECK-NEXT:     0x13010 R_ARM_JUMP_SLOT zed2 0x0
 // CHECK-NEXT:   }
 // CHECK-NEXT: ]
 
 // Check that the GOT entries refer back to the ifunc resolver
-// GOTPLT: Contents of section .got.plt:
-// GOTPLT-NEXT:  12000 00000000 00000000 00000000 20100100
-// GOTPLT-NEXT:  12010 20100100
 // GOTPLT: Contents of section .got:
-// GOTPLT-NEXT:  13078 00000000 00000000 00100100 04100100
+// GOTPLT-NEXT:  12078 00000000 00000000 00100100 04100100
+// GOTPLT: Contents of section .got.plt:
+// GOTPLT-NEXT:  13000 00000000 00000000 00000000 20100100
+// GOTPLT-NEXT:  13010 20100100
 
 // DISASM: Disassembly of section .text:
 // DISASM-NEXT: foo:
@@ -45,7 +45,7 @@
 // DISASM-NEXT: $a:
 // DISASM-NEXT:    11020:       04 e0 2d e5     str     lr, [sp, #-4]!
 // DISASM-NEXT:    11024:       00 e6 8f e2     add     lr, pc, #0, #12
-// DISASM-NEXT:    11028:       00 ea 8e e2     add     lr, lr, #0, #20
+// DISASM-NEXT:    11028:       01 ea 8e e2     add     lr, lr, #4096
 // DISASM-NEXT:    1102c:       dc ff be e5     ldr     pc, [lr, #4060]!
 // DISASM: $d:
 // DISASM-NEXT:    11030:       d4 d4 d4 d4     .word   0xd4d4d4d4
@@ -54,25 +54,25 @@
 // DISASM-NEXT:    1103c:       d4 d4 d4 d4     .word   0xd4d4d4d4
 // DISASM: $a:
 // DISASM-NEXT:    11040:       00 c6 8f e2     add     r12, pc, #0, #12
-// DISASM-NEXT:    11044:       00 ca 8c e2     add     r12, r12, #0, #20
+// DISASM-NEXT:    11044:       01 ca 8c e2     add     r12, r12, #4096
 // DISASM-NEXT:    11048:       c4 ff bc e5     ldr     pc, [r12, #4036]!
 // DISASM: $d:
 // DISASM-NEXT:    1104c:       d4 d4 d4 d4     .word   0xd4d4d4d4
 // DISASM: $a:
 // DISASM-NEXT:    11050:       00 c6 8f e2     add     r12, pc, #0, #12
-// DISASM-NEXT:    11054:       00 ca 8c e2     add     r12, r12, #0, #20
+// DISASM-NEXT:    11054:       01 ca 8c e2     add     r12, r12, #4096
 // DISASM-NEXT:    11058:       b8 ff bc e5     ldr     pc, [r12, #4024]!
 // DISASM: $d:
 // DISASM-NEXT:    1105c:       d4 d4 d4 d4     .word   0xd4d4d4d4
 // DISASM: $a:
 // DISASM-NEXT:    11060:       00 c6 8f e2     add     r12, pc, #0, #12
-// DISASM-NEXT:    11064:       02 ca 8c e2     add     r12, r12, #8192
+// DISASM-NEXT:    11064:       01 ca 8c e2     add     r12, r12, #4096
 // DISASM-NEXT:    11068:       18 f0 bc e5     ldr     pc, [r12, #24]!
 // DISASM: $d:
 // DISASM-NEXT:    1106c:       d4 d4 d4 d4     .word   0xd4d4d4d4
 // DISASM: $a:
 // DISASM-NEXT:    11070:       00 c6 8f e2     add     r12, pc, #0, #12
-// DISASM-NEXT:    11074:       02 ca 8c e2     add     r12, r12, #8192
+// DISASM-NEXT:    11074:       01 ca 8c e2     add     r12, r12, #4096
 // DISASM-NEXT:    11078:       0c f0 bc e5     ldr     pc, [r12, #12]!
 // DISASM: $d:
 // DISASM-NEXT:   1107c:	d4 d4 d4 d4 	.word	0xd4d4d4d4

Modified: lld/trunk/test/ELF/arm-pie-relative.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/arm-pie-relative.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/arm-pie-relative.s (original)
+++ lld/trunk/test/ELF/arm-pie-relative.s Wed Mar 13 20:47:45 2019
@@ -19,7 +19,7 @@ sym:
 
 // CHECK:      Relocations [
 // CHECK-NEXT:   Section (4) .rel.dyn {
-// CHECK-NEXT:     0x3058 R_ARM_RELATIVE
+// CHECK-NEXT:     0x2058 R_ARM_RELATIVE
 
 // GOT: Contents of section .got:
-// GOT-NEXT:  3058 00200000
+// GOT-NEXT:  2058 00300000

Modified: lld/trunk/test/ELF/arm-plt-reloc.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/arm-plt-reloc.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/arm-plt-reloc.s (original)
+++ lld/trunk/test/ELF/arm-plt-reloc.s Wed Mar 13 20:47:45 2019
@@ -52,7 +52,7 @@ _start:
 // DSO-NEXT:     1020:       04 e0 2d e5     str     lr, [sp, #-4]!
 // (0x1024 + 8) + (0 RoR 12) + (0 RoR 20) + (0xfdc) = 0x2008 = .got.plt[3]
 // DSO-NEXT:     1024:       00 e6 8f e2     add     lr, pc, #0, #12
-// DSO-NEXT:     1028:       00 ea 8e e2     add     lr, lr, #0, #20
+// DSO-NEXT:     1028:       01 ea 8e e2     add     lr, lr, #4096
 // DSO-NEXT:     102c:       dc ff be e5     ldr     pc, [lr, #4060]!
 // DSO: $d:
 // DSO-NEXT:     1030:       d4 d4 d4 d4     .word   0xd4d4d4d4
@@ -62,21 +62,21 @@ _start:
 // DSO: $a:
 // (0x1040 + 8) + (0 RoR 12) + (0 RoR 20) + (0xfc4) = 0x200c
 // DSO-NEXT:     1040:       00 c6 8f e2     add     r12, pc, #0, #12
-// DSO-NEXT:     1044:       00 ca 8c e2     add     r12, r12, #0, #20
+// DSO-NEXT:     1044:       01 ca 8c e2     add     r12, r12, #4096
 // DSO-NEXT:     1048:       c4 ff bc e5     ldr     pc, [r12, #4036]!
 // DSO: $d:
 // DSO-NEXT:     104c:       d4 d4 d4 d4     .word   0xd4d4d4d4
 // DSO: $a:
 // (0x1050 + 8) + (0 RoR 12) + (0 RoR 20) + (0xfb8) = 0x2010
 // DSO-NEXT:     1050:       00 c6 8f e2     add     r12, pc, #0, #12
-// DSO-NEXT:     1054:       00 ca 8c e2     add     r12, r12, #0, #20
+// DSO-NEXT:     1054:       01 ca 8c e2     add     r12, r12, #4096
 // DSO-NEXT:     1058:       b8 ff bc e5     ldr     pc, [r12, #4024]!
 // DSO: $d:
 // DSO-NEXT:     105c:       d4 d4 d4 d4     .word   0xd4d4d4d4
 // DSO: $a:
 // (0x1060 + 8) + (0 RoR 12) + (0 RoR 20) + (0xfac) = 0x2014
 // DSO-NEXT:     1060:       00 c6 8f e2     add     r12, pc, #0, #12
-// DSO-NEXT:     1064:       00 ca 8c e2     add     r12, r12, #0, #20
+// DSO-NEXT:     1064:       01 ca 8c e2     add     r12, r12, #4096
 // DSO-NEXT:     1068:       ac ff bc e5     ldr     pc, [r12, #4012]!
 // DSO: $d:
 // DSO-NEXT:     106c:       d4 d4 d4 d4     .word   0xd4d4d4d4
@@ -88,7 +88,7 @@ _start:
 // DSOREL-NEXT:      SHF_ALLOC
 // DSOREL-NEXT:      SHF_WRITE
 // DSOREL-NEXT:    ]
-// DSOREL-NEXT:    Address: 0x2000
+// DSOREL-NEXT:    Address: 0x3000
 // DSOREL-NEXT:    Offset:
 // DSOREL-NEXT:    Size: 24
 // DSOREL-NEXT:    Link:
@@ -97,9 +97,9 @@ _start:
 // DSOREL-NEXT:    EntrySize:
 // DSOREL:  Relocations [
 // DSOREL-NEXT:  Section {{.*}} .rel.plt {
-// DSOREL-NEXT:    0x200C R_ARM_JUMP_SLOT func1 0x0
-// DSOREL-NEXT:    0x2010 R_ARM_JUMP_SLOT func2 0x0
-// DSOREL-NEXT:    0x2014 R_ARM_JUMP_SLOT func3 0x0
+// DSOREL-NEXT:    0x300C R_ARM_JUMP_SLOT func1 0x0
+// DSOREL-NEXT:    0x3010 R_ARM_JUMP_SLOT func2 0x0
+// DSOREL-NEXT:    0x3014 R_ARM_JUMP_SLOT func3 0x0
 
 // Test a large separation between the .plt and .got.plt
 // The .got.plt and .plt displacement is large but still within the range

Modified: lld/trunk/test/ELF/arm-thumb-interwork-shared.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/arm-thumb-interwork-shared.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/arm-thumb-interwork-shared.s (original)
+++ lld/trunk/test/ELF/arm-thumb-interwork-shared.s Wed Mar 13 20:47:45 2019
@@ -33,7 +33,7 @@ sym1:
 // PLT-NEXT: $a:
 // PLT-NEXT:     1020:  04 e0 2d e5     str     lr, [sp, #-4]!
 // PLT-NEXT:     1024:  00 e6 8f e2     add     lr, pc, #0, #12
-// PLT-NEXT:     1028:  00 ea 8e e2     add     lr, lr, #0, #20
+// PLT-NEXT:     1028:  01 ea 8e e2     add     lr, lr, #4096
 // PLT-NEXT:     102c:  dc ff be e5     ldr     pc, [lr, #4060]!
 // PLT: $d:
 // PLT-NEXT:     1030:  d4 d4 d4 d4     .word   0xd4d4d4d4
@@ -42,13 +42,13 @@ sym1:
 // PLT-NEXT:     103c:  d4 d4 d4 d4     .word   0xd4d4d4d4
 // PLT: $a:
 // PLT-NEXT:     1040:  00 c6 8f e2     add     r12, pc, #0, #12
-// PLT-NEXT:     1044:  00 ca 8c e2     add     r12, r12, #0, #20
+// PLT-NEXT:     1044:  01 ca 8c e2     add     r12, r12, #4096
 // PLT-NEXT:     1048:  c4 ff bc e5     ldr     pc, [r12, #4036]!
 // PLT: $d:
 // PLT-NEXT:     104c:  d4 d4 d4 d4     .word   0xd4d4d4d4
 // PLT: $a:
 // PLT-NEXT:     1050:  00 c6 8f e2     add     r12, pc, #0, #12
-// PLT-NEXT:     1054:  00 ca 8c e2     add     r12, r12, #0, #20
+// PLT-NEXT:     1054:  01 ca 8c e2     add     r12, r12, #4096
 // PLT-NEXT:     1058:  b8 ff bc e5     ldr     pc, [r12, #4024]!
 // PLT: $d:
 // PLT-NEXT:     105c:  d4 d4 d4 d4     .word   0xd4d4d4d4

Modified: lld/trunk/test/ELF/arm-thumb-plt-range-thunk-os.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/arm-thumb-plt-range-thunk-os.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/arm-thumb-plt-range-thunk-os.s (original)
+++ lld/trunk/test/ELF/arm-thumb-plt-range-thunk-os.s Wed Mar 13 20:47:45 2019
@@ -87,7 +87,7 @@ far_nonpreemptible_alias:
 // CHECK4-NEXT: $a:
 // CHECK4-NEXT:  4000010:	04 e0 2d e5 	str	lr, [sp, #-4]!
 // CHECK4-NEXT:  4000014:	00 e6 8f e2 	add	lr, pc, #0, #12
-// CHECK4-NEXT:  4000018:	00 ea 8e e2 	add	lr, lr, #0, #20
+// CHECK4-NEXT:  4000018:	01 ea 8e e2 	add	lr, lr, #4096
 // CHECK4-NEXT:  400001c:	ec ff be e5 	ldr	pc, [lr, #4076]!
 // CHECK4: $d:
 // CHECK4-NEXT:  4000020:	d4 d4 d4 d4 	.word	0xd4d4d4d4
@@ -96,19 +96,19 @@ far_nonpreemptible_alias:
 // CHECK4-NEXT:  400002c:	d4 d4 d4 d4 	.word	0xd4d4d4d4
 // CHECK4: $a:
 // CHECK4-NEXT:  4000030:	00 c6 8f e2 	add	r12, pc, #0, #12
-// CHECK4-NEXT:  4000034:	00 ca 8c e2 	add	r12, r12, #0, #20
+// CHECK4-NEXT:  4000034:	01 ca 8c e2 	add	r12, r12, #4096
 // CHECK4-NEXT:  4000038:	d4 ff bc e5 	ldr	pc, [r12, #4052]!
 // CHECK4: $d:
 // CHECK4-NEXT:  400003c:	d4 d4 d4 d4 	.word	0xd4d4d4d4
 // CHECK4: $a:
 // CHECK4-NEXT:  4000040:	00 c6 8f e2 	add	r12, pc, #0, #12
-// CHECK4-NEXT:  4000044:	00 ca 8c e2 	add	r12, r12, #0, #20
+// CHECK4-NEXT:  4000044:	01 ca 8c e2 	add	r12, r12, #4096
 // CHECK4-NEXT:  4000048:	c8 ff bc e5 	ldr	pc, [r12, #4040]!
 // CHECK4: $d:
 // CHECK4-NEXT:  400004c:	d4 d4 d4 d4 	.word	0xd4d4d4d4
 // CHECK4: $a:
 // CHECK4-NEXT:  4000050:	00 c6 8f e2 	add	r12, pc, #0, #12
-// CHECK4-NEXT:  4000054:	00 ca 8c e2 	add	r12, r12, #0, #20
+// CHECK4-NEXT:  4000054:	01 ca 8c e2 	add	r12, r12, #4096
 // CHECK4-NEXT:  4000058:	bc ff bc e5 	ldr	pc, [r12, #4028]!
 // CHECK4: $d:
 // CHECK4-NEXT:  400005c:	d4 d4 d4 d4 	.word	0xd4d4d4d4

Modified: lld/trunk/test/ELF/arm-thumb-plt-reloc.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/arm-thumb-plt-reloc.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/arm-thumb-plt-reloc.s (original)
+++ lld/trunk/test/ELF/arm-thumb-plt-reloc.s Wed Mar 13 20:47:45 2019
@@ -62,7 +62,7 @@ _start:
 // DSOARM-NEXT:     1020:       04 e0 2d e5     str     lr, [sp, #-4]!
 // (0x1024 + 8) + (0 RoR 12) + (0 RoR 20) + (0xfdc) = 0x2008 = .got.plt[3]
 // DSOARM-NEXT:     1024:       00 e6 8f e2     add     lr, pc, #0, #12
-// DSOARM-NEXT:     1028:       00 ea 8e e2     add     lr, lr, #0, #20
+// DSOARM-NEXT:     1028:       01 ea 8e e2     add     lr, lr, #4096
 // DSOARM-NEXT:     102c:       dc ff be e5     ldr     pc, [lr, #4060]!
 // DSOARM: $d:
 
@@ -73,21 +73,21 @@ _start:
 // DSOARM: $a:
 // (0x1040 + 8) + (0 RoR 12) + (0 RoR 20) + (0xfc4) = 0x200c
 // DSOARM-NEXT:     1040:       00 c6 8f e2     add     r12, pc, #0, #12
-// DSOARM-NEXT:     1044:       00 ca 8c e2     add     r12, r12, #0, #20
+// DSOARM-NEXT:     1044:       01 ca 8c e2     add     r12, r12, #4096
 // DSOARM-NEXT:     1048:       c4 ff bc e5     ldr     pc, [r12, #4036]!
 // DSOARM: $d:
 // DSOARM-NEXT:     104c:       d4 d4 d4 d4     .word   0xd4d4d4d4
 // DSOARM: $a:
 // (0x1050 + 8) + (0 RoR 12) + (0 RoR 20) + (0xfb8) = 0x2010
 // DSOARM-NEXT:     1050:       00 c6 8f e2     add     r12, pc, #0, #12
-// DSOARM-NEXT:     1054:       00 ca 8c e2     add     r12, r12, #0, #20
+// DSOARM-NEXT:     1054:       01 ca 8c e2     add     r12, r12, #4096
 // DSOARM-NEXT:     1058:       b8 ff bc e5     ldr     pc, [r12, #4024]!
 // DSOARM: $d:
 // DSOARM-NEXT:     105c:       d4 d4 d4 d4     .word   0xd4d4d4d4
 // DSOARM: $a:
 // (0x1060 + 8) + (0 RoR 12) + (0 RoR 20) + (0xfac) = 0x2014
 // DSOARM-NEXT:     1060:       00 c6 8f e2     add     r12, pc, #0, #12
-// DSOARM-NEXT:     1064:       00 ca 8c e2     add     r12, r12, #0, #20
+// DSOARM-NEXT:     1064:       01 ca 8c e2     add     r12, r12, #4096
 // DSOARM-NEXT:     1068:       ac ff bc e5     ldr     pc, [r12, #4012]!
 // DSOARM: $d:
 // DSOARM-NEXT:     106c:       d4 d4 d4 d4     .word   0xd4d4d4d4
@@ -98,7 +98,7 @@ _start:
 // DSOREL-NEXT:      SHF_ALLOC
 // DSOREL-NEXT:      SHF_WRITE
 // DSOREL-NEXT:    ]
-// DSOREL-NEXT:    Address: 0x2000
+// DSOREL-NEXT:    Address: 0x3000
 // DSOREL-NEXT:    Offset:
 // DSOREL-NEXT:    Size: 24
 // DSOREL-NEXT:    Link:
@@ -107,6 +107,6 @@ _start:
 // DSOREL-NEXT:    EntrySize:
 // DSOREL:  Relocations [
 // DSOREL-NEXT:  Section (4) .rel.plt {
-// DSOREL-NEXT:    0x200C R_ARM_JUMP_SLOT func1 0x0
-// DSOREL-NEXT:    0x2010 R_ARM_JUMP_SLOT func2 0x0
-// DSOREL-NEXT:    0x2014 R_ARM_JUMP_SLOT func3 0x0
+// DSOREL-NEXT:    0x300C R_ARM_JUMP_SLOT func1 0x0
+// DSOREL-NEXT:    0x3010 R_ARM_JUMP_SLOT func2 0x0
+// DSOREL-NEXT:    0x3014 R_ARM_JUMP_SLOT func3 0x0

Modified: lld/trunk/test/ELF/arm-thunk-multipass-plt.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/arm-thunk-multipass-plt.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/arm-thunk-multipass-plt.s (original)
+++ lld/trunk/test/ELF/arm-thunk-multipass-plt.s Wed Mar 13 20:47:45 2019
@@ -73,7 +73,7 @@ preemptible2:
 // CHECK-PLT-NEXT: 0000000000d00020 $a:
 // CHECK-PLT-NEXT:   d00020:    04 e0 2d e5     str     lr, [sp, #-4]!
 // CHECK-PLT-NEXT:   d00024:    00 e6 8f e2     add     lr, pc, #0, #12
-// CHECK-PLT-NEXT:   d00028:    00 ea 8e e2     add     lr, lr, #0, #20
+// CHECK-PLT-NEXT:   d00028:    01 ea 8e e2     add     lr, lr, #4096
 // CHECK-PLT-NEXT:   d0002c:    dc ff be e5     ldr     pc, [lr, #4060]!
 // CHECK-PLT: 0000000000d00030 $d:
 // CHECK-PLT-NEXT:   d00030:    d4 d4 d4 d4     .word   0xd4d4d4d4
@@ -82,13 +82,13 @@ preemptible2:
 // CHECK-PLT-NEXT:   d0003c:    d4 d4 d4 d4     .word   0xd4d4d4d4
 // CHECK-PLT: 0000000000d00040 $a:
 // CHECK-PLT-NEXT:   d00040:    00 c6 8f e2     add     r12, pc, #0, #12
-// CHECK-PLT-NEXT:   d00044:    00 ca 8c e2     add     r12, r12, #0, #20
+// CHECK-PLT-NEXT:   d00044:    01 ca 8c e2     add     r12, r12, #4096
 // CHECK-PLT-NEXT:   d00048:    c4 ff bc e5     ldr     pc, [r12, #4036]!
 // CHECK-PLT: 0000000000d0004c $d:
 // CHECK-PLT-NEXT:   d0004c:    d4 d4 d4 d4     .word   0xd4d4d4d4
 // CHECK-PLT: 0000000000d00050 $a:
 // CHECK-PLT-NEXT:   d00050:    00 c6 8f e2     add     r12, pc, #0, #12
-// CHECK-PLT-NEXT:   d00054:    00 ca 8c e2     add     r12, r12, #0, #20
+// CHECK-PLT-NEXT:   d00054:    01 ca 8c e2     add     r12, r12, #4096
 // CHECK-PLT-NEXT:   d00058:    b8 ff bc e5     ldr     pc, [r12, #4024]!
 // CHECK-PLT: 0000000000d0005c $d:
 // CHECK-PLT-NEXT:   d0005c:    d4 d4 d4 d4     .word   0xd4d4d4d4

Modified: lld/trunk/test/ELF/arm-thunk-re-add.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/arm-thunk-re-add.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/arm-thunk-re-add.s (original)
+++ lld/trunk/test/ELF/arm-thunk-re-add.s Wed Mar 13 20:47:45 2019
@@ -102,7 +102,7 @@ callers:
 // CHECK3-NEXT: $a:
 // CHECK3-NEXT:  1100020:       04 e0 2d e5     str     lr, [sp, #-4]!
 // CHECK3-NEXT:  1100024:       00 e6 8f e2     add     lr, pc, #0, #12
-// CHECK3-NEXT:  1100028:       00 ea 8e e2     add     lr, lr, #0, #20
+// CHECK3-NEXT:  1100028:       01 ea 8e e2     add     lr, lr, #4096
 // CHECK3-NEXT:  110002c:       dc ff be e5     ldr     pc, [lr, #4060]!
 // CHECK3: $d:
 // CHECK3-NEXT:  1100030:       d4 d4 d4 d4     .word   0xd4d4d4d4
@@ -111,13 +111,13 @@ callers:
 // CHECK3-NEXT:  110003c:       d4 d4 d4 d4     .word   0xd4d4d4d4
 // CHECK3: $a:
 // CHECK3-NEXT:  1100040:       00 c6 8f e2     add     r12, pc, #0, #12
-// CHECK3-NEXT:  1100044:       00 ca 8c e2     add     r12, r12, #0, #20
+// CHECK3-NEXT:  1100044:       01 ca 8c e2     add     r12, r12, #4096
 // CHECK3-NEXT:  1100048:       c4 ff bc e5     ldr     pc, [r12, #4036]!
 // CHECK3: $d:
 // CHECK3-NEXT:  110004c:       d4 d4 d4 d4     .word   0xd4d4d4d4
 // CHECK3: $a:
 // CHECK3-NEXT:  1100050:       00 c6 8f e2     add     r12, pc, #0, #12
-// CHECK3-NEXT:  1100054:       00 ca 8c e2     add     r12, r12, #0, #20
+// CHECK3-NEXT:  1100054:       01 ca 8c e2     add     r12, r12, #4096
 // CHECK3-NEXT:  1100058:       b8 ff bc e5     ldr     pc, [r12, #4024]!
 // CHECK3: $d:
 // CHECK3-NEXT:  110005c:       d4 d4 d4 d4     .word   0xd4d4d4d4

Modified: lld/trunk/test/ELF/arm-tls-norelax-gd-ie.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/arm-tls-norelax-gd-ie.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/arm-tls-norelax-gd-ie.s (original)
+++ lld/trunk/test/ELF/arm-tls-norelax-gd-ie.s Wed Mar 13 20:47:45 2019
@@ -25,6 +25,6 @@ func:
  .Lt0: .word   y(TLSGD) + (. - .L0 - 8)
 
 // CHECK: Dynamic Relocations {
-// CHECK-NEXT:   0x13078 R_ARM_TLS_DTPMOD32 y
-// CHECK-NEXT:   0x1307C R_ARM_TLS_DTPOFF32 y
-// CHECK-NEXT:   0x1200C R_ARM_JUMP_SLOT __tls_get_addr
+// CHECK-NEXT:   0x12078 R_ARM_TLS_DTPMOD32 y
+// CHECK-NEXT:   0x1207C R_ARM_TLS_DTPOFF32 y
+// CHECK-NEXT:   0x1300C R_ARM_JUMP_SLOT __tls_get_addr

Modified: lld/trunk/test/ELF/arm-tls-norelax-gd-le.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/arm-tls-norelax-gd-le.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/arm-tls-norelax-gd-le.s (original)
+++ lld/trunk/test/ELF/arm-tls-norelax-gd-le.s Wed Mar 13 20:47:45 2019
@@ -33,7 +33,7 @@ x:
 
 // CHECK:       Contents of section .got:
 // Module index is always 1 for executable
-// CHECK-NEXT:  13060 01000000 00000000
+// CHECK-NEXT:  12060 01000000 00000000
 
 
 // Without any definition of __tls_get_addr we get an error

Modified: lld/trunk/test/ELF/arm-tls-norelax-ie-le.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/arm-tls-norelax-ie-le.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/arm-tls-norelax-ie-le.s (original)
+++ lld/trunk/test/ELF/arm-tls-norelax-ie-le.s Wed Mar 13 20:47:45 2019
@@ -38,4 +38,4 @@ x2:
 
 // CHECK: Contents of section .got:
 // x1 at offset 0x20 from TP, x2 at offset 0x24 from TP. Offsets include TCB size of 0x20
-// CHECK-NEXT: 13064 20000000 24000000
+// CHECK-NEXT: 12064 20000000 24000000

Modified: lld/trunk/test/ELF/arm-tls-norelax-ld-le.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/arm-tls-norelax-ld-le.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/arm-tls-norelax-ld-le.s (original)
+++ lld/trunk/test/ELF/arm-tls-norelax-ld-le.s Wed Mar 13 20:47:45 2019
@@ -32,4 +32,4 @@ x:
  .word   10
 
 // CHECK: Contents of section .got:
-// CHECK-NEXT:  13064 01000000 00000000
+// CHECK-NEXT:  12064 01000000 00000000

Modified: lld/trunk/test/ELF/combrelocs.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/combrelocs.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/combrelocs.s (original)
+++ lld/trunk/test/ELF/combrelocs.s Wed Mar 13 20:47:45 2019
@@ -10,31 +10,31 @@
 # CHECK:      Relocations [
 # CHECK-NEXT:   Section ({{.*}}) .rela.dyn {
 # CHECK-NEXT:     Relocation {
-# CHECK-NEXT:       Offset: 0x1000
+# CHECK-NEXT:       Offset: 0x2000
 # CHECK-NEXT:       Type: R_X86_64_64
 # CHECK-NEXT:       Symbol: aaa (1)
 # CHECK-NEXT:       Addend: 0x0
 # CHECK-NEXT:     }
 # CHECK-NEXT:     Relocation {
-# CHECK-NEXT:       Offset: 0x1018
+# CHECK-NEXT:       Offset: 0x2018
 # CHECK-NEXT:       Type: R_X86_64_64
 # CHECK-NEXT:       Symbol: aaa (1)
 # CHECK-NEXT:       Addend: 0x0
 # CHECK-NEXT:     }
 # CHECK-NEXT:     Relocation {
-# CHECK-NEXT:       Offset: 0x1010
+# CHECK-NEXT:       Offset: 0x2010
 # CHECK-NEXT:       Type: R_X86_64_64
 # CHECK-NEXT:       Symbol: bbb (2)
 # CHECK-NEXT:       Addend: 0x0
 # CHECK-NEXT:     }
 # CHECK-NEXT:     Relocation {
-# CHECK-NEXT:       Offset: 0x1008
+# CHECK-NEXT:       Offset: 0x2008
 # CHECK-NEXT:       Type: R_X86_64_64
 # CHECK-NEXT:       Symbol: ccc (3)
 # CHECK-NEXT:       Addend: 0x0
 # CHECK-NEXT:     }
 # CHECK-NEXT:     Relocation {
-# CHECK-NEXT:       Offset: 0x1020
+# CHECK-NEXT:       Offset: 0x2020
 # CHECK-NEXT:       Type: R_X86_64_64
 # CHECK-NEXT:       Symbol: ddd (4)
 # CHECK-NEXT:       Addend: 0x0
@@ -52,31 +52,31 @@
 # NOCOMB:      Relocations [
 # NOCOMB-NEXT:    Section ({{.*}}) .rela.dyn {
 # NOCOMB-NEXT:     Relocation {
-# NOCOMB-NEXT:       Offset: 0x1000
+# NOCOMB-NEXT:       Offset: 0x2000
 # NOCOMB-NEXT:       Type: R_X86_64_64
 # NOCOMB-NEXT:       Symbol: aaa (1)
 # NOCOMB-NEXT:       Addend: 0x0
 # NOCOMB-NEXT:     }
 # NOCOMB-NEXT:     Relocation {
-# NOCOMB-NEXT:       Offset: 0x1008
+# NOCOMB-NEXT:       Offset: 0x2008
 # NOCOMB-NEXT:       Type: R_X86_64_64
 # NOCOMB-NEXT:       Symbol: ccc (3)
 # NOCOMB-NEXT:       Addend: 0x0
 # NOCOMB-NEXT:     }
 # NOCOMB-NEXT:     Relocation {
-# NOCOMB-NEXT:       Offset: 0x1010
+# NOCOMB-NEXT:       Offset: 0x2010
 # NOCOMB-NEXT:       Type: R_X86_64_64
 # NOCOMB-NEXT:       Symbol: bbb (2)
 # NOCOMB-NEXT:       Addend: 0x0
 # NOCOMB-NEXT:     }
 # NOCOMB-NEXT:     Relocation {
-# NOCOMB-NEXT:       Offset: 0x1018
+# NOCOMB-NEXT:       Offset: 0x2018
 # NOCOMB-NEXT:       Type: R_X86_64_64
 # NOCOMB-NEXT:       Symbol: aaa (1)
 # NOCOMB-NEXT:       Addend: 0x0
 # NOCOMB-NEXT:     }
 # NOCOMB-NEXT:     Relocation {
-# NOCOMB-NEXT:       Offset: 0x1020
+# NOCOMB-NEXT:       Offset: 0x2020
 # NOCOMB-NEXT:       Type: R_X86_64_64
 # NOCOMB-NEXT:       Symbol: ddd (4)
 # NOCOMB-NEXT:       Addend: 0x0

Modified: lld/trunk/test/ELF/copy-rel-pie.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/copy-rel-pie.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/copy-rel-pie.s (original)
+++ lld/trunk/test/ELF/copy-rel-pie.s Wed Mar 13 20:47:45 2019
@@ -27,21 +27,21 @@ _start:
 // CHECK-NEXT:   SHF_ALLOC
 // CHECK-NEXT:   SHF_WRITE
 // CHECK-NEXT: ]
-// CHECK-NEXT: Address: 0x4000
+// CHECK-NEXT: Address: 0x3020
 
 // CHECK:      Relocations [
 // CHECK-NEXT:   Section (4) .rela.dyn {
-// CHECK-NEXT:     0x4000 R_X86_64_COPY foo 0x0
+// CHECK-NEXT:     0x3020 R_X86_64_COPY foo 0x0
 // CHECK-NEXT:   }
 // CHECK-NEXT:   Section (5) .rela.plt {
-// CHECK-NEXT:     0x2018 R_X86_64_JUMP_SLOT bar 0x0
+// CHECK-NEXT:     0x3018 R_X86_64_JUMP_SLOT bar 0x0
 // CHECK-NEXT:   }
 // CHECK-NEXT: ]
 
 // (0x1010 + 0x10) - 0x1005 = 27
-// 0x4000          - 0x100a = 12278
+// 0x3020          - 0x100a = 8214
 
 // DISASM:      Disassembly of section .text:
 // DISASM-NEXT: _start:
 // DISASM-NEXT:     1000:       e8 1b 00 00 00  callq   27
-// DISASM-NEXT:     1005:       e8 f6 2f 00 00  callq   12278 <foo>
+// DISASM-NEXT:     1005:       e8 16 20 00 00  callq   8214 <foo>

Modified: lld/trunk/test/ELF/dynamic-got.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/dynamic-got.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/dynamic-got.s (original)
+++ lld/trunk/test/ELF/dynamic-got.s Wed Mar 13 20:47:45 2019
@@ -3,23 +3,6 @@
 // RUN: ld.lld --hash-style=sysv %t.o -o %t.so -shared
 // RUN: llvm-readobj -s -l -section-data -r %t.so | FileCheck %s
 
-// CHECK:     Name: .got.plt
-// CHECK-NEXT:     Type: SHT_PROGBITS
-// CHECK-NEXT:     Flags [
-// CHECK-NEXT:       SHF_ALLOC
-// CHECK-NEXT:       SHF_WRITE
-// CHECK-NEXT:     ]
-// CHECK-NEXT:     Address:
-// CHECK-NEXT:     Offset:
-// CHECK-NEXT:     Size:
-// CHECK-NEXT:     Link:
-// CHECK-NEXT:     Info:
-// CHECK-NEXT:     AddressAlignment:
-// CHECK-NEXT:     EntrySize:
-// CHECK-NEXT:     SectionData (
-// CHECK-NEXT:       0000: 00300000 00000000 00000000
-// CHECK-NEXT:     )
-
 // CHECK:      Name: .got
 // CHECK-NEXT: Type: SHT_PROGBITS
 // CHECK-NEXT: Flags [
@@ -34,19 +17,36 @@
 // CHECK-NEXT: AddressAlignment:
 // CHECK-NEXT: EntrySize:
 // CHECK-NEXT: SectionData (
-// CHECK-NEXT:   0000: 00300000
+// CHECK-NEXT:   0000: 00200000
 // CHECK-NEXT: )
 
+// CHECK:     Name: .got.plt
+// CHECK-NEXT:     Type: SHT_PROGBITS
+// CHECK-NEXT:     Flags [
+// CHECK-NEXT:       SHF_ALLOC
+// CHECK-NEXT:       SHF_WRITE
+// CHECK-NEXT:     ]
+// CHECK-NEXT:     Address:
+// CHECK-NEXT:     Offset:
+// CHECK-NEXT:     Size:
+// CHECK-NEXT:     Link:
+// CHECK-NEXT:     Info:
+// CHECK-NEXT:     AddressAlignment:
+// CHECK-NEXT:     EntrySize:
+// CHECK-NEXT:     SectionData (
+// CHECK-NEXT:       0000: 00200000 00000000 00000000
+// CHECK-NEXT:     )
+
 // CHECK:      Relocations [
 // CHECK-NEXT:   Section ({{.*}}) .rel.dyn {
-// CHECK-NEXT:     0x3050 R_386_RELATIVE - 0x0
+// CHECK-NEXT:     0x2050 R_386_RELATIVE - 0x0
 // CHECK-NEXT:   }
 // CHECK-NEXT: ]
 
 // CHECK:      Type: PT_DYNAMIC
-// CHECK-NEXT: Offset: 0x3000
-// CHECK-NEXT: VirtualAddress: 0x3000
-// CHECK-NEXT: PhysicalAddress: 0x3000
+// CHECK-NEXT: Offset: 0x2000
+// CHECK-NEXT: VirtualAddress: 0x2000
+// CHECK-NEXT: PhysicalAddress: 0x2000
 
         calll   .L0$pb
 .L0$pb:

Modified: lld/trunk/test/ELF/dynamic-list-weak-archive.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/dynamic-list-weak-archive.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/dynamic-list-weak-archive.s (original)
+++ lld/trunk/test/ELF/dynamic-list-weak-archive.s Wed Mar 13 20:47:45 2019
@@ -10,7 +10,7 @@
 
 # CHECK:      Relocations [
 # CHECK-NEXT:   Section ({{.*}}) .rela.plt {
-# CHECK-NEXT:     0x2018 R_X86_64_JUMP_SLOT foo
+# CHECK-NEXT:     0x3018 R_X86_64_JUMP_SLOT foo
 # CHECK-NEXT:   }
 # CHECK-NEXT: ]
 

Modified: lld/trunk/test/ELF/dynamic-reloc-index.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/dynamic-reloc-index.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/dynamic-reloc-index.s (original)
+++ lld/trunk/test/ELF/dynamic-reloc-index.s Wed Mar 13 20:47:45 2019
@@ -9,7 +9,7 @@
 
 // CHECK:      Relocations [
 // CHECK-NEXT:   Section ({{.*}}) .rela.plt {
-// CHECK-NEXT:     0x202018 R_X86_64_JUMP_SLOT bar 0x0
+// CHECK-NEXT:     0x203018 R_X86_64_JUMP_SLOT bar 0x0
 // CHECK-NEXT:   }
 // CHECK-NEXT: ]
 

Modified: lld/trunk/test/ELF/dynamic-reloc.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/dynamic-reloc.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/dynamic-reloc.s (original)
+++ lld/trunk/test/ELF/dynamic-reloc.s Wed Mar 13 20:47:45 2019
@@ -18,7 +18,7 @@
 // CHECK-NEXT: Offset:
 // CHECK-NEXT: Size: [[RELASIZE:.*]]
 // CHECK-NEXT: Link: 1
-// CHECK-NEXT: Info: 7
+// CHECK-NEXT: Info: 8
 // CHECK-NEXT: AddressAlignment: 8
 // CHECK-NEXT: EntrySize: 24
 
@@ -33,7 +33,7 @@
 // CHECK:      Relocations [
 // CHECK-NEXT:   Section ({{.*}}) .rela.plt {
 // CHECK-NEXT:     Relocation {
-// CHECK-NEXT:       Offset: 0x202018
+// CHECK-NEXT:       Offset: 0x203018
 // CHECK-NEXT:       Type: R_X86_64_JUMP_SLOT
 // CHECK-NEXT:       Symbol: bar
 // CHECK-NEXT:       Addend: 0x0

Modified: lld/trunk/test/ELF/emit-relocs-merge.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/emit-relocs-merge.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/emit-relocs-merge.s (original)
+++ lld/trunk/test/ELF/emit-relocs-merge.s Wed Mar 13 20:47:45 2019
@@ -5,12 +5,12 @@
 
 # CHECK:       Relocations [
 # CHECK-NEXT:    Section ({{.*}}) .rela.dyn {
-# CHECK-NEXT:     0x1000 R_X86_64_64 zed 0x0
-# CHECK-NEXT:     0x1008 R_X86_64_64 zed 0x0
+# CHECK-NEXT:     0x2000 R_X86_64_64 zed 0x0
+# CHECK-NEXT:     0x2008 R_X86_64_64 zed 0x0
 # CHECK-NEXT:   }
 # CHECK-NEXT:   Section ({{.*}}) .rela.data {
-# CHECK-NEXT:     0x1000 R_X86_64_64 zed 0x0
-# CHECK-NEXT:     0x1008 R_X86_64_64 zed 0x0
+# CHECK-NEXT:     0x2000 R_X86_64_64 zed 0x0
+# CHECK-NEXT:     0x2008 R_X86_64_64 zed 0x0
 # CHECK-NEXT:   }
 # CHECK-NEXT: ]
 

Modified: lld/trunk/test/ELF/emit-relocs-shared.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/emit-relocs-shared.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/emit-relocs-shared.s (original)
+++ lld/trunk/test/ELF/emit-relocs-shared.s Wed Mar 13 20:47:45 2019
@@ -8,9 +8,9 @@
 
 # CHECK:      Relocations [
 # CHECK-NEXT:   Section {{.*}} .rela.dyn {
-# CHECK-NEXT:     0x1000 R_X86_64_64 foo 0x0
+# CHECK-NEXT:     0x2000 R_X86_64_64 foo 0x0
 # CHECK-NEXT:   }
 # CHECK-NEXT:   Section {{.*}} .rela.data {
-# CHECK-NEXT:     0x1000 R_X86_64_64 foo 0x0
+# CHECK-NEXT:     0x2000 R_X86_64_64 foo 0x0
 # CHECK-NEXT:   }
 # CHECK-NEXT: ]

Modified: lld/trunk/test/ELF/executable-undefined-ignoreall.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/executable-undefined-ignoreall.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/executable-undefined-ignoreall.s (original)
+++ lld/trunk/test/ELF/executable-undefined-ignoreall.s Wed Mar 13 20:47:45 2019
@@ -5,7 +5,7 @@
 
 # CHECK:      Relocations [
 # CHECK-NEXT:   Section ({{.*}}) .rela.plt {
-# CHECK-NEXT:     0x2018 R_X86_64_JUMP_SLOT foo 0x0
+# CHECK-NEXT:     0x3018 R_X86_64_JUMP_SLOT foo 0x0
 # CHECK-NEXT:   }
 # CHECK-NEXT: ]
 

Modified: lld/trunk/test/ELF/gc-sections-linker-defined-symbol.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/gc-sections-linker-defined-symbol.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/gc-sections-linker-defined-symbol.s (original)
+++ lld/trunk/test/ELF/gc-sections-linker-defined-symbol.s Wed Mar 13 20:47:45 2019
@@ -10,7 +10,7 @@
 # CHECK-NEXT: Binding: Global
 # CHECK-NEXT: Type: None
 # CHECK-NEXT: Other:
-# CHECK-NEXT: Section: .dynamic
+# CHECK-NEXT: Section: .data
 
         .data
         .globl g

Modified: lld/trunk/test/ELF/global-offset-table-position-aarch64.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/global-offset-table-position-aarch64.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/global-offset-table-position-aarch64.s (original)
+++ lld/trunk/test/ELF/global-offset-table-position-aarch64.s Wed Mar 13 20:47:45 2019
@@ -20,7 +20,7 @@ _start:
 .long _GLOBAL_OFFSET_TABLE_ - .
 
 // CHECK: Name: _GLOBAL_OFFSET_TABLE_ (11)
-// CHECK-NEXT:     Value: 0x20008
+// CHECK-NEXT:     Value: 0x30008
 // CHECK-NEXT:     Size: 0
 // CHECK-NEXT:     Binding: Local (0x0)
 // CHECK-NEXT:     Type: None (0x0)

Modified: lld/trunk/test/ELF/global-offset-table-position-arm.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/global-offset-table-position-arm.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/global-offset-table-position-arm.s (original)
+++ lld/trunk/test/ELF/global-offset-table-position-arm.s Wed Mar 13 20:47:45 2019
@@ -25,7 +25,7 @@ _start:
 .data
 
 // CHECK:     Name: _GLOBAL_OFFSET_TABLE_
-// CHECK-NEXT:     Value: 0x3068
+// CHECK-NEXT:     Value: 0x2068
 // CHECK-NEXT:     Size: 0
 // CHECK-NEXT:     Binding: Local
 // CHECK-NEXT:     Type: None

Modified: lld/trunk/test/ELF/global-offset-table-position-i386.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/global-offset-table-position-i386.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/global-offset-table-position-i386.s (original)
+++ lld/trunk/test/ELF/global-offset-table-position-i386.s Wed Mar 13 20:47:45 2019
@@ -22,7 +22,7 @@ addl    $_GLOBAL_OFFSET_TABLE_, %eax
 calll   f at PLT
 
 // CHECK:     Name: _GLOBAL_OFFSET_TABLE_ (1)
-// CHECK-NEXT:     Value: 0x2000
+// CHECK-NEXT:     Value: 0x3000
 // CHECK-NEXT:     Size: 0
 // CHECK-NEXT:     Binding: Local (0x0)
 // CHECK-NEXT:     Type: None (0x0)

Modified: lld/trunk/test/ELF/global-offset-table-position.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/global-offset-table-position.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/global-offset-table-position.s (original)
+++ lld/trunk/test/ELF/global-offset-table-position.s Wed Mar 13 20:47:45 2019
@@ -22,7 +22,7 @@ callq	f at PLT
 .long _GLOBAL_OFFSET_TABLE_ - .
 
 // CHECK:     Name: _GLOBAL_OFFSET_TABLE_
-// CHECK-NEXT:     Value: 0x2008
+// CHECK-NEXT:     Value: 0x3008
 // CHECK-NEXT:     Size: 0
 // CHECK-NEXT:     Binding: Local
 // CHECK-NEXT:     Type: None (0x0)

Modified: lld/trunk/test/ELF/global_offset_table_shared.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/global_offset_table_shared.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/global_offset_table_shared.s (original)
+++ lld/trunk/test/ELF/global_offset_table_shared.s Wed Mar 13 20:47:45 2019
@@ -5,7 +5,7 @@
 .long _GLOBAL_OFFSET_TABLE_ - .
 
 // CHECK:      Name: _GLOBAL_OFFSET_TABLE_
-// CHECK-NEXT: Value: 0x2000
+// CHECK-NEXT: Value: 0x3000
 // CHECK-NEXT: Size: 0
 // CHECK-NEXT: Binding: Local
 // CHECK-NEXT: Type: None

Modified: lld/trunk/test/ELF/gnu-ifunc-canon.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/gnu-ifunc-canon.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/gnu-ifunc-canon.s (original)
+++ lld/trunk/test/ELF/gnu-ifunc-canon.s Wed Mar 13 20:47:45 2019
@@ -69,17 +69,17 @@
 // Make sure the static relocations look right, both with and without headers.
 // DUMP: Contents of section .plt:
 // DUMP-NEXT: 201010
-// DUMP: Contents of section .data:
-// DUMP-NEXT: 202000 10102000 00000000 11102000 00000000
 // DUMP: Contents of section .got:
-// DUMP-NEXT: 203000 10102000 00000000
+// DUMP-NEXT: 202000 10102000 00000000
+// DUMP: Contents of section .data:
+// DUMP-NEXT: 203000 10102000 00000000 11102000 00000000
 
 // DUMP2: Contents of section .plt:
 // DUMP2-NEXT: 201010
-// DUMP2: Contents of section .data:
-// DUMP2-NEXT: 202000 40102000 00000000 41102000 00000000
 // DUMP2: Contents of section .got:
-// DUMP2-NEXT: 203000 40102000 00000000
+// DUMP2-NEXT: 202000 40102000 00000000
+// DUMP2: Contents of section .data:
+// DUMP2-NEXT: 203000 40102000 00000000 41102000 00000000
 
 lea ifunc at gotpcrel(%rip), %rbx
 

Modified: lld/trunk/test/ELF/gnu-ifunc-dso.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/gnu-ifunc-dso.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/gnu-ifunc-dso.s (original)
+++ lld/trunk/test/ELF/gnu-ifunc-dso.s Wed Mar 13 20:47:45 2019
@@ -6,7 +6,7 @@
 # RUN: llvm-readobj -dyn-relocations %t | FileCheck %s
 
 # CHECK:      Dynamic Relocations {
-# CHECK-NEXT:   0x1000 R_X86_64_64 foo 0x0
+# CHECK-NEXT:   0x2000 R_X86_64_64 foo 0x0
 # CHECK-NEXT: }
 
 .data

Modified: lld/trunk/test/ELF/gnu-ifunc-dyntags.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/gnu-ifunc-dyntags.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/gnu-ifunc-dyntags.s (original)
+++ lld/trunk/test/ELF/gnu-ifunc-dyntags.s Wed Mar 13 20:47:45 2019
@@ -9,7 +9,7 @@
 
 # CHECK:  Name          Size   VMA
 # CHECK:  .rela.plt   00000030 0000000000000210
-# CHECK:  .got.plt    00000010 0000000000002000
+# CHECK:  .got.plt    00000010 0000000000003000
 
 # TAGS:      Relocations [
 # TAGS-NEXT:   Section {{.*}} .rela.plt {
@@ -21,7 +21,7 @@
 # TAGS:   Tag                Type                 Name/Value
 # TAGS:   0x0000000000000017 JMPREL               0x210
 # TAGS:   0x0000000000000002 PLTRELSZ             48
-# TAGS:   0x0000000000000003 PLTGOT               0x2000
+# TAGS:   0x0000000000000003 PLTGOT               0x3000
 # TAGS:   0x0000000000000014 PLTREL               RELA
 
 .text

Modified: lld/trunk/test/ELF/gnu-ifunc-plt-i386.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/gnu-ifunc-plt-i386.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/gnu-ifunc-plt-i386.s (original)
+++ lld/trunk/test/ELF/gnu-ifunc-plt-i386.s Wed Mar 13 20:47:45 2019
@@ -10,16 +10,16 @@
 // Check that the IRELATIVE relocations are after the JUMP_SLOT in the plt
 // CHECK: Relocations [
 // CHECK-NEXT:   Section (4) .rel.plt {
-// CHECK-NEXT:     0x40200C R_386_JUMP_SLOT bar2
-// CHECK-NEXT:     0x402010 R_386_JUMP_SLOT zed2
-// CHECK-NEXT:     0x402014 R_386_IRELATIVE
-// CHECK-NEXT:     0x402018 R_386_IRELATIVE
+// CHECK-NEXT:     0x40300C R_386_JUMP_SLOT bar2
+// CHECK-NEXT:     0x403010 R_386_JUMP_SLOT zed2
+// CHECK-NEXT:     0x403014 R_386_IRELATIVE
+// CHECK-NEXT:     0x403018 R_386_IRELATIVE
 
 // Check that IRELATIVE .got.plt entries point to ifunc resolver and not
 // back to the plt entry + 6.
 // GOTPLT: Contents of section .got.plt:
-// GOTPLT:       402000 00304000 00000000 00000000 36104000
-// GOTPLT-NEXT:  402010 46104000 00104000 01104000
+// GOTPLT:       403000 00204000 00000000 00000000 36104000
+// GOTPLT-NEXT:  403010 46104000 00104000 01104000
 
 // Check that the PLTRELSZ tag includes the IRELATIVE relocations
 // CHECK: DynamicSection [
@@ -38,26 +38,26 @@
 // DISASM-NEXT:    401011:       e8 2a 00 00 00          calll   42
 // DISASM-NEXT: Disassembly of section .plt:
 // DISASM-NEXT: .plt:
-// DISASM-NEXT:    401020:       ff 35 04 20 40 00       pushl   4202500
-// DISASM-NEXT:    401026:       ff 25 08 20 40 00       jmpl    *4202504
+// DISASM-NEXT:    401020:       ff 35 04 30 40 00       pushl   4206596
+// DISASM-NEXT:    401026:       ff 25 08 30 40 00       jmpl    *4206600
 // DISASM-NEXT:    40102c:       90      nop
 // DISASM-NEXT:    40102d:       90      nop
 // DISASM-NEXT:    40102e:       90      nop
 // DISASM-NEXT:    40102f:       90      nop
 // DISASM-EMPTY:
 // DISASM-NEXT:   bar2 at plt:
-// DISASM-NEXT:    401030:       ff 25 0c 20 40 00       jmpl    *4202508
+// DISASM-NEXT:    401030:       ff 25 0c 30 40 00       jmpl    *4206604
 // DISASM-NEXT:    401036:       68 00 00 00 00          pushl   $0
 // DISASM-NEXT:    40103b:       e9 e0 ff ff ff          jmp     -32 <.plt>
 // DISASM-EMPTY:
 // DISASM-NEXT:   zed2 at plt:
-// DISASM-NEXT:    401040:       ff 25 10 20 40 00       jmpl    *4202512
+// DISASM-NEXT:    401040:       ff 25 10 30 40 00       jmpl    *4206608
 // DISASM-NEXT:    401046:       68 08 00 00 00          pushl   $8
 // DISASM-NEXT:    40104b:       e9 d0 ff ff ff          jmp     -48 <.plt>
-// DISASM-NEXT:    401050:       ff 25 14 20 40 00       jmpl    *4202516
+// DISASM-NEXT:    401050:       ff 25 14 30 40 00       jmpl    *4206612
 // DISASM-NEXT:    401056:       68 30 00 00 00          pushl   $48
 // DISASM-NEXT:    40105b:       e9 e0 ff ff ff          jmp     -32 <zed2 at plt>
-// DISASM-NEXT:    401060:       ff 25 18 20 40 00       jmpl    *4202520
+// DISASM-NEXT:    401060:       ff 25 18 30 40 00       jmpl    *4206616
 // DISASM-NEXT:    401066:       68 38 00 00 00          pushl   $56
 // DISASM-NEXT:    40106b:       e9 d0 ff ff ff          jmp     -48 <zed2 at plt>
 

Modified: lld/trunk/test/ELF/gnu-ifunc-plt.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/gnu-ifunc-plt.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/gnu-ifunc-plt.s (original)
+++ lld/trunk/test/ELF/gnu-ifunc-plt.s Wed Mar 13 20:47:45 2019
@@ -10,17 +10,17 @@
 // Check that the IRELATIVE relocations are after the JUMP_SLOT in the plt
 // CHECK: Relocations [
 // CHECK-NEXT:   Section (4) .rela.plt {
-// CHECK-NEXT:     0x202018 R_X86_64_JUMP_SLOT bar2 0x0
-// CHECK-NEXT:     0x202020 R_X86_64_JUMP_SLOT zed2 0x0
-// CHECK-NEXT:     0x202028 R_X86_64_IRELATIVE - 0x201000
-// CHECK-NEXT:     0x202030 R_X86_64_IRELATIVE - 0x201001
+// CHECK-NEXT:     0x203018 R_X86_64_JUMP_SLOT bar2 0x0
+// CHECK-NEXT:     0x203020 R_X86_64_JUMP_SLOT zed2 0x0
+// CHECK-NEXT:     0x203028 R_X86_64_IRELATIVE - 0x201000
+// CHECK-NEXT:     0x203030 R_X86_64_IRELATIVE - 0x201001
 
 // Check that .got.plt entries point back to PLT header
 // GOTPLT: Contents of section .got.plt:
-// GOTPLT-NEXT:  202000 00302000 00000000 00000000 00000000
-// GOTPLT-NEXT:  202010 00000000 00000000 36102000 00000000
-// GOTPLT-NEXT:  202020 46102000 00000000 56102000 00000000
-// GOTPLT-NEXT:  202030 66102000 00000000
+// GOTPLT-NEXT:  203000 00202000 00000000 00000000 00000000
+// GOTPLT-NEXT:  203010 00000000 00000000 36102000 00000000
+// GOTPLT-NEXT:  203020 46102000 00000000 56102000 00000000
+// GOTPLT-NEXT:  203030 66102000 00000000
 
 // Check that the PLTRELSZ tag includes the IRELATIVE relocations
 // CHECK: DynamicSection [
@@ -39,23 +39,23 @@
 // DISASM-NEXT:   201011:       e8 2a 00 00 00          callq   42
 // DISASM-NEXT: Disassembly of section .plt:
 // DISASM-NEXT: .plt:
-// DISASM-NEXT:   201020:       ff 35 e2 0f 00 00       pushq   4066(%rip)
-// DISASM-NEXT:   201026:       ff 25 e4 0f 00 00       jmpq    *4068(%rip)
+// DISASM-NEXT:   201020:       ff 35 e2 1f 00 00       pushq   8162(%rip)
+// DISASM-NEXT:   201026:       ff 25 e4 1f 00 00       jmpq    *8164(%rip)
 // DISASM-NEXT:   20102c:       0f 1f 40 00     nopl    (%rax)
 // DISASM-EMPTY:
 // DISASM-NEXT:   bar2 at plt:
-// DISASM-NEXT:   201030:       ff 25 e2 0f 00 00       jmpq    *4066(%rip)
+// DISASM-NEXT:   201030:       ff 25 e2 1f 00 00       jmpq    *8162(%rip)
 // DISASM-NEXT:   201036:       68 00 00 00 00          pushq   $0
 // DISASM-NEXT:   20103b:       e9 e0 ff ff ff          jmp     -32 <.plt>
 // DISASM-EMPTY:
 // DISASM-NEXT:   zed2 at plt:
-// DISASM-NEXT:   201040:       ff 25 da 0f 00 00       jmpq    *4058(%rip)
+// DISASM-NEXT:   201040:       ff 25 da 1f 00 00       jmpq    *8154(%rip)
 // DISASM-NEXT:   201046:       68 01 00 00 00          pushq   $1
 // DISASM-NEXT:   20104b:       e9 d0 ff ff ff          jmp     -48 <.plt>
-// DISASM-NEXT:   201050:       ff 25 d2 0f 00 00       jmpq    *4050(%rip)
+// DISASM-NEXT:   201050:       ff 25 d2 1f 00 00       jmpq    *8146(%rip)
 // DISASM-NEXT:   201056:       68 00 00 00 00          pushq   $0
 // DISASM-NEXT:   20105b:       e9 e0 ff ff ff          jmp     -32 <zed2 at plt>
-// DISASM-NEXT:   201060:       ff 25 ca 0f 00 00       jmpq    *4042(%rip)
+// DISASM-NEXT:   201060:       ff 25 ca 1f 00 00       jmpq    *8138(%rip)
 // DISASM-NEXT:   201066:       68 01 00 00 00          pushq   $1
 // DISASM-NEXT:   20106b:       e9 d0 ff ff ff          jmp     -48 <zed2 at plt>
 

Modified: lld/trunk/test/ELF/gnu-ifunc-shared.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/gnu-ifunc-shared.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/gnu-ifunc-shared.s (original)
+++ lld/trunk/test/ELF/gnu-ifunc-shared.s Wed Mar 13 20:47:45 2019
@@ -20,28 +20,28 @@
 // DISASM-NEXT:     1012:       c3      retq
 // DISASM-NEXT: Disassembly of section .plt:
 // DISASM-NEXT: .plt:
-// DISASM-NEXT:     1020:       ff 35 e2 0f 00 00       pushq   4066(%rip)
-// DISASM-NEXT:     1026:       ff 25 e4 0f 00 00       jmpq    *4068(%rip)
+// DISASM-NEXT:     1020:       ff 35 e2 1f 00 00       pushq   8162(%rip)
+// DISASM-NEXT:     1026:       ff 25 e4 1f 00 00       jmpq    *8164(%rip)
 // DISASM-NEXT:     102c:       0f 1f 40 00     nopl    (%rax)
 // DISASM-EMPTY:
 // DISASM-NEXT:   fct2 at plt:
-// DISASM-NEXT:     1030:       ff 25 e2 0f 00 00       jmpq    *4066(%rip)
+// DISASM-NEXT:     1030:       ff 25 e2 1f 00 00       jmpq    *8162(%rip)
 // DISASM-NEXT:     1036:       68 00 00 00 00          pushq   $0
 // DISASM-NEXT:     103b:       e9 e0 ff ff ff          jmp     -32 <.plt>
 // DISASM-EMPTY:
 // DISASM-NEXT:   f2 at plt:
-// DISASM-NEXT:     1040:       ff 25 da 0f 00 00       jmpq    *4058(%rip)
+// DISASM-NEXT:     1040:       ff 25 da 1f 00 00       jmpq    *8154(%rip)
 // DISASM-NEXT:     1046:       68 01 00 00 00          pushq   $1
 // DISASM-NEXT:     104b:       e9 d0 ff ff ff          jmp     -48 <.plt>
-// DISASM-NEXT:     1050:       ff 25 d2 0f 00 00       jmpq    *4050(%rip)
+// DISASM-NEXT:     1050:       ff 25 d2 1f 00 00       jmpq    *8146(%rip)
 // DISASM-NEXT:     1056:       68 00 00 00 00          pushq   $0
 // DISASM-NEXT:     105b:       e9 e0 ff ff ff          jmp     -32 <f2 at plt>
 
 // CHECK: Relocations [
 // CHECK-NEXT:   Section (4) .rela.plt {
-// CHECK-NEXT:     0x2018 R_X86_64_JUMP_SLOT fct2 0x0
-// CHECK-NEXT:     0x2020 R_X86_64_JUMP_SLOT f2 0x0
-// CHECK-NEXT:     0x2028 R_X86_64_IRELATIVE - 0x1000
+// CHECK-NEXT:     0x3018 R_X86_64_JUMP_SLOT fct2 0x0
+// CHECK-NEXT:     0x3020 R_X86_64_JUMP_SLOT f2 0x0
+// CHECK-NEXT:     0x3028 R_X86_64_IRELATIVE - 0x1000
 
  // Hidden expect IRELATIVE
  .globl fct

Modified: lld/trunk/test/ELF/got-aarch64.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/got-aarch64.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/got-aarch64.s (original)
+++ lld/trunk/test/ELF/got-aarch64.s Wed Mar 13 20:47:45 2019
@@ -10,7 +10,7 @@
 // CHECK-NEXT:   SHF_ALLOC
 // CHECK-NEXT:   SHF_WRITE
 // CHECK-NEXT: ]
-// CHECK-NEXT: Address: 0x30090
+// CHECK-NEXT: Address: 0x20090
 // CHECK-NEXT: Offset:
 // CHECK-NEXT: Size: 8
 // CHECK-NEXT: Link: 0
@@ -19,7 +19,7 @@
 
 // CHECK:      Relocations [
 // CHECK-NEXT:   Section ({{.*}}) .rela.dyn {
-// CHECK-NEXT:     0x30090 R_AARCH64_GLOB_DAT dat 0x0
+// CHECK-NEXT:     0x20090 R_AARCH64_GLOB_DAT dat 0x0
 // CHECK-NEXT:   }
 // CHECK-NEXT: ]
 
@@ -27,7 +27,7 @@
 // 0x20098 & 0xff8 = 0x98 = 152
 
 // DISASM: main:
-// DISASM-NEXT:   10000:  00 01 00 90   adrp  x0, #131072
+// DISASM-NEXT:   10000:  80 00 00 90   adrp  x0, #65536
 // DISASM-NEXT:   10004: 00 48 40 f9   ldr x0, [x0, #144]
 
 .global main,foo,dat

Modified: lld/trunk/test/ELF/got-plt-header.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/got-plt-header.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/got-plt-header.s (original)
+++ lld/trunk/test/ELF/got-plt-header.s Wed Mar 13 20:47:45 2019
@@ -7,25 +7,25 @@
 
 // Check that the first .got.plt entry has the address of the dynamic table.
 
+// CHECK:      Type: SHT_DYNAMIC
+// CHECK-NEXT: Flags [
+// CHECK-NEXT:   SHF_ALLOC
+// CHECK-NEXT:   SHF_WRITE
+// CHECK-NEXT: ]
+// CHECK-NEXT: Address: 0x2000
+
 // CHECK:      Name: .got.plt
 // CHECK-NEXT: Type: SHT_PROGBITS
 // CHECK-NEXT: Flags [
 // CHECK-NEXT:   SHF_ALLOC
 // CHECK-NEXT:   SHF_WRITE
 // CHECK-NEXT: ]
-// CHECK-NEXT: Address: 0x2000
-// CHECK-NEXT: Offset: 0x2000
+// CHECK-NEXT: Address: 0x3000
+// CHECK-NEXT: Offset: 0x3000
 // CHECK-NEXT: Size: 32
 // CHECK-NEXT: Link: 0
 // CHECK-NEXT: Info: 0
 // CHECK-NEXT: AddressAlignment: 8
 // CHECK-NEXT: EntrySize: 0
 // CHECK-NEXT: SectionData (
-// CHECK-NEXT:   0000: 00300000 00000000 00000000 00000000
-
-// CHECK:      Type: SHT_DYNAMIC
-// CHECK-NEXT: Flags [
-// CHECK-NEXT:   SHF_ALLOC
-// CHECK-NEXT:   SHF_WRITE
-// CHECK-NEXT: ]
-// CHECK-NEXT: Address: 0x3000
+// CHECK-NEXT:   0000: 00200000 00000000 00000000 00000000

Modified: lld/trunk/test/ELF/got32x-i386.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/got32x-i386.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/got32x-i386.s (original)
+++ lld/trunk/test/ELF/got32x-i386.s Wed Mar 13 20:47:45 2019
@@ -33,13 +33,13 @@
 
 ## 73728 == 0x12000 == ADDR(.got)
 # CHECK:       _start:
-# CHECK-NEXT:   401001: 8b 05 {{.*}} movl 4206592, %eax
-# CHECK-NEXT:   401007: 8b 1d {{.*}} movl 4206592, %ebx
+# CHECK-NEXT:   401001: 8b 05 {{.*}} movl 4202496, %eax
+# CHECK-NEXT:   401007: 8b 1d {{.*}} movl 4202496, %ebx
 # CHECK-NEXT:   40100d: 8b 80 {{.*}} movl -4(%eax), %eax
 # CHECK-NEXT:   401013: 8b 83 {{.*}} movl -4(%ebx), %eax
 # CHECK: Sections:
 # CHECK:  Name Size     VMA
-# CHECK:  .got 00000004 0000000000403000
+# CHECK:  .got 00000004 0000000000402000
 
 # RUN: not ld.lld %S/Inputs/i386-got32x-baseless.elf -o %t1 -pie 2>&1 | \
 # RUN:   FileCheck %s --check-prefix=ERR

Modified: lld/trunk/test/ELF/gotpc-relax-nopic.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/gotpc-relax-nopic.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/gotpc-relax-nopic.s (original)
+++ lld/trunk/test/ELF/gotpc-relax-nopic.s Wed Mar 13 20:47:45 2019
@@ -36,8 +36,8 @@
 # SEC-PIC-NEXT:     SHF_ALLOC
 # SEC-PIC-NEXT:     SHF_WRITE
 # SEC-PIC-NEXT:   ]
-# SEC-PIC-NEXT:   Address: 0x30A0
-# SEC-PIC-NEXT:   Offset: 0x30A0
+# SEC-PIC-NEXT:   Address: 0x20A0
+# SEC-PIC-NEXT:   Offset: 0x20A0
 # SEC-PIC-NEXT:   Size: 8
 # SEC-PIC-NEXT:   Link:
 # SEC-PIC-NEXT:   Info:
@@ -46,7 +46,7 @@
 # SEC-PIC-NEXT: }
 # SEC-PIC:      Relocations [
 # SEC-PIC-NEXT:   Section ({{.*}}) .rela.dyn {
-# SEC-PIC-NEXT:     0x30A0 R_X86_64_RELATIVE - 0x2000
+# SEC-PIC-NEXT:     0x20A0 R_X86_64_RELATIVE - 0x3000
 # SEC-PIC-NEXT:   }
 # SEC-PIC-NEXT: ]
 # SEC-PIC:      0x000000006FFFFFF9 RELACOUNT            1
@@ -56,15 +56,15 @@
 ##     0x102a + 4207 + 7 = 0x20A0
 # DISASM-PIC:      Disassembly of section .text:
 # DISASM-PIC-NEXT: _start:
-# DISASM-PIC-NEXT: 1000: {{.*}} adcq  8345(%rip), %rax
-# DISASM-PIC-NEXT: 1007: {{.*}} addq  8338(%rip), %rbx
-# DISASM-PIC-NEXT: 100e: {{.*}} andq  8331(%rip), %rcx
-# DISASM-PIC-NEXT: 1015: {{.*}} cmpq  8324(%rip), %rdx
-# DISASM-PIC-NEXT: 101c: {{.*}} orq   8317(%rip), %rdi
-# DISASM-PIC-NEXT: 1023: {{.*}} sbbq  8310(%rip), %rsi
-# DISASM-PIC-NEXT: 102a: {{.*}} subq  8303(%rip), %rbp
-# DISASM-PIC-NEXT: 1031: {{.*}} xorq  8296(%rip), %r8
-# DISASM-PIC-NEXT: 1038: {{.*}} testq %r15, 8289(%rip)
+# DISASM-PIC-NEXT: 1000: {{.*}} adcq  4249(%rip), %rax
+# DISASM-PIC-NEXT: 1007: {{.*}} addq  4242(%rip), %rbx
+# DISASM-PIC-NEXT: 100e: {{.*}} andq  4235(%rip), %rcx
+# DISASM-PIC-NEXT: 1015: {{.*}} cmpq  4228(%rip), %rdx
+# DISASM-PIC-NEXT: 101c: {{.*}} orq   4221(%rip), %rdi
+# DISASM-PIC-NEXT: 1023: {{.*}} sbbq  4214(%rip), %rsi
+# DISASM-PIC-NEXT: 102a: {{.*}} subq  4207(%rip), %rbp
+# DISASM-PIC-NEXT: 1031: {{.*}} xorq  4200(%rip), %r8
+# DISASM-PIC-NEXT: 1038: {{.*}} testq %r15, 4193(%rip)
 
 .data
 .type   bar, @object

Modified: lld/trunk/test/ELF/hexagon-shared.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/hexagon-shared.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/hexagon-shared.s (original)
+++ lld/trunk/test/ELF/hexagon-shared.s Wed Mar 13 20:47:45 2019
@@ -25,22 +25,22 @@ jumpr r0
 # R_HEX_GOT_16_X
 r0 = add(r1,##bar at GOT)
 
-# PLT: { immext(#65472
-# PLT: r28 = add(pc,##65488) }
+# PLT: { immext(#131008
+# PLT: r28 = add(pc,##131024) }
 # PLT: { r14 -= add(r28,#16)
 # PLT: r15 = memw(r28+#8)
 # PLT: r28 = memw(r28+#4) }
 # PLT: { r14 = asr(r14,#2)
 # PLT: jumpr r28 }
 # PLT: { trap0(#219) }
-# PLT: immext(#65472)
-# PLT: r14 = add(pc,##65472) }
+# PLT: immext(#131008)
+# PLT: r14 = add(pc,##131008) }
 # PLT: r28 = memw(r14+#0) }
 # PLT: jumpr r28 }
 
-# TEXT:  10000: 00 00 02 00 00020000
+# TEXT:  10000: 00 00 01 00 00010000
 # TEXT: { 	call 0x10050 }
-# TEXT: r0 = add(r1,##65664) }
+# TEXT: r0 = add(r1,##-65408) }
 
 # GOT: .got:
-# GOT: 30080:	00 00 00 00 00000000 <unknown>
+# GOT: 20080:	00 00 00 00 00000000 <unknown>

Modified: lld/trunk/test/ELF/i386-gotpc.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/i386-gotpc.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/i386-gotpc.s (original)
+++ lld/trunk/test/ELF/i386-gotpc.s Wed Mar 13 20:47:45 2019
@@ -6,23 +6,23 @@
 
 movl $_GLOBAL_OFFSET_TABLE_, %eax
 
-// CHECK:     Name: .got.plt
+// CHECK:      Name: .got
 // CHECK-NEXT: Type: SHT_PROGBITS
 // CHECK-NEXT: Flags [
 // CHECK-NEXT:   SHF_ALLOC
 // CHECK-NEXT:   SHF_WRITE
 // CHECK-NEXT: ]
-// CHECK-NEXT: Address: 0x2000
+// CHECK-NEXT: Address: 0x2030
 
-// CHECK:      Name: .got
+// CHECK:     Name: .got.plt
 // CHECK-NEXT: Type: SHT_PROGBITS
 // CHECK-NEXT: Flags [
 // CHECK-NEXT:   SHF_ALLOC
 // CHECK-NEXT:   SHF_WRITE
 // CHECK-NEXT: ]
-// CHECK-NEXT: Address: 0x3030
+// CHECK-NEXT: Address: 0x3000
 
 // DISASM:      Disassembly of section .text:
 // DISASM-NEXT: .text:
-// DISASM-NEXT:    1000: {{.*}}         movl    $8240, %eax
-//                                              0x3030 - 0x1000 = 0x2030
+// DISASM-NEXT:    1000: {{.*}}         movl    $4144, %eax
+//                                              0x2030 - 0x1000 = 0x1030

Modified: lld/trunk/test/ELF/i386-merge.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/i386-merge.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/i386-merge.s (original)
+++ lld/trunk/test/ELF/i386-merge.s Wed Mar 13 20:47:45 2019
@@ -27,8 +27,8 @@
 // CHECK-NEXT:   SHF_ALLOC
 // CHECK-NEXT:   SHF_WRITE
 // CHECK-NEXT: ]
-// CHECK-NEXT: Address: 0x1000
-// CHECK-NEXT: Offset: 0x1000
+// CHECK-NEXT: Address: 0x2000
+// CHECK-NEXT: Offset: 0x2000
 // CHECK-NEXT: Size: 4
 // CHECK-NEXT: Link: 0
 // CHECK-NEXT: Info: 0

Modified: lld/trunk/test/ELF/i386-retpoline-nopic-linkerscript.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/i386-retpoline-nopic-linkerscript.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/i386-retpoline-nopic-linkerscript.s (original)
+++ lld/trunk/test/ELF/i386-retpoline-nopic-linkerscript.s Wed Mar 13 20:47:45 2019
@@ -14,9 +14,9 @@
 
 // CHECK:      Disassembly of section .plt:
 // CHECK-NEXT: .plt:
-// CHECK-NEXT: 10:       ff 35 84 00 00 00       pushl   132
+// CHECK-NEXT: 10:       ff 35 ec 00 00 00       pushl   236
 // CHECK-NEXT: 16:       50      pushl   %eax
-// CHECK-NEXT: 17:       a1 88 00 00 00 movl    136, %eax
+// CHECK-NEXT: 17:       a1 f0 00 00 00 movl    240, %eax
 // CHECK-NEXT: 1c:       e8 0f 00 00 00  calll   15 <.plt+0x20>
 // CHECK-NEXT: 21:       f3 90   pause
 // CHECK-NEXT: 23:       0f ae e8        lfence
@@ -37,7 +37,7 @@
 // CHECK-NEXT: 3e:       c3      retl
 // CHECK-NEXT: 3f:       cc      int3
 // CHECK-NEXT: 40:       50      pushl   %eax
-// CHECK-NEXT: 41:       a1 8c 00 00 00  movl    140, %eax
+// CHECK-NEXT: 41:       a1 f4 00 00 00  movl    244, %eax
 // CHECK-NEXT: 46:       e8 e5 ff ff ff  calll   -27 <.plt+0x20>
 // CHECK-NEXT: 4b:       e9 d1 ff ff ff  jmp     -47 <.plt+0x11>
 // CHECK-NEXT: 50:       68 00 00 00 00  pushl   $0
@@ -49,7 +49,7 @@
 // CHECK-NEXT: 5e:       cc      int3
 // CHECK-NEXT: 5f:       cc      int3
 // CHECK-NEXT: 60:       50      pushl   %eax
-// CHECK-NEXT: 61:       a1 90 00 00 00  movl    144, %eax
+// CHECK-NEXT: 61:       a1 f8 00 00 00  movl    248, %eax
 // CHECK-NEXT: 66:       e8 c5 ff ff ff  calll   -59 <.plt+0x20>
 // CHECK-NEXT: 6b:       e9 b1 ff ff ff  jmp     -79 <.plt+0x11>
 // CHECK-NEXT: 70:       68 08 00 00 00  pushl   $8

Modified: lld/trunk/test/ELF/i386-retpoline-nopic.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/i386-retpoline-nopic.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/i386-retpoline-nopic.s (original)
+++ lld/trunk/test/ELF/i386-retpoline-nopic.s Wed Mar 13 20:47:45 2019
@@ -8,9 +8,9 @@
 
 // CHECK:      Disassembly of section .plt:
 // CHECK-NEXT: .plt:
-// CHECK-NEXT: 401010:       ff 35 04 20 40 00       pushl   4202500
+// CHECK-NEXT: 401010:       ff 35 04 30 40 00       pushl   4206596
 // CHECK-NEXT: 401016:       50      pushl   %eax
-// CHECK-NEXT: 401017:       a1 08 20 40 00  movl    4202504, %eax
+// CHECK-NEXT: 401017:       a1 08 30 40 00  movl    4206600, %eax
 // CHECK-NEXT: 40101c:       e8 0f 00 00 00  calll   15 <.plt+0x20>
 // CHECK-NEXT: 401021:       f3 90   pause
 // CHECK-NEXT: 401023:       0f ae e8        lfence
@@ -31,7 +31,7 @@
 // CHECK-NEXT: 40103e:       c3      retl
 // CHECK-NEXT: 40103f:       cc      int3
 // CHECK-NEXT: 401040:       50      pushl   %eax
-// CHECK-NEXT: 401041:       a1 0c 20 40 00  movl    4202508, %eax
+// CHECK-NEXT: 401041:       a1 0c 30 40 00  movl    4206604, %eax
 // CHECK-NEXT: 401046:       e8 e5 ff ff ff  calll   -27 <.plt+0x20>
 // CHECK-NEXT: 40104b:       e9 d1 ff ff ff  jmp     -47 <.plt+0x11>
 // CHECK-NEXT: 401050:       68 00 00 00 00  pushl   $0
@@ -43,7 +43,7 @@
 // CHECK-NEXT: 40105e:       cc      int3
 // CHECK-NEXT: 40105f:       cc      int3
 // CHECK-NEXT: 401060:       50      pushl   %eax
-// CHECK-NEXT: 401061:       a1 10 20 40 00  movl    4202512, %eax
+// CHECK-NEXT: 401061:       a1 10 30 40 00  movl    4206608, %eax
 // CHECK-NEXT: 401066:       e8 c5 ff ff ff  calll   -59 <.plt+0x20>
 // CHECK-NEXT: 40106b:       e9 b1 ff ff ff  jmp     -79 <.plt+0x11>
 // CHECK-NEXT: 401070:       68 08 00 00 00  pushl   $8
@@ -56,7 +56,7 @@
 // CHECK-NEXT: 40107f:       cc      int3
 
 // CHECK:      Contents of section .got.plt:
-// CHECK-NEXT: 00304000 00000000 00000000 50104000
+// CHECK-NEXT: 00204000 00000000 00000000 50104000
 // CHECK-NEXT: 70104000
 
 .global _start

Modified: lld/trunk/test/ELF/i386-retpoline-pic-linkerscript.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/i386-retpoline-pic-linkerscript.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/i386-retpoline-pic-linkerscript.s (original)
+++ lld/trunk/test/ELF/i386-retpoline-pic-linkerscript.s Wed Mar 13 20:47:45 2019
@@ -14,9 +14,9 @@
 
 // CHECK:      Disassembly of section .plt:
 // CHECK-NEXT: .plt:
-// CHECK-NEXT: 10:       ff b3 84 00 00 00       pushl   132(%ebx)
+// CHECK-NEXT: 10:       ff b3 ec 00 00 00       pushl   236(%ebx)
 // CHECK-NEXT: 16:       50      pushl   %eax
-// CHECK-NEXT: 17:       8b 83 88 00 00 00 movl    136(%ebx), %eax
+// CHECK-NEXT: 17:       8b 83 f0 00 00 00 movl    240(%ebx), %eax
 // CHECK-NEXT: 1d:       e8 0e 00 00 00  calll   14 <.plt+0x20>
 // CHECK-NEXT: 22:       f3 90   pause
 // CHECK-NEXT: 24:       0f ae e8        lfence
@@ -36,7 +36,7 @@
 // CHECK-NEXT: 3e:       c3      retl
 // CHECK-NEXT: 3f:       cc      int3
 // CHECK-NEXT: 40:       50      pushl   %eax
-// CHECK-NEXT: 41:       8b 83 8c 00 00 00       movl    140(%ebx), %eax
+// CHECK-NEXT: 41:       8b 83 f4 00 00 00       movl    244(%ebx), %eax
 // CHECK-NEXT: 47:       e8 e4 ff ff ff  calll   -28 <.plt+0x20>
 // CHECK-NEXT: 4c:       e9 d1 ff ff ff  jmp     -47 <.plt+0x12>
 // CHECK-NEXT: 51:       68 00 00 00 00  pushl   $0
@@ -47,7 +47,7 @@
 // CHECK-NEXT: 5e:       cc      int3
 // CHECK-NEXT: 5f:       cc      int3
 // CHECK-NEXT: 60:       50      pushl   %eax
-// CHECK-NEXT: 61:       8b 83 90 00 00 00       movl    144(%ebx), %eax
+// CHECK-NEXT: 61:       8b 83 f8 00 00 00       movl    248(%ebx), %eax
 // CHECK-NEXT: 67:       e8 c4 ff ff ff  calll   -60 <.plt+0x20>
 // CHECK-NEXT: 6c:       e9 b1 ff ff ff  jmp     -79 <.plt+0x12>
 // CHECK-NEXT: 71:       68 08 00 00 00  pushl   $8

Modified: lld/trunk/test/ELF/i386-retpoline-pic.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/i386-retpoline-pic.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/i386-retpoline-pic.s (original)
+++ lld/trunk/test/ELF/i386-retpoline-pic.s Wed Mar 13 20:47:45 2019
@@ -8,9 +8,9 @@
 
 // CHECK:      Disassembly of section .plt:
 // CHECK-NEXT: .plt:
-// CHECK-NEXT: 1010:       ff b3 04 20 00 00       pushl   8196(%ebx)
+// CHECK-NEXT: 1010:       ff b3 04 30 00 00       pushl   12292(%ebx)
 // CHECK-NEXT: 1016:       50      pushl   %eax
-// CHECK-NEXT: 1017:       8b 83 08 20 00 00       movl    8200(%ebx), %eax
+// CHECK-NEXT: 1017:       8b 83 08 30 00 00       movl    12296(%ebx), %eax
 // CHECK-NEXT: 101d:       e8 0e 00 00 00  calll   14 <.plt+0x20>
 // CHECK-NEXT: 1022:       f3 90   pause
 // CHECK-NEXT: 1024:       0f ae e8        lfence
@@ -30,7 +30,7 @@
 // CHECK-NEXT: 103e:       c3      retl
 // CHECK-NEXT: 103f:       cc      int3
 // CHECK-NEXT: 1040:       50      pushl   %eax
-// CHECK-NEXT: 1041:       8b 83 0c 20 00 00       movl    8204(%ebx), %eax
+// CHECK-NEXT: 1041:       8b 83 0c 30 00 00       movl    12300(%ebx), %eax
 // CHECK-NEXT: 1047:       e8 e4 ff ff ff  calll   -28 <.plt+0x20>
 // CHECK-NEXT: 104c:       e9 d1 ff ff ff  jmp     -47 <.plt+0x12>
 // CHECK-NEXT: 1051:       68 00 00 00 00  pushl   $0
@@ -41,7 +41,7 @@
 // CHECK-NEXT: 105e:       cc      int3
 // CHECK-NEXT: 105f:       cc      int3
 // CHECK-NEXT: 1060:       50      pushl   %eax
-// CHECK-NEXT: 1061:       8b 83 10 20 00 00       movl    8208(%ebx), %eax
+// CHECK-NEXT: 1061:       8b 83 10 30 00 00       movl    12304(%ebx), %eax
 // CHECK-NEXT: 1067:       e8 c4 ff ff ff  calll   -60 <.plt+0x20>
 // CHECK-NEXT: 106c:       e9 b1 ff ff ff  jmp     -79 <.plt+0x12>
 // CHECK-NEXT: 1071:       68 08 00 00 00  pushl   $8
@@ -53,8 +53,8 @@
 // CHECK-NEXT: 107f:       cc      int3
 
 // CHECK:      Contents of section .got.plt:
-// CHECK-NEXT: 2000 00300000 00000000 00000000 51100000
-// CHECK-NEXT: 2010 71100000
+// CHECK-NEXT: 3000 00200000 00000000 00000000 51100000
+// CHECK-NEXT: 3010 71100000
 
 .global _start
 _start:

Modified: lld/trunk/test/ELF/linkerscript/align-section-offset.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/linkerscript/align-section-offset.test?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/linkerscript/align-section-offset.test (original)
+++ lld/trunk/test/ELF/linkerscript/align-section-offset.test Wed Mar 13 20:47:45 2019
@@ -8,5 +8,5 @@ SECTIONS {
   .foo : ALIGN(2M) { *(.foo) }
 }
 
-# CHECK: .foo  PROGBITS  0000000000200000 200000 000008 00  WA  0   0 2097152
-# CHECK: LOAD 0x200000 0x0000000000200000 0x0000000000200000 {{.*}} RW  0x200000
+# CHECK: .foo  PROGBITS  0000000000200000 201000 000008 00  WA  0   0 2097152
+# CHECK: LOAD 0x001048 0x0000000000000048 0x0000000000000048 {{.*}} RW  0x200000

Modified: lld/trunk/test/ELF/linkerscript/emit-reloc.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/linkerscript/emit-reloc.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/linkerscript/emit-reloc.s (original)
+++ lld/trunk/test/ELF/linkerscript/emit-reloc.s Wed Mar 13 20:47:45 2019
@@ -9,9 +9,9 @@
 
 # CHECK:      Relocations [
 # CHECK-NEXT:   Section ({{.*}}) .rela.dyn {
-# CHECK-NEXT:     0x68 R_X86_64_64 .foo 0x0
+# CHECK-NEXT:     0xF8 R_X86_64_64 .foo 0x0
 # CHECK-NEXT:   }
 # CHECK-NEXT:   Section ({{.*}}) .rela.data {
-# CHECK-NEXT:     0x68 R_X86_64_64 .foo 0x0
+# CHECK-NEXT:     0xF8 R_X86_64_64 .foo 0x0
 # CHECK-NEXT:   }
 # CHECK-NEXT: ]

Modified: lld/trunk/test/ELF/linkerscript/orphan.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/linkerscript/orphan.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/linkerscript/orphan.s (original)
+++ lld/trunk/test/ELF/linkerscript/orphan.s Wed Mar 13 20:47:45 2019
@@ -9,15 +9,15 @@
 # RUN: ld.lld -o %t1 --script %t.script %t
 # RUN: llvm-objdump -section-headers %t1 | FileCheck %s
 
-## .jcr is a relro section and should be placed after other RW sections.
+## .jcr is a relro section and should be placed before other RW sections.
 ## .bss is SHT_NOBITS section and should be last RW section, so some space
 ## in ELF file could be saved.
 # CHECK:       0               00000000 0000000000000000
 # CHECK-NEXT:  1 .text         00000000 0000000000000000 TEXT
-# CHECK-NEXT:  2 .rw1          00000008 0000000000000000 DATA
-# CHECK-NEXT:  3 .rw2          00000008 0000000000000008 DATA
-# CHECK-NEXT:  4 .rw3          00000008 0000000000000010 DATA
-# CHECK-NEXT:  5 .jcr          00000008 0000000000000018 DATA
+# CHECK-NEXT:  2 .jcr          00000008 0000000000000000 DATA
+# CHECK-NEXT:  3 .rw1          00000008 0000000000000008 DATA
+# CHECK-NEXT:  4 .rw2          00000008 0000000000000010 DATA
+# CHECK-NEXT:  5 .rw3          00000008 0000000000000018 DATA
 # CHECK-NEXT:  6 .bss          00000008 0000000000000020 BSS
 
 .section .rw1, "aw"

Modified: lld/trunk/test/ELF/linkerscript/out-of-order.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/linkerscript/out-of-order.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/linkerscript/out-of-order.s (original)
+++ lld/trunk/test/ELF/linkerscript/out-of-order.s Wed Mar 13 20:47:45 2019
@@ -24,8 +24,8 @@
 # CHECK:      Sections:
 # CHECK-NEXT: Idx Name          Size     VMA              Type
 # CHECK-NEXT:   0               00000000 0000000000000000
-# CHECK-NEXT:   1 .data         00000008 0000000000004000
-# CHECK-NEXT:   2 .dynamic      00000060 0000000000004008
+# CHECK-NEXT:   1 .dynamic      00000060 0000000000000000
+# CHECK-NEXT:   2 .data         00000008 0000000000004000
 # CHECK-NEXT:   3 .dynsym       00000018 0000000000002000
 # CHECK-NEXT:   4 .dynstr       00000001 0000000000002018
 # CHECK-NEXT:   5 .hash         00000010 000000000000201c

Modified: lld/trunk/test/ELF/linkerscript/overlapping-sections.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/linkerscript/overlapping-sections.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/linkerscript/overlapping-sections.s (original)
+++ lld/trunk/test/ELF/linkerscript/overlapping-sections.s Wed Mar 13 20:47:45 2019
@@ -24,11 +24,11 @@
 # BAD-LMA-LABEL: Program Headers:
 # BAD-LMA-NEXT:  Type           Offset   VirtAddr           PhysAddr           FileSiz  MemSiz   Flg Align
 # BAD-LMA-NEXT:  LOAD           0x001000 0x0000000000000000 0x0000000000000000 0x000100 0x000100 R E 0x1000
+# BAD-LMA-NEXT:  LOAD           0x001100 0x0000000000000100 0x0000000000000100 0x000070 0x000070 RW  0x1000
 # BAD-LMA-NEXT:  LOAD           0x002000 0x0000000000008000 0x0000000000008000 0x000100 0x000100 RW  0x1000
-# BAD-LMA-NEXT:  LOAD           0x002800 0x0000000000008800 0x0000000000008080 0x000170 0x000170 RW  0x1000
 # BAD-LMA-LABEL: Section to Segment mapping:
-# BAD-LMA:  01     .sec1
-# BAD-LMA:  02     .sec2 .dynamic
+# BAD-LMA:  01     .text .dynamic
+# BAD-LMA:  02     .sec1
 
 # Now try a script where the virtual memory addresses overlap but ensure that the
 # load addresses don't:
@@ -50,11 +50,11 @@
 # BAD-VADDR-LABEL: Program Headers:
 # BAD-VADDR-NEXT:  Type           Offset   VirtAddr           PhysAddr           FileSiz  MemSiz   Flg Align
 # BAD-VADDR-NEXT:  LOAD           0x001000 0x0000000000000000 0x0000000000000000 0x000100 0x000100 R E 0x1000
+# BAD-VADDR-NEXT:  LOAD           0x001100 0x0000000000000100 0x0000000000000100 0x000070 0x000070 RW  0x1000
 # BAD-VADDR-NEXT:  LOAD           0x002000 0x0000000000008000 0x0000000000008000 0x000100 0x000100 RW  0x1000
-# BAD-VADDR-NEXT:  LOAD           0x003020 0x0000000000008020 0x0000000000008800 0x000170 0x000170 RW  0x1000
 # BAD-VADDR-LABEL: Section to Segment mapping:
-# BAD-VADDR:  01     .sec1
-# BAD-VADDR:  02     .sec2 .dynamic
+# BAD-VADDR:  01     .text .dynamic
+# BAD-VADDR:  02     .sec1
 
 # Finally check the case where both LMA and vaddr overlap
 
@@ -66,8 +66,8 @@
 # RUN: not ld.lld -o %t.so --script %t-both-overlap.script %t.o -shared 2>&1 | FileCheck %s -check-prefix BOTH-OVERLAP-ERR
 
 # BOTH-OVERLAP-ERR:      error: section .sec1 file range overlaps with .sec2
-# BOTH-OVERLAP-ERR-NEXT: >>> .sec1 range is [0x2000, 0x20FF]
-# BOTH-OVERLAP-ERR-NEXT: >>> .sec2 range is [0x2040, 0x213F]
+# BOTH-OVERLAP-ERR-NEXT: >>> .sec1 range is [0x9000, 0x90FF]
+# BOTH-OVERLAP-ERR-NEXT: >>> .sec2 range is [0x9040, 0x913F]
 # BOTH-OVERLAP-ERR:      error: section .sec1 virtual address range overlaps with .sec2
 # BOTH-OVERLAP-ERR-NEXT: >>> .sec1 range is [0x8000, 0x80FF]
 # BOTH-OVERLAP-ERR-NEXT: >>> .sec2 range is [0x8040, 0x813F]
@@ -93,14 +93,14 @@
 
 # RUN: llvm-readobj -sections -program-headers -elf-output-style=GNU %t.so | FileCheck %s -check-prefix BAD-BOTH
 # BAD-BOTH-LABEL: Section Headers:
-# BAD-BOTH: .sec1             PROGBITS        0000000000008000 002000 000100 00  WA  0   0  1
-# BAD-BOTH: .sec2             PROGBITS        0000000000008040 002040 000100 00  WA  0   0  1
+# BAD-BOTH: .sec1             PROGBITS        0000000000008000 009000 000100 00  WA  0   0  1
+# BAD-BOTH: .sec2             PROGBITS        0000000000008040 009040 000100 00  WA  0   0  1
 # BAD-BOTH-LABEL: Program Headers:
 # BAD-BOTH-NEXT:  Type           Offset   VirtAddr           PhysAddr           FileSiz  MemSiz   Flg Align
 # BAD-BOTH-NEXT:  LOAD 0x001000 0x0000000000000000 0x0000000000000000 0x000100 0x000100 R E 0x1000
-# BAD-BOTH-NEXT:  LOAD           0x002000 0x0000000000008000 0x0000000000008000 0x0001b0 0x0001b0 RW  0x1000
+# BAD-BOTH-NEXT:  LOAD           0x001100 0x0000000000000100 0x0000000000000100 0x008040 0x008040 RW  0x1000
 # BAD-BOTH-LABEL: Section to Segment mapping:
-# BAD-BOTH:   01     .sec1 .sec2 .dynamic
+# BAD-BOTH:   01     .text .dynamic .sec1 .sec2
 
 .section        .first_sec,"aw", at progbits
 .rept 0x100

Modified: lld/trunk/test/ELF/linkerscript/repsection-symbol.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/linkerscript/repsection-symbol.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/linkerscript/repsection-symbol.s (original)
+++ lld/trunk/test/ELF/linkerscript/repsection-symbol.s Wed Mar 13 20:47:45 2019
@@ -10,13 +10,13 @@
 # RUN: llvm-readobj -t %t1 | FileCheck %s
 
 # CHECK:      Name: foo1
-# CHECK-NEXT: Value: 0x228
+# CHECK-NEXT: Value: 0x288
 
 # CHECK:      Name: foo2
-# CHECK-NEXT: Value: 0x230
+# CHECK-NEXT: Value: 0x290
 
 # CHECK:      Name: foo3
-# CHECK-NEXT: Value: 0x234
+# CHECK-NEXT: Value: 0x294
 
 .section .foo.1,"a"
  .long 1

Modified: lld/trunk/test/ELF/linkerscript/sort-non-script.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/linkerscript/sort-non-script.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/linkerscript/sort-non-script.s (original)
+++ lld/trunk/test/ELF/linkerscript/sort-non-script.s Wed Mar 13 20:47:45 2019
@@ -9,8 +9,8 @@
 # CHECK-NEXT: .hash    {{.*}}   A
 # CHECK-NEXT: .dynstr  {{.*}}   A
 # CHECK-NEXT: .text    {{.*}}   AX
-# CHECK-NEXT: foo      {{.*}}  WA
 # CHECK-NEXT: .dynamic {{.*}}  WA
+# CHECK-NEXT: foo      {{.*}}  WA
 
 .section foo, "aw"
 .byte 0

Modified: lld/trunk/test/ELF/linkerscript/version-linker-symbol.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/linkerscript/version-linker-symbol.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/linkerscript/version-linker-symbol.s (original)
+++ lld/trunk/test/ELF/linkerscript/version-linker-symbol.s Wed Mar 13 20:47:45 2019
@@ -11,7 +11,7 @@
 # CHECK-NEXT: Binding: Global
 # CHECK-NEXT: Type: None
 # CHECK-NEXT: Other: 0
-# CHECK-NEXT: Section: .dynamic
+# CHECK-NEXT: Section: .data
 
 # CHECK:      Name: foo@@VER1
 # CHECK-NEXT: Value: 0

Modified: lld/trunk/test/ELF/lto/undefined-puts.ll
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/lto/undefined-puts.ll?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/lto/undefined-puts.ll (original)
+++ lld/trunk/test/ELF/lto/undefined-puts.ll Wed Mar 13 20:47:45 2019
@@ -20,7 +20,7 @@ declare i32 @printf(i8*, ...)
 ; Check that puts symbol is present in the dynamic symbol table and
 ; there's a relocation for it.
 ; CHECK: Dynamic Relocations {
-; CHECK-NEXT:  0x202018 R_X86_64_JUMP_SLOT puts 0x0
+; CHECK-NEXT:  0x203018 R_X86_64_JUMP_SLOT puts 0x0
 ; CHECK-NEXT: }
 
 ; CHECK: DynamicSymbols [

Modified: lld/trunk/test/ELF/lto/visibility.ll
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/lto/visibility.ll?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/lto/visibility.ll (original)
+++ lld/trunk/test/ELF/lto/visibility.ll Wed Mar 13 20:47:45 2019
@@ -16,7 +16,7 @@
 ; CHECK-NEXT: Section: .text
 
 ; CHECK:      Name: a
-; CHECK-NEXT: Value: 0x2000
+; CHECK-NEXT: Value: 0x3000
 ; CHECK-NEXT: Size: 0
 ; CHECK-NEXT: Binding: Local
 ; CHECK-NEXT: Type: None

Modified: lld/trunk/test/ELF/map-file.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/map-file.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/map-file.s (original)
+++ lld/trunk/test/ELF/map-file.s Wed Mar 13 20:47:45 2019
@@ -75,17 +75,17 @@ labs = 0x1AB5
 // CHECK-NEXT: 201030           201030       30    16         <internal>:(.plt)
 // CHECK-NEXT: 201040           201040        0     1                 sharedFunc1
 // CHECK-NEXT: 201050           201050        0     1                 sharedFunc2
-// CHECK-NEXT: 202000           202000       28     8 .got.plt
-// CHECK-NEXT: 202000           202000       28     8         <internal>:(.got.plt)
-// CHECK-NEXT: 203000           203000      100     8 .dynamic
-// CHECK-NEXT: 203000           203000      100     8         <internal>:(.dynamic)
-// CHECK-NEXT: 204000           204000       10    16 .bss
-// CHECK-NEXT: 204000           204000        4    16         {{.*}}{{/|\\}}map-file.s.tmp1.o:(COMMON)
-// CHECK-NEXT: 204000           204000        4     1                 common
-// CHECK-NEXT: 204004           204004        4     1         <internal>:(.bss)
-// CHECK-NEXT: 204004           204004        4     1                 sharedFoo
-// CHECK-NEXT: 204008           204008        8     1         <internal>:(.bss)
-// CHECK-NEXT: 204008           204008        8     1                 sharedBar
+// CHECK-NEXT: 202000           202000      100     8 .dynamic
+// CHECK-NEXT: 202000           202000      100     8         <internal>:(.dynamic)
+// CHECK-NEXT: 203000           203000       28     8 .got.plt
+// CHECK-NEXT: 203000           203000       28     8         <internal>:(.got.plt)
+// CHECK-NEXT: 203030           203030       10    16 .bss
+// CHECK-NEXT: 203030           203030        4    16         {{.*}}{{/|\\}}map-file.s.tmp1.o:(COMMON)
+// CHECK-NEXT: 203030           203030        4     1                 common
+// CHECK-NEXT: 203034           203034        4     1         <internal>:(.bss)
+// CHECK-NEXT: 203034           203034        4     1                 sharedFoo
+// CHECK-NEXT: 203038           203038        8     1         <internal>:(.bss)
+// CHECK-NEXT: 203038           203038        8     1                 sharedBar
 // CHECK-NEXT:      0                0        8     1 .comment
 // CHECK-NEXT:      0                0        8     1         <internal>:(.comment)
 // CHECK-NEXT:      0                0      198     8 .symtab

Modified: lld/trunk/test/ELF/merge-section-types.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/merge-section-types.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/merge-section-types.s (original)
+++ lld/trunk/test/ELF/merge-section-types.s Wed Mar 13 20:47:45 2019
@@ -9,8 +9,8 @@
 // CHECK-NEXT:   SHF_ALLOC
 // CHECK-NEXT:   SHF_WRITE
 // CHECK-NEXT: ]
-// CHECK-NEXT: Address: 0x1000
-// CHECK-NEXT: Offset: 0x1000
+// CHECK-NEXT: Address: 0x2000
+// CHECK-NEXT: Offset: 0x2000
 // CHECK-NEXT: Size: 16
 
 .section .foo, "aw", @progbits, unique, 1

Modified: lld/trunk/test/ELF/mips-mgot.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/mips-mgot.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/mips-mgot.s (original)
+++ lld/trunk/test/ELF/mips-mgot.s Wed Mar 13 20:47:45 2019
@@ -11,11 +11,11 @@
 # RUN: llvm-readobj -r -dt -mips-plt-got %t.so | FileCheck -check-prefix=GOT %s
 
 # CHECK:      Contents of section .got:
-# CHECK-NEXT:  60000 00000000 80000000 00010000 00010030
-# CHECK-NEXT:  60010 00000000 00000004 00020000 00030000
-# CHECK-NEXT:  60020 00040000 00050000 00060000 00070000
-# CHECK-NEXT:  60030 00000000 00000000 00000000 00000000
-# CHECK-NEXT:  60040 00000000 00000000 00000000
+# CHECK-NEXT:  70000 00000000 80000000 00010000 00010030
+# CHECK-NEXT:  70010 00000000 00000004 00030000 00040000
+# CHECK-NEXT:  70020 00050000 00060000 00070000 00080000
+# CHECK-NEXT:  70030 00000000 00000000 00000000 00000000
+# CHECK-NEXT:  70040 00000000 00000000 00000000
 
 # CHECK: SYMBOL TABLE:
 # CHECK: 00000000 l    O .tdata          00000000 loc0
@@ -28,20 +28,20 @@
 
 # GOT:      Relocations [
 # GOT-NEXT:   Section (7) .rel.dyn {
-# GOT-NEXT:     0x60018 R_MIPS_REL32 - 0x0
-# GOT-NEXT:     0x6001C R_MIPS_REL32 - 0x0
-# GOT-NEXT:     0x60020 R_MIPS_REL32 - 0x0
-# GOT-NEXT:     0x60024 R_MIPS_REL32 - 0x0
-# GOT-NEXT:     0x60028 R_MIPS_REL32 - 0x0
-# GOT-NEXT:     0x6002C R_MIPS_REL32 - 0x0
-# GOT-NEXT:     0x60030 R_MIPS_REL32 foo0 0x0
-# GOT-NEXT:     0x60034 R_MIPS_REL32 foo2 0x0
-# GOT-NEXT:     0x60044 R_MIPS_TLS_DTPMOD32 - 0x0
-# GOT-NEXT:     0x60010 R_MIPS_TLS_TPREL32 tls0 0x0
-# GOT-NEXT:     0x60038 R_MIPS_TLS_TPREL32 tls0 0x0
-# GOT-NEXT:     0x6003C R_MIPS_TLS_DTPMOD32 tls0 0x0
-# GOT-NEXT:     0x60040 R_MIPS_TLS_DTPREL32 tls0 0x0
-# GOT-NEXT:     0x60014 R_MIPS_TLS_TPREL32 tls1 0x0
+# GOT-NEXT:     0x70018 R_MIPS_REL32 - 0x0
+# GOT-NEXT:     0x7001C R_MIPS_REL32 - 0x0
+# GOT-NEXT:     0x70020 R_MIPS_REL32 - 0x0
+# GOT-NEXT:     0x70024 R_MIPS_REL32 - 0x0
+# GOT-NEXT:     0x70028 R_MIPS_REL32 - 0x0
+# GOT-NEXT:     0x7002C R_MIPS_REL32 - 0x0
+# GOT-NEXT:     0x70030 R_MIPS_REL32 foo0 0x0
+# GOT-NEXT:     0x70034 R_MIPS_REL32 foo2 0x0
+# GOT-NEXT:     0x70044 R_MIPS_TLS_DTPMOD32 - 0x0
+# GOT-NEXT:     0x70010 R_MIPS_TLS_TPREL32 tls0 0x0
+# GOT-NEXT:     0x70038 R_MIPS_TLS_TPREL32 tls0 0x0
+# GOT-NEXT:     0x7003C R_MIPS_TLS_DTPMOD32 tls0 0x0
+# GOT-NEXT:     0x70040 R_MIPS_TLS_DTPREL32 tls0 0x0
+# GOT-NEXT:     0x70014 R_MIPS_TLS_TPREL32 tls1 0x0
 # GOT-NEXT:   }
 # GOT-NEXT: ]
 
@@ -57,7 +57,7 @@
 # GOT-NEXT: ]
 
 # GOT:      Primary GOT {
-# GOT-NEXT:   Canonical gp value: 0x67FF0
+# GOT-NEXT:   Canonical gp value: 0x77FF0
 # GOT-NEXT:   Reserved entries [
 # GOT-NEXT:     Entry {
 # GOT-NEXT:       Address:

Modified: lld/trunk/test/ELF/mips-tls-64.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/mips-tls-64.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/mips-tls-64.s (original)
+++ lld/trunk/test/ELF/mips-tls-64.s Wed Mar 13 20:47:45 2019
@@ -22,11 +22,11 @@
 # DIS-NEXT:    20010:   24 62 80 28   addiu   $2, $3, -32728
 
 # DIS:      Contents of section .got:
-# DIS-NEXT:  30010 00000000 00000000 80000000 00000000
-# DIS-NEXT:  30020 00000000 00000000 ffffffff ffff9004
-# DIS-NEXT:  30030 00000000 00000000 00000000 00000000
-# DIS-NEXT:  30040 00000000 00000001 00000000 00000000
-# DIS-NEXT:  30050 00000000 00000001 ffffffff ffff8004
+# DIS-NEXT:  40010 00000000 00000000 80000000 00000000
+# DIS-NEXT:  40020 00000000 00000000 ffffffff ffff9004
+# DIS-NEXT:  40030 00000000 00000000 00000000 00000000
+# DIS-NEXT:  40040 00000000 00000001 00000000 00000000
+# DIS-NEXT:  40050 00000000 00000001 ffffffff ffff8004
 
 # DIS: 0000000000000000 l     O .tdata          00000000 loc
 # DIS: 0000000000000004 g     O .tdata          00000000 bar
@@ -34,13 +34,13 @@
 
 # CHECK:      Relocations [
 # CHECK-NEXT:   Section (7) .rel.dyn {
-# CHECK-NEXT:     0x30020 R_MIPS_TLS_TPREL64/R_MIPS_NONE/R_MIPS_NONE foo 0x0
-# CHECK-NEXT:     0x30030 R_MIPS_TLS_DTPMOD64/R_MIPS_NONE/R_MIPS_NONE foo 0x0
-# CHECK-NEXT:     0x30038 R_MIPS_TLS_DTPREL64/R_MIPS_NONE/R_MIPS_NONE foo 0x0
+# CHECK-NEXT:     0x40020 R_MIPS_TLS_TPREL64/R_MIPS_NONE/R_MIPS_NONE foo 0x0
+# CHECK-NEXT:     0x40030 R_MIPS_TLS_DTPMOD64/R_MIPS_NONE/R_MIPS_NONE foo 0x0
+# CHECK-NEXT:     0x40038 R_MIPS_TLS_DTPREL64/R_MIPS_NONE/R_MIPS_NONE foo 0x0
 # CHECK-NEXT:   }
 # CHECK-NEXT: ]
 # CHECK-NEXT: Primary GOT {
-# CHECK-NEXT:   Canonical gp value: 0x38000
+# CHECK-NEXT:   Canonical gp value: 0x48000
 # CHECK-NEXT:   Reserved entries [
 # CHECK:        ]
 # CHECK-NEXT:   Local entries [
@@ -58,25 +58,25 @@
 #               ^-- -32680                     VA - 0x8000 bar
 
 # DIS-SO:      Contents of section .got:
-# DIS-SO-NEXT:  20000 00000000 00000000 80000000 00000000
-# DIS-SO-NEXT:  20010 00000000 00000000 00000000 00000004
-# DIS-SO-NEXT:  20020 00000000 00000000 00000000 00000000
-# DIS-SO-NEXT:  20030 00000000 00000000 00000000 00000000
-# DIS-SO-NEXT:  20040 00000000 00000000 00000000 00000000
+# DIS-SO-NEXT:  30000 00000000 00000000 80000000 00000000
+# DIS-SO-NEXT:  30010 00000000 00000000 00000000 00000004
+# DIS-SO-NEXT:  30020 00000000 00000000 00000000 00000000
+# DIS-SO-NEXT:  30030 00000000 00000000 00000000 00000000
+# DIS-SO-NEXT:  30040 00000000 00000000 00000000 00000000
 
 # SO:      Relocations [
 # SO-NEXT:   Section (7) .rel.dyn {
-# SO-NEXT:     0x20030 R_MIPS_TLS_DTPMOD64/R_MIPS_NONE/R_MIPS_NONE - 0x0
-# SO-NEXT:     0x20018 R_MIPS_TLS_TPREL64/R_MIPS_NONE/R_MIPS_NONE bar 0x0
-# SO-NEXT:     0x20040 R_MIPS_TLS_DTPMOD64/R_MIPS_NONE/R_MIPS_NONE bar 0x0
-# SO-NEXT:     0x20048 R_MIPS_TLS_DTPREL64/R_MIPS_NONE/R_MIPS_NONE bar 0x0
-# SO-NEXT:     0x20010 R_MIPS_TLS_TPREL64/R_MIPS_NONE/R_MIPS_NONE foo 0x0
-# SO-NEXT:     0x20020 R_MIPS_TLS_DTPMOD64/R_MIPS_NONE/R_MIPS_NONE foo 0x0
-# SO-NEXT:     0x20028 R_MIPS_TLS_DTPREL64/R_MIPS_NONE/R_MIPS_NONE foo 0x0
+# SO-NEXT:     0x30030 R_MIPS_TLS_DTPMOD64/R_MIPS_NONE/R_MIPS_NONE - 0x0
+# SO-NEXT:     0x30018 R_MIPS_TLS_TPREL64/R_MIPS_NONE/R_MIPS_NONE bar 0x0
+# SO-NEXT:     0x30040 R_MIPS_TLS_DTPMOD64/R_MIPS_NONE/R_MIPS_NONE bar 0x0
+# SO-NEXT:     0x30048 R_MIPS_TLS_DTPREL64/R_MIPS_NONE/R_MIPS_NONE bar 0x0
+# SO-NEXT:     0x30010 R_MIPS_TLS_TPREL64/R_MIPS_NONE/R_MIPS_NONE foo 0x0
+# SO-NEXT:     0x30020 R_MIPS_TLS_DTPMOD64/R_MIPS_NONE/R_MIPS_NONE foo 0x0
+# SO-NEXT:     0x30028 R_MIPS_TLS_DTPREL64/R_MIPS_NONE/R_MIPS_NONE foo 0x0
 # SO-NEXT:   }
 # SO-NEXT: ]
 # SO-NEXT: Primary GOT {
-# SO-NEXT:   Canonical gp value: 0x27FF0
+# SO-NEXT:   Canonical gp value: 0x37FF0
 # SO-NEXT:   Reserved entries [
 # SO:        ]
 # SO-NEXT:   Local entries [

Modified: lld/trunk/test/ELF/mips-tls-static-64.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/mips-tls-static-64.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/mips-tls-static-64.s (original)
+++ lld/trunk/test/ELF/mips-tls-static-64.s Wed Mar 13 20:47:45 2019
@@ -7,8 +7,8 @@
 # RUN: llvm-objdump -s -t %t.exe | FileCheck %s
 
 # CHECK:      Contents of section .data:
-# CHECK-NEXT:  30000 00020004 ffffffff ffff8004 ffffffff
-# CHECK-NEXT:  30010 ffff9004
+# CHECK-NEXT:  40000 00020004 ffffffff ffff8004 ffffffff
+# CHECK-NEXT:  40010 ffff9004
 #
 # CHECK: SYMBOL TABLE:
 # CHECK: 0000000000020004        .text           00000000 __tls_get_addr

Modified: lld/trunk/test/ELF/mips-tls-static.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/mips-tls-static.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/mips-tls-static.s (original)
+++ lld/trunk/test/ELF/mips-tls-static.s Wed Mar 13 20:47:45 2019
@@ -7,10 +7,10 @@
 # RUN: llvm-objdump -s -t %t.exe | FileCheck %s
 
 # CHECK:      Contents of section .data:
-# CHECK-NEXT:  30000 0002000c ffff8004 ffff9004
+# CHECK-NEXT:  40000 0002000c ffff8004 ffff9004
 # CHECK:      Contents of section .got:
-# CHECK-NEXT:  30010 00000000 80000000 ffff9000 00000001
-# CHECK-NEXT:  30020 ffff8000 00000001 00000000
+# CHECK-NEXT:  40010 00000000 80000000 ffff9000 00000001
+# CHECK-NEXT:  40020 ffff8000 00000001 00000000
 #
 # CHECK: SYMBOL TABLE:
 # CHECK: 0002000c        .text           00000000 __tls_get_addr

Modified: lld/trunk/test/ELF/mips-tls.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/mips-tls.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/mips-tls.s (original)
+++ lld/trunk/test/ELF/mips-tls.s Wed Mar 13 20:47:45 2019
@@ -22,9 +22,9 @@
 # DIS-NEXT:    20010:   24 62 80 1c   addiu   $2, $3, -32740
 
 # DIS:      Contents of section .got:
-# DIS-NEXT:  30010 00000000 80000000 00000000 ffff9004
-# DIS-NEXT:  30020 00000000 00000000 00000001 00000000
-# DIS-NEXT:  30030 00000001 ffff8004
+# DIS-NEXT:  40010 00000000 80000000 00000000 ffff9004
+# DIS-NEXT:  40020 00000000 00000000 00000001 00000000
+# DIS-NEXT:  40030 00000001 ffff8004
 
 # DIS: 00000000 l    O .tdata          00000000 loc
 # DIS: 00000004 g    O .tdata          00000000 bar
@@ -32,13 +32,13 @@
 
 # CHECK:      Relocations [
 # CHECK-NEXT:   Section (7) .rel.dyn {
-# CHECK-NEXT:     0x30018 R_MIPS_TLS_TPREL32 foo 0x0
-# CHECK-NEXT:     0x30020 R_MIPS_TLS_DTPMOD32 foo 0x0
-# CHECK-NEXT:     0x30024 R_MIPS_TLS_DTPREL32 foo 0x0
+# CHECK-NEXT:     0x40018 R_MIPS_TLS_TPREL32 foo 0x0
+# CHECK-NEXT:     0x40020 R_MIPS_TLS_DTPMOD32 foo 0x0
+# CHECK-NEXT:     0x40024 R_MIPS_TLS_DTPREL32 foo 0x0
 # CHECK-NEXT:   }
 # CHECK-NEXT: ]
 # CHECK-NEXT: Primary GOT {
-# CHECK-NEXT:   Canonical gp value: 0x38000
+# CHECK-NEXT:   Canonical gp value: 0x48000
 # CHECK-NEXT:   Reserved entries [
 # CHECK:        ]
 # CHECK-NEXT:   Local entries [
@@ -56,23 +56,23 @@
 #               ^-- -32716                     VA - 0x8000 bar
 
 # DIS-SO:      Contents of section .got:
-# DIS-SO-NEXT:  20000 00000000 80000000 00000000 00000004
-# DIS-SO-NEXT:  20010 00000000 00000000 00000000 00000000
-# DIS-SO-NEXT:  20020 00000000 00000000
+# DIS-SO-NEXT:  30000 00000000 80000000 00000000 00000004
+# DIS-SO-NEXT:  30010 00000000 00000000 00000000 00000000
+# DIS-SO-NEXT:  30020 00000000 00000000
 
 # SO:      Relocations [
 # SO-NEXT:   Section (7) .rel.dyn {
-# SO-NEXT:     0x20018 R_MIPS_TLS_DTPMOD32 - 0x0
-# SO-NEXT:     0x2000C R_MIPS_TLS_TPREL32 bar 0x0
-# SO-NEXT:     0x20020 R_MIPS_TLS_DTPMOD32 bar 0x0
-# SO-NEXT:     0x20024 R_MIPS_TLS_DTPREL32 bar 0x0
-# SO-NEXT:     0x20008 R_MIPS_TLS_TPREL32 foo 0x0
-# SO-NEXT:     0x20010 R_MIPS_TLS_DTPMOD32 foo 0x0
-# SO-NEXT:     0x20014 R_MIPS_TLS_DTPREL32 foo 0x0
+# SO-NEXT:     0x30018 R_MIPS_TLS_DTPMOD32 - 0x0
+# SO-NEXT:     0x3000C R_MIPS_TLS_TPREL32 bar 0x0
+# SO-NEXT:     0x30020 R_MIPS_TLS_DTPMOD32 bar 0x0
+# SO-NEXT:     0x30024 R_MIPS_TLS_DTPREL32 bar 0x0
+# SO-NEXT:     0x30008 R_MIPS_TLS_TPREL32 foo 0x0
+# SO-NEXT:     0x30010 R_MIPS_TLS_DTPMOD32 foo 0x0
+# SO-NEXT:     0x30014 R_MIPS_TLS_DTPREL32 foo 0x0
 # SO-NEXT:   }
 # SO-NEXT: ]
 # SO-NEXT: Primary GOT {
-# SO-NEXT:   Canonical gp value: 0x27FF0
+# SO-NEXT:   Canonical gp value: 0x37FF0
 # SO-NEXT:   Reserved entries [
 # SO:        ]
 # SO-NEXT:   Local entries [

Modified: lld/trunk/test/ELF/pack-dyn-relocs-loop.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/pack-dyn-relocs-loop.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/pack-dyn-relocs-loop.s (original)
+++ lld/trunk/test/ELF/pack-dyn-relocs-loop.s Wed Mar 13 20:47:45 2019
@@ -18,15 +18,15 @@
 // CHECK-NEXT:    ]
 // CHECK-NEXT:    Address: 0x210
 // CHECK-NEXT:    Offset: 0x210
-// CHECK-NEXT:    Size: 21
+// CHECK-NEXT:    Size: 22
 
 // CHECK:         Name: x (43)
 // CHECK-NEXT:    Type: SHT_PROGBITS (0x1)
 // CHECK-NEXT:    Flags [ (0x2)
 // CHECK-NEXT:      SHF_ALLOC (0x2)
 // CHECK-NEXT:    ]
-// CHECK-NEXT:    Address: 0x225
-// CHECK-NEXT:    Offset: 0x225
+// CHECK-NEXT:    Address: 0x226
+// CHECK-NEXT:    Offset: 0x226
 // CHECK-NEXT:    Size: 64980
 
 // CHECK:         Name: barr (45)
@@ -38,14 +38,14 @@
 // CHECK-NEXT:    Offset: 0xFFFA
 // CHECK-NEXT:    Size: 0
 
-// CHECK:         Name: foo (62)
+// CHECK:         Name: foo (71)
 // CHECK-NEXT:    Type: SHT_PROGBITS (0x1)
 // CHECK-NEXT:    Flags [ (0x3)
 // CHECK-NEXT:      SHF_ALLOC (0x2)
 // CHECK-NEXT:      SHF_WRITE (0x1)
 // CHECK-NEXT:    ]
-// CHECK-NEXT:    Address: 0x10004
-// CHECK-NEXT:    Offset: 0x10004
+// CHECK-NEXT:    Address: 0x20004
+// CHECK-NEXT:    Offset: 0x20004
 // CHECK-NEXT:    Size: 12
 
 

Modified: lld/trunk/test/ELF/pack-dyn-relocs.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/pack-dyn-relocs.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/pack-dyn-relocs.s (original)
+++ lld/trunk/test/ELF/pack-dyn-relocs.s Wed Mar 13 20:47:45 2019
@@ -8,36 +8,36 @@
 
 // Unpacked should have the relative relocations in their natural order.
 // UNPACKED32:          Section ({{.+}}) .rel.dyn {
-// UNPACKED32-NEXT:     0x1000 R_ARM_RELATIVE - 0x0
-// UNPACKED32-NEXT:     0x1004 R_ARM_RELATIVE - 0x0
-// UNPACKED32-NEXT:     0x1008 R_ARM_RELATIVE - 0x0
-// UNPACKED32-NEXT:     0x100C R_ARM_RELATIVE - 0x0
-// UNPACKED32-NEXT:     0x1010 R_ARM_RELATIVE - 0x0
-// UNPACKED32-NEXT:     0x1014 R_ARM_RELATIVE - 0x0
-// UNPACKED32-NEXT:     0x1018 R_ARM_RELATIVE - 0x0
-// UNPACKED32-NEXT:     0x101C R_ARM_RELATIVE - 0x0
-
-// UNPACKED32-NEXT:     0x1024 R_ARM_RELATIVE - 0x0
-// UNPACKED32-NEXT:     0x1028 R_ARM_RELATIVE - 0x0
-// UNPACKED32-NEXT:     0x102C R_ARM_RELATIVE - 0x0
-// UNPACKED32-NEXT:     0x1030 R_ARM_RELATIVE - 0x0
-// UNPACKED32-NEXT:     0x1034 R_ARM_RELATIVE - 0x0
-// UNPACKED32-NEXT:     0x1038 R_ARM_RELATIVE - 0x0
-// UNPACKED32-NEXT:     0x103C R_ARM_RELATIVE - 0x0
-
-// UNPACKED32-NEXT:     0x1044 R_ARM_RELATIVE - 0x0
-// UNPACKED32-NEXT:     0x1048 R_ARM_RELATIVE - 0x0
-// UNPACKED32-NEXT:     0x104C R_ARM_RELATIVE - 0x0
-// UNPACKED32-NEXT:     0x1050 R_ARM_RELATIVE - 0x0
-// UNPACKED32-NEXT:     0x1054 R_ARM_RELATIVE - 0x0
-// UNPACKED32-NEXT:     0x1058 R_ARM_RELATIVE - 0x0
-// UNPACKED32-NEXT:     0x105C R_ARM_RELATIVE - 0x0
-// UNPACKED32-NEXT:     0x1060 R_ARM_RELATIVE - 0x0
-// UNPACKED32-NEXT:     0x1064 R_ARM_RELATIVE - 0x0
-
-// UNPACKED32-NEXT:     0x1069 R_ARM_RELATIVE - 0x0
-// UNPACKED32-NEXT:     0x1020 R_ARM_ABS32 bar2 0x0
-// UNPACKED32-NEXT:     0x1040 R_ARM_ABS32 zed2 0x0
+// UNPACKED32-NEXT:     0x2000 R_ARM_RELATIVE - 0x0
+// UNPACKED32-NEXT:     0x2004 R_ARM_RELATIVE - 0x0
+// UNPACKED32-NEXT:     0x2008 R_ARM_RELATIVE - 0x0
+// UNPACKED32-NEXT:     0x200C R_ARM_RELATIVE - 0x0
+// UNPACKED32-NEXT:     0x2010 R_ARM_RELATIVE - 0x0
+// UNPACKED32-NEXT:     0x2014 R_ARM_RELATIVE - 0x0
+// UNPACKED32-NEXT:     0x2018 R_ARM_RELATIVE - 0x0
+// UNPACKED32-NEXT:     0x201C R_ARM_RELATIVE - 0x0
+
+// UNPACKED32-NEXT:     0x2024 R_ARM_RELATIVE - 0x0
+// UNPACKED32-NEXT:     0x2028 R_ARM_RELATIVE - 0x0
+// UNPACKED32-NEXT:     0x202C R_ARM_RELATIVE - 0x0
+// UNPACKED32-NEXT:     0x2030 R_ARM_RELATIVE - 0x0
+// UNPACKED32-NEXT:     0x2034 R_ARM_RELATIVE - 0x0
+// UNPACKED32-NEXT:     0x2038 R_ARM_RELATIVE - 0x0
+// UNPACKED32-NEXT:     0x203C R_ARM_RELATIVE - 0x0
+
+// UNPACKED32-NEXT:     0x2044 R_ARM_RELATIVE - 0x0
+// UNPACKED32-NEXT:     0x2048 R_ARM_RELATIVE - 0x0
+// UNPACKED32-NEXT:     0x204C R_ARM_RELATIVE - 0x0
+// UNPACKED32-NEXT:     0x2050 R_ARM_RELATIVE - 0x0
+// UNPACKED32-NEXT:     0x2054 R_ARM_RELATIVE - 0x0
+// UNPACKED32-NEXT:     0x2058 R_ARM_RELATIVE - 0x0
+// UNPACKED32-NEXT:     0x205C R_ARM_RELATIVE - 0x0
+// UNPACKED32-NEXT:     0x2060 R_ARM_RELATIVE - 0x0
+// UNPACKED32-NEXT:     0x2064 R_ARM_RELATIVE - 0x0
+
+// UNPACKED32-NEXT:     0x2069 R_ARM_RELATIVE - 0x0
+// UNPACKED32-NEXT:     0x2020 R_ARM_ABS32 bar2 0x0
+// UNPACKED32-NEXT:     0x2040 R_ARM_ABS32 zed2 0x0
 // UNPACKED32-NEXT:     }
 
 // RUN: ld.lld -pie --pack-dyn-relocs=android %t.a32 %t.a32.so -o %t3.a32
@@ -66,36 +66,36 @@
 // Packed should have the larger groups of relative relocations first,
 // i.e. the 8 and 9 followed by the 7.
 // ANDROID32:          Section ({{.+}}) .rel.dyn {
-// ANDROID32-NEXT:     0x1000 R_ARM_RELATIVE - 0x0
-// ANDROID32-NEXT:     0x1004 R_ARM_RELATIVE - 0x0
-// ANDROID32-NEXT:     0x1008 R_ARM_RELATIVE - 0x0
-// ANDROID32-NEXT:     0x100C R_ARM_RELATIVE - 0x0
-// ANDROID32-NEXT:     0x1010 R_ARM_RELATIVE - 0x0
-// ANDROID32-NEXT:     0x1014 R_ARM_RELATIVE - 0x0
-// ANDROID32-NEXT:     0x1018 R_ARM_RELATIVE - 0x0
-// ANDROID32-NEXT:     0x101C R_ARM_RELATIVE - 0x0
-
-// ANDROID32-NEXT:     0x1044 R_ARM_RELATIVE - 0x0
-// ANDROID32-NEXT:     0x1048 R_ARM_RELATIVE - 0x0
-// ANDROID32-NEXT:     0x104C R_ARM_RELATIVE - 0x0
-// ANDROID32-NEXT:     0x1050 R_ARM_RELATIVE - 0x0
-// ANDROID32-NEXT:     0x1054 R_ARM_RELATIVE - 0x0
-// ANDROID32-NEXT:     0x1058 R_ARM_RELATIVE - 0x0
-// ANDROID32-NEXT:     0x105C R_ARM_RELATIVE - 0x0
-// ANDROID32-NEXT:     0x1060 R_ARM_RELATIVE - 0x0
-// ANDROID32-NEXT:     0x1064 R_ARM_RELATIVE - 0x0
-
-// ANDROID32-NEXT:     0x1024 R_ARM_RELATIVE - 0x0
-// ANDROID32-NEXT:     0x1028 R_ARM_RELATIVE - 0x0
-// ANDROID32-NEXT:     0x102C R_ARM_RELATIVE - 0x0
-// ANDROID32-NEXT:     0x1030 R_ARM_RELATIVE - 0x0
-// ANDROID32-NEXT:     0x1034 R_ARM_RELATIVE - 0x0
-// ANDROID32-NEXT:     0x1038 R_ARM_RELATIVE - 0x0
-// ANDROID32-NEXT:     0x103C R_ARM_RELATIVE - 0x0
-
-// ANDROID32-NEXT:     0x1069 R_ARM_RELATIVE - 0x0
-// ANDROID32-NEXT:     0x1020 R_ARM_ABS32 bar2 0x0
-// ANDROID32-NEXT:     0x1040 R_ARM_ABS32 zed2 0x0
+// ANDROID32-NEXT:     0x2000 R_ARM_RELATIVE - 0x0
+// ANDROID32-NEXT:     0x2004 R_ARM_RELATIVE - 0x0
+// ANDROID32-NEXT:     0x2008 R_ARM_RELATIVE - 0x0
+// ANDROID32-NEXT:     0x200C R_ARM_RELATIVE - 0x0
+// ANDROID32-NEXT:     0x2010 R_ARM_RELATIVE - 0x0
+// ANDROID32-NEXT:     0x2014 R_ARM_RELATIVE - 0x0
+// ANDROID32-NEXT:     0x2018 R_ARM_RELATIVE - 0x0
+// ANDROID32-NEXT:     0x201C R_ARM_RELATIVE - 0x0
+
+// ANDROID32-NEXT:     0x2044 R_ARM_RELATIVE - 0x0
+// ANDROID32-NEXT:     0x2048 R_ARM_RELATIVE - 0x0
+// ANDROID32-NEXT:     0x204C R_ARM_RELATIVE - 0x0
+// ANDROID32-NEXT:     0x2050 R_ARM_RELATIVE - 0x0
+// ANDROID32-NEXT:     0x2054 R_ARM_RELATIVE - 0x0
+// ANDROID32-NEXT:     0x2058 R_ARM_RELATIVE - 0x0
+// ANDROID32-NEXT:     0x205C R_ARM_RELATIVE - 0x0
+// ANDROID32-NEXT:     0x2060 R_ARM_RELATIVE - 0x0
+// ANDROID32-NEXT:     0x2064 R_ARM_RELATIVE - 0x0
+
+// ANDROID32-NEXT:     0x2024 R_ARM_RELATIVE - 0x0
+// ANDROID32-NEXT:     0x2028 R_ARM_RELATIVE - 0x0
+// ANDROID32-NEXT:     0x202C R_ARM_RELATIVE - 0x0
+// ANDROID32-NEXT:     0x2030 R_ARM_RELATIVE - 0x0
+// ANDROID32-NEXT:     0x2034 R_ARM_RELATIVE - 0x0
+// ANDROID32-NEXT:     0x2038 R_ARM_RELATIVE - 0x0
+// ANDROID32-NEXT:     0x203C R_ARM_RELATIVE - 0x0
+
+// ANDROID32-NEXT:     0x2069 R_ARM_RELATIVE - 0x0
+// ANDROID32-NEXT:     0x2020 R_ARM_ABS32 bar2 0x0
+// ANDROID32-NEXT:     0x2040 R_ARM_ABS32 zed2 0x0
 // ANDROID32-NEXT:     }
 
 // RUN: ld.lld -pie --pack-dyn-relocs=relr %t.a32 %t.a32.so -o %t4.a32
@@ -126,7 +126,7 @@
 // SHT_RELR section contains address/bitmap entries
 // encoding the offsets for relative relocation.
 // RAW-RELR32:           Section ({{.+}}) .relr.dyn {
-// RAW-RELR32-NEXT:      0x1000
+// RAW-RELR32-NEXT:      0x2000
 // RAW-RELR32-NEXT:      0x3FEFEFF
 // RAW-RELR32-NEXT:      }
 
@@ -134,37 +134,37 @@
 // but contains only the relative relocations.
 // Any relative relocations with odd offset stay in SHT_REL.
 // RELR32:               Section ({{.+}}) .rel.dyn {
-// RELR32-NEXT:          0x1069 R_ARM_RELATIVE - 0x0
-// RELR32-NEXT:          0x1020 R_ARM_ABS32 bar2 0x0
-// RELR32-NEXT:          0x1040 R_ARM_ABS32 zed2 0x0
+// RELR32-NEXT:          0x2069 R_ARM_RELATIVE - 0x0
+// RELR32-NEXT:          0x2020 R_ARM_ABS32 bar2 0x0
+// RELR32-NEXT:          0x2040 R_ARM_ABS32 zed2 0x0
 // RELR32-NEXT:          }
 // RELR32-NEXT:          Section ({{.+}}) .relr.dyn {
-// RELR32-NEXT:          0x1000 R_ARM_RELATIVE - 0x0
-// RELR32-NEXT:          0x1004 R_ARM_RELATIVE - 0x0
-// RELR32-NEXT:          0x1008 R_ARM_RELATIVE - 0x0
-// RELR32-NEXT:          0x100C R_ARM_RELATIVE - 0x0
-// RELR32-NEXT:          0x1010 R_ARM_RELATIVE - 0x0
-// RELR32-NEXT:          0x1014 R_ARM_RELATIVE - 0x0
-// RELR32-NEXT:          0x1018 R_ARM_RELATIVE - 0x0
-// RELR32-NEXT:          0x101C R_ARM_RELATIVE - 0x0
-
-// RELR32-NEXT:          0x1024 R_ARM_RELATIVE - 0x0
-// RELR32-NEXT:          0x1028 R_ARM_RELATIVE - 0x0
-// RELR32-NEXT:          0x102C R_ARM_RELATIVE - 0x0
-// RELR32-NEXT:          0x1030 R_ARM_RELATIVE - 0x0
-// RELR32-NEXT:          0x1034 R_ARM_RELATIVE - 0x0
-// RELR32-NEXT:          0x1038 R_ARM_RELATIVE - 0x0
-// RELR32-NEXT:          0x103C R_ARM_RELATIVE - 0x0
-
-// RELR32-NEXT:          0x1044 R_ARM_RELATIVE - 0x0
-// RELR32-NEXT:          0x1048 R_ARM_RELATIVE - 0x0
-// RELR32-NEXT:          0x104C R_ARM_RELATIVE - 0x0
-// RELR32-NEXT:          0x1050 R_ARM_RELATIVE - 0x0
-// RELR32-NEXT:          0x1054 R_ARM_RELATIVE - 0x0
-// RELR32-NEXT:          0x1058 R_ARM_RELATIVE - 0x0
-// RELR32-NEXT:          0x105C R_ARM_RELATIVE - 0x0
-// RELR32-NEXT:          0x1060 R_ARM_RELATIVE - 0x0
-// RELR32-NEXT:          0x1064 R_ARM_RELATIVE - 0x0
+// RELR32-NEXT:          0x2000 R_ARM_RELATIVE - 0x0
+// RELR32-NEXT:          0x2004 R_ARM_RELATIVE - 0x0
+// RELR32-NEXT:          0x2008 R_ARM_RELATIVE - 0x0
+// RELR32-NEXT:          0x200C R_ARM_RELATIVE - 0x0
+// RELR32-NEXT:          0x2010 R_ARM_RELATIVE - 0x0
+// RELR32-NEXT:          0x2014 R_ARM_RELATIVE - 0x0
+// RELR32-NEXT:          0x2018 R_ARM_RELATIVE - 0x0
+// RELR32-NEXT:          0x201C R_ARM_RELATIVE - 0x0
+
+// RELR32-NEXT:          0x2024 R_ARM_RELATIVE - 0x0
+// RELR32-NEXT:          0x2028 R_ARM_RELATIVE - 0x0
+// RELR32-NEXT:          0x202C R_ARM_RELATIVE - 0x0
+// RELR32-NEXT:          0x2030 R_ARM_RELATIVE - 0x0
+// RELR32-NEXT:          0x2034 R_ARM_RELATIVE - 0x0
+// RELR32-NEXT:          0x2038 R_ARM_RELATIVE - 0x0
+// RELR32-NEXT:          0x203C R_ARM_RELATIVE - 0x0
+
+// RELR32-NEXT:          0x2044 R_ARM_RELATIVE - 0x0
+// RELR32-NEXT:          0x2048 R_ARM_RELATIVE - 0x0
+// RELR32-NEXT:          0x204C R_ARM_RELATIVE - 0x0
+// RELR32-NEXT:          0x2050 R_ARM_RELATIVE - 0x0
+// RELR32-NEXT:          0x2054 R_ARM_RELATIVE - 0x0
+// RELR32-NEXT:          0x2058 R_ARM_RELATIVE - 0x0
+// RELR32-NEXT:          0x205C R_ARM_RELATIVE - 0x0
+// RELR32-NEXT:          0x2060 R_ARM_RELATIVE - 0x0
+// RELR32-NEXT:          0x2064 R_ARM_RELATIVE - 0x0
 // RELR32-NEXT:          }
 
 // RUN: llvm-mc -filetype=obj -triple=aarch64-unknown-linux %p/Inputs/shared2.s -o %t.a64.so.o
@@ -174,36 +174,36 @@
 // RUN: llvm-readobj -relocations %t2.a64 | FileCheck --check-prefix=UNPACKED64 %s
 
 // UNPACKED64:          Section ({{.+}}) .rela.dyn {
-// UNPACKED64-NEXT:     0x10000 R_AARCH64_RELATIVE - 0x1
-// UNPACKED64-NEXT:     0x10008 R_AARCH64_RELATIVE - 0x2
-// UNPACKED64-NEXT:     0x10010 R_AARCH64_RELATIVE - 0x3
-// UNPACKED64-NEXT:     0x10018 R_AARCH64_RELATIVE - 0x4
-// UNPACKED64-NEXT:     0x10020 R_AARCH64_RELATIVE - 0x5
-// UNPACKED64-NEXT:     0x10028 R_AARCH64_RELATIVE - 0x6
-// UNPACKED64-NEXT:     0x10030 R_AARCH64_RELATIVE - 0x7
-// UNPACKED64-NEXT:     0x10038 R_AARCH64_RELATIVE - 0x8
-
-// UNPACKED64-NEXT:     0x10048 R_AARCH64_RELATIVE - 0x1
-// UNPACKED64-NEXT:     0x10050 R_AARCH64_RELATIVE - 0x2
-// UNPACKED64-NEXT:     0x10058 R_AARCH64_RELATIVE - 0x3
-// UNPACKED64-NEXT:     0x10060 R_AARCH64_RELATIVE - 0x4
-// UNPACKED64-NEXT:     0x10068 R_AARCH64_RELATIVE - 0x5
-// UNPACKED64-NEXT:     0x10070 R_AARCH64_RELATIVE - 0x6
-// UNPACKED64-NEXT:     0x10078 R_AARCH64_RELATIVE - 0x7
-
-// UNPACKED64-NEXT:     0x10088 R_AARCH64_RELATIVE - 0x1
-// UNPACKED64-NEXT:     0x10090 R_AARCH64_RELATIVE - 0x2
-// UNPACKED64-NEXT:     0x10098 R_AARCH64_RELATIVE - 0x3
-// UNPACKED64-NEXT:     0x100A0 R_AARCH64_RELATIVE - 0x4
-// UNPACKED64-NEXT:     0x100A8 R_AARCH64_RELATIVE - 0x5
-// UNPACKED64-NEXT:     0x100B0 R_AARCH64_RELATIVE - 0x6
-// UNPACKED64-NEXT:     0x100B8 R_AARCH64_RELATIVE - 0x7
-// UNPACKED64-NEXT:     0x100C0 R_AARCH64_RELATIVE - 0x8
-// UNPACKED64-NEXT:     0x100C8 R_AARCH64_RELATIVE - 0x9
-
-// UNPACKED64-NEXT:     0x100D1 R_AARCH64_RELATIVE - 0xA
-// UNPACKED64-NEXT:     0x10040 R_AARCH64_ABS64 bar2 0x1
-// UNPACKED64-NEXT:     0x10080 R_AARCH64_ABS64 zed2 0x0
+// UNPACKED64-NEXT:     0x20000 R_AARCH64_RELATIVE - 0x1
+// UNPACKED64-NEXT:     0x20008 R_AARCH64_RELATIVE - 0x2
+// UNPACKED64-NEXT:     0x20010 R_AARCH64_RELATIVE - 0x3
+// UNPACKED64-NEXT:     0x20018 R_AARCH64_RELATIVE - 0x4
+// UNPACKED64-NEXT:     0x20020 R_AARCH64_RELATIVE - 0x5
+// UNPACKED64-NEXT:     0x20028 R_AARCH64_RELATIVE - 0x6
+// UNPACKED64-NEXT:     0x20030 R_AARCH64_RELATIVE - 0x7
+// UNPACKED64-NEXT:     0x20038 R_AARCH64_RELATIVE - 0x8
+
+// UNPACKED64-NEXT:     0x20048 R_AARCH64_RELATIVE - 0x1
+// UNPACKED64-NEXT:     0x20050 R_AARCH64_RELATIVE - 0x2
+// UNPACKED64-NEXT:     0x20058 R_AARCH64_RELATIVE - 0x3
+// UNPACKED64-NEXT:     0x20060 R_AARCH64_RELATIVE - 0x4
+// UNPACKED64-NEXT:     0x20068 R_AARCH64_RELATIVE - 0x5
+// UNPACKED64-NEXT:     0x20070 R_AARCH64_RELATIVE - 0x6
+// UNPACKED64-NEXT:     0x20078 R_AARCH64_RELATIVE - 0x7
+
+// UNPACKED64-NEXT:     0x20088 R_AARCH64_RELATIVE - 0x1
+// UNPACKED64-NEXT:     0x20090 R_AARCH64_RELATIVE - 0x2
+// UNPACKED64-NEXT:     0x20098 R_AARCH64_RELATIVE - 0x3
+// UNPACKED64-NEXT:     0x200A0 R_AARCH64_RELATIVE - 0x4
+// UNPACKED64-NEXT:     0x200A8 R_AARCH64_RELATIVE - 0x5
+// UNPACKED64-NEXT:     0x200B0 R_AARCH64_RELATIVE - 0x6
+// UNPACKED64-NEXT:     0x200B8 R_AARCH64_RELATIVE - 0x7
+// UNPACKED64-NEXT:     0x200C0 R_AARCH64_RELATIVE - 0x8
+// UNPACKED64-NEXT:     0x200C8 R_AARCH64_RELATIVE - 0x9
+
+// UNPACKED64-NEXT:     0x200D1 R_AARCH64_RELATIVE - 0xA
+// UNPACKED64-NEXT:     0x20040 R_AARCH64_ABS64 bar2 0x1
+// UNPACKED64-NEXT:     0x20080 R_AARCH64_ABS64 zed2 0x0
 // UNPACKED64-NEXT:     }
 
 // RUN: ld.lld -pie --pack-dyn-relocs=android %t.a64 %t.a64.so -o %t3.a64
@@ -230,36 +230,36 @@
 // ANDROID64-HEADERS: 0x0000000060000012 ANDROID_RELASZ        [[SIZE]]
 
 // ANDROID64:          Section ({{.+}}) .rela.dyn {
-// ANDROID64-NEXT:     0x10000 R_AARCH64_RELATIVE - 0x1
-// ANDROID64-NEXT:     0x10008 R_AARCH64_RELATIVE - 0x2
-// ANDROID64-NEXT:     0x10010 R_AARCH64_RELATIVE - 0x3
-// ANDROID64-NEXT:     0x10018 R_AARCH64_RELATIVE - 0x4
-// ANDROID64-NEXT:     0x10020 R_AARCH64_RELATIVE - 0x5
-// ANDROID64-NEXT:     0x10028 R_AARCH64_RELATIVE - 0x6
-// ANDROID64-NEXT:     0x10030 R_AARCH64_RELATIVE - 0x7
-// ANDROID64-NEXT:     0x10038 R_AARCH64_RELATIVE - 0x8
-
-// ANDROID64-NEXT:     0x10088 R_AARCH64_RELATIVE - 0x1
-// ANDROID64-NEXT:     0x10090 R_AARCH64_RELATIVE - 0x2
-// ANDROID64-NEXT:     0x10098 R_AARCH64_RELATIVE - 0x3
-// ANDROID64-NEXT:     0x100A0 R_AARCH64_RELATIVE - 0x4
-// ANDROID64-NEXT:     0x100A8 R_AARCH64_RELATIVE - 0x5
-// ANDROID64-NEXT:     0x100B0 R_AARCH64_RELATIVE - 0x6
-// ANDROID64-NEXT:     0x100B8 R_AARCH64_RELATIVE - 0x7
-// ANDROID64-NEXT:     0x100C0 R_AARCH64_RELATIVE - 0x8
-// ANDROID64-NEXT:     0x100C8 R_AARCH64_RELATIVE - 0x9
-
-// ANDROID64-NEXT:     0x10048 R_AARCH64_RELATIVE - 0x1
-// ANDROID64-NEXT:     0x10050 R_AARCH64_RELATIVE - 0x2
-// ANDROID64-NEXT:     0x10058 R_AARCH64_RELATIVE - 0x3
-// ANDROID64-NEXT:     0x10060 R_AARCH64_RELATIVE - 0x4
-// ANDROID64-NEXT:     0x10068 R_AARCH64_RELATIVE - 0x5
-// ANDROID64-NEXT:     0x10070 R_AARCH64_RELATIVE - 0x6
-// ANDROID64-NEXT:     0x10078 R_AARCH64_RELATIVE - 0x7
-
-// ANDROID64-NEXT:     0x100D1 R_AARCH64_RELATIVE - 0xA
-// ANDROID64-NEXT:     0x10040 R_AARCH64_ABS64 bar2 0x1
-// ANDROID64-NEXT:     0x10080 R_AARCH64_ABS64 zed2 0x0
+// ANDROID64-NEXT:     0x20000 R_AARCH64_RELATIVE - 0x1
+// ANDROID64-NEXT:     0x20008 R_AARCH64_RELATIVE - 0x2
+// ANDROID64-NEXT:     0x20010 R_AARCH64_RELATIVE - 0x3
+// ANDROID64-NEXT:     0x20018 R_AARCH64_RELATIVE - 0x4
+// ANDROID64-NEXT:     0x20020 R_AARCH64_RELATIVE - 0x5
+// ANDROID64-NEXT:     0x20028 R_AARCH64_RELATIVE - 0x6
+// ANDROID64-NEXT:     0x20030 R_AARCH64_RELATIVE - 0x7
+// ANDROID64-NEXT:     0x20038 R_AARCH64_RELATIVE - 0x8
+
+// ANDROID64-NEXT:     0x20088 R_AARCH64_RELATIVE - 0x1
+// ANDROID64-NEXT:     0x20090 R_AARCH64_RELATIVE - 0x2
+// ANDROID64-NEXT:     0x20098 R_AARCH64_RELATIVE - 0x3
+// ANDROID64-NEXT:     0x200A0 R_AARCH64_RELATIVE - 0x4
+// ANDROID64-NEXT:     0x200A8 R_AARCH64_RELATIVE - 0x5
+// ANDROID64-NEXT:     0x200B0 R_AARCH64_RELATIVE - 0x6
+// ANDROID64-NEXT:     0x200B8 R_AARCH64_RELATIVE - 0x7
+// ANDROID64-NEXT:     0x200C0 R_AARCH64_RELATIVE - 0x8
+// ANDROID64-NEXT:     0x200C8 R_AARCH64_RELATIVE - 0x9
+
+// ANDROID64-NEXT:     0x20048 R_AARCH64_RELATIVE - 0x1
+// ANDROID64-NEXT:     0x20050 R_AARCH64_RELATIVE - 0x2
+// ANDROID64-NEXT:     0x20058 R_AARCH64_RELATIVE - 0x3
+// ANDROID64-NEXT:     0x20060 R_AARCH64_RELATIVE - 0x4
+// ANDROID64-NEXT:     0x20068 R_AARCH64_RELATIVE - 0x5
+// ANDROID64-NEXT:     0x20070 R_AARCH64_RELATIVE - 0x6
+// ANDROID64-NEXT:     0x20078 R_AARCH64_RELATIVE - 0x7
+
+// ANDROID64-NEXT:     0x200D1 R_AARCH64_RELATIVE - 0xA
+// ANDROID64-NEXT:     0x20040 R_AARCH64_ABS64 bar2 0x1
+// ANDROID64-NEXT:     0x20080 R_AARCH64_ABS64 zed2 0x0
 // ANDROID64-NEXT:     }
 
 // RUN: ld.lld -pie --pack-dyn-relocs=relr %t.a64 %t.a64.so -o %t4.a64
@@ -290,7 +290,7 @@
 // SHT_RELR section contains address/bitmap entries
 // encoding the offsets for relative relocation.
 // RAW-RELR64:           Section ({{.+}}) .relr.dyn {
-// RAW-RELR64-NEXT:      0x10000
+// RAW-RELR64-NEXT:      0x20000
 // RAW-RELR64-NEXT:      0x3FEFEFF
 // RAW-RELR64-NEXT:      }
 
@@ -298,37 +298,37 @@
 // but contains only the relative relocations.
 // Any relative relocations with odd offset stay in SHT_RELA.
 // RELR64:               Section ({{.+}}) .rela.dyn {
-// RELR64-NEXT:          0x100D1 R_AARCH64_RELATIVE - 0xA
-// RELR64-NEXT:          0x10040 R_AARCH64_ABS64 bar2 0x1
-// RELR64-NEXT:          0x10080 R_AARCH64_ABS64 zed2 0x0
+// RELR64-NEXT:          0x200D1 R_AARCH64_RELATIVE - 0xA
+// RELR64-NEXT:          0x20040 R_AARCH64_ABS64 bar2 0x1
+// RELR64-NEXT:          0x20080 R_AARCH64_ABS64 zed2 0x0
 // RELR64-NEXT:          }
 // RELR64-NEXT:          Section ({{.+}}) .relr.dyn {
-// RELR64-NEXT:          0x10000 R_AARCH64_RELATIVE - 0x0
-// RELR64-NEXT:          0x10008 R_AARCH64_RELATIVE - 0x0
-// RELR64-NEXT:          0x10010 R_AARCH64_RELATIVE - 0x0
-// RELR64-NEXT:          0x10018 R_AARCH64_RELATIVE - 0x0
-// RELR64-NEXT:          0x10020 R_AARCH64_RELATIVE - 0x0
-// RELR64-NEXT:          0x10028 R_AARCH64_RELATIVE - 0x0
-// RELR64-NEXT:          0x10030 R_AARCH64_RELATIVE - 0x0
-// RELR64-NEXT:          0x10038 R_AARCH64_RELATIVE - 0x0
-
-// RELR64-NEXT:          0x10048 R_AARCH64_RELATIVE - 0x0
-// RELR64-NEXT:          0x10050 R_AARCH64_RELATIVE - 0x0
-// RELR64-NEXT:          0x10058 R_AARCH64_RELATIVE - 0x0
-// RELR64-NEXT:          0x10060 R_AARCH64_RELATIVE - 0x0
-// RELR64-NEXT:          0x10068 R_AARCH64_RELATIVE - 0x0
-// RELR64-NEXT:          0x10070 R_AARCH64_RELATIVE - 0x0
-// RELR64-NEXT:          0x10078 R_AARCH64_RELATIVE - 0x0
-
-// RELR64-NEXT:          0x10088 R_AARCH64_RELATIVE - 0x0
-// RELR64-NEXT:          0x10090 R_AARCH64_RELATIVE - 0x0
-// RELR64-NEXT:          0x10098 R_AARCH64_RELATIVE - 0x0
-// RELR64-NEXT:          0x100A0 R_AARCH64_RELATIVE - 0x0
-// RELR64-NEXT:          0x100A8 R_AARCH64_RELATIVE - 0x0
-// RELR64-NEXT:          0x100B0 R_AARCH64_RELATIVE - 0x0
-// RELR64-NEXT:          0x100B8 R_AARCH64_RELATIVE - 0x0
-// RELR64-NEXT:          0x100C0 R_AARCH64_RELATIVE - 0x0
-// RELR64-NEXT:          0x100C8 R_AARCH64_RELATIVE - 0x0
+// RELR64-NEXT:          0x20000 R_AARCH64_RELATIVE - 0x0
+// RELR64-NEXT:          0x20008 R_AARCH64_RELATIVE - 0x0
+// RELR64-NEXT:          0x20010 R_AARCH64_RELATIVE - 0x0
+// RELR64-NEXT:          0x20018 R_AARCH64_RELATIVE - 0x0
+// RELR64-NEXT:          0x20020 R_AARCH64_RELATIVE - 0x0
+// RELR64-NEXT:          0x20028 R_AARCH64_RELATIVE - 0x0
+// RELR64-NEXT:          0x20030 R_AARCH64_RELATIVE - 0x0
+// RELR64-NEXT:          0x20038 R_AARCH64_RELATIVE - 0x0
+
+// RELR64-NEXT:          0x20048 R_AARCH64_RELATIVE - 0x0
+// RELR64-NEXT:          0x20050 R_AARCH64_RELATIVE - 0x0
+// RELR64-NEXT:          0x20058 R_AARCH64_RELATIVE - 0x0
+// RELR64-NEXT:          0x20060 R_AARCH64_RELATIVE - 0x0
+// RELR64-NEXT:          0x20068 R_AARCH64_RELATIVE - 0x0
+// RELR64-NEXT:          0x20070 R_AARCH64_RELATIVE - 0x0
+// RELR64-NEXT:          0x20078 R_AARCH64_RELATIVE - 0x0
+
+// RELR64-NEXT:          0x20088 R_AARCH64_RELATIVE - 0x0
+// RELR64-NEXT:          0x20090 R_AARCH64_RELATIVE - 0x0
+// RELR64-NEXT:          0x20098 R_AARCH64_RELATIVE - 0x0
+// RELR64-NEXT:          0x200A0 R_AARCH64_RELATIVE - 0x0
+// RELR64-NEXT:          0x200A8 R_AARCH64_RELATIVE - 0x0
+// RELR64-NEXT:          0x200B0 R_AARCH64_RELATIVE - 0x0
+// RELR64-NEXT:          0x200B8 R_AARCH64_RELATIVE - 0x0
+// RELR64-NEXT:          0x200C0 R_AARCH64_RELATIVE - 0x0
+// RELR64-NEXT:          0x200C8 R_AARCH64_RELATIVE - 0x0
 // RELR64-NEXT:          }
 
 .data

Modified: lld/trunk/test/ELF/pack-dyn-relocs2.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/pack-dyn-relocs2.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/pack-dyn-relocs2.s (original)
+++ lld/trunk/test/ELF/pack-dyn-relocs2.s Wed Mar 13 20:47:45 2019
@@ -8,40 +8,40 @@
 // RUN: llvm-readobj -relocations %t.exe | FileCheck %s
 
 // CHECK:      Section (5) .relr.dyn {
-// CHECK-NEXT:   0x1000 R_ARM_RELATIVE - 0x0
-// CHECK-NEXT:   0x1004 R_ARM_RELATIVE - 0x0
-// CHECK-NEXT:   0x1008 R_ARM_RELATIVE - 0x0
-// CHECK-NEXT:   0x100C R_ARM_RELATIVE - 0x0
-// CHECK-NEXT:   0x1010 R_ARM_RELATIVE - 0x0
-// CHECK-NEXT:   0x1014 R_ARM_RELATIVE - 0x0
-// CHECK-NEXT:   0x1018 R_ARM_RELATIVE - 0x0
-// CHECK-NEXT:   0x101C R_ARM_RELATIVE - 0x0
-// CHECK-NEXT:   0x1020 R_ARM_RELATIVE - 0x0
-// CHECK-NEXT:   0x1024 R_ARM_RELATIVE - 0x0
-// CHECK-NEXT:   0x1028 R_ARM_RELATIVE - 0x0
-// CHECK-NEXT:   0x102C R_ARM_RELATIVE - 0x0
-// CHECK-NEXT:   0x1030 R_ARM_RELATIVE - 0x0
-// CHECK-NEXT:   0x1034 R_ARM_RELATIVE - 0x0
-// CHECK-NEXT:   0x1038 R_ARM_RELATIVE - 0x0
-// CHECK-NEXT:   0x103C R_ARM_RELATIVE - 0x0
-// CHECK-NEXT:   0x1040 R_ARM_RELATIVE - 0x0
-// CHECK-NEXT:   0x1044 R_ARM_RELATIVE - 0x0
-// CHECK-NEXT:   0x1048 R_ARM_RELATIVE - 0x0
-// CHECK-NEXT:   0x104C R_ARM_RELATIVE - 0x0
-// CHECK-NEXT:   0x1050 R_ARM_RELATIVE - 0x0
-// CHECK-NEXT:   0x1054 R_ARM_RELATIVE - 0x0
-// CHECK-NEXT:   0x1058 R_ARM_RELATIVE - 0x0
-// CHECK-NEXT:   0x105C R_ARM_RELATIVE - 0x0
-// CHECK-NEXT:   0x1060 R_ARM_RELATIVE - 0x0
-// CHECK-NEXT:   0x1064 R_ARM_RELATIVE - 0x0
-// CHECK-NEXT:   0x1068 R_ARM_RELATIVE - 0x0
-// CHECK-NEXT:   0x106C R_ARM_RELATIVE - 0x0
-// CHECK-NEXT:   0x1070 R_ARM_RELATIVE - 0x0
-// CHECK-NEXT:   0x1074 R_ARM_RELATIVE - 0x0
-// CHECK-NEXT:   0x1078 R_ARM_RELATIVE - 0x0
-// CHECK-NEXT:   0x107C R_ARM_RELATIVE - 0x0
-// CHECK-NEXT:   0x1080 R_ARM_RELATIVE - 0x0
-// CHECK-NEXT:   0x1084 R_ARM_RELATIVE - 0x0
+// CHECK-NEXT:   0x2000 R_ARM_RELATIVE - 0x0
+// CHECK-NEXT:   0x2004 R_ARM_RELATIVE - 0x0
+// CHECK-NEXT:   0x2008 R_ARM_RELATIVE - 0x0
+// CHECK-NEXT:   0x200C R_ARM_RELATIVE - 0x0
+// CHECK-NEXT:   0x2010 R_ARM_RELATIVE - 0x0
+// CHECK-NEXT:   0x2014 R_ARM_RELATIVE - 0x0
+// CHECK-NEXT:   0x2018 R_ARM_RELATIVE - 0x0
+// CHECK-NEXT:   0x201C R_ARM_RELATIVE - 0x0
+// CHECK-NEXT:   0x2020 R_ARM_RELATIVE - 0x0
+// CHECK-NEXT:   0x2024 R_ARM_RELATIVE - 0x0
+// CHECK-NEXT:   0x2028 R_ARM_RELATIVE - 0x0
+// CHECK-NEXT:   0x202C R_ARM_RELATIVE - 0x0
+// CHECK-NEXT:   0x2030 R_ARM_RELATIVE - 0x0
+// CHECK-NEXT:   0x2034 R_ARM_RELATIVE - 0x0
+// CHECK-NEXT:   0x2038 R_ARM_RELATIVE - 0x0
+// CHECK-NEXT:   0x203C R_ARM_RELATIVE - 0x0
+// CHECK-NEXT:   0x2040 R_ARM_RELATIVE - 0x0
+// CHECK-NEXT:   0x2044 R_ARM_RELATIVE - 0x0
+// CHECK-NEXT:   0x2048 R_ARM_RELATIVE - 0x0
+// CHECK-NEXT:   0x204C R_ARM_RELATIVE - 0x0
+// CHECK-NEXT:   0x2050 R_ARM_RELATIVE - 0x0
+// CHECK-NEXT:   0x2054 R_ARM_RELATIVE - 0x0
+// CHECK-NEXT:   0x2058 R_ARM_RELATIVE - 0x0
+// CHECK-NEXT:   0x205C R_ARM_RELATIVE - 0x0
+// CHECK-NEXT:   0x2060 R_ARM_RELATIVE - 0x0
+// CHECK-NEXT:   0x2064 R_ARM_RELATIVE - 0x0
+// CHECK-NEXT:   0x2068 R_ARM_RELATIVE - 0x0
+// CHECK-NEXT:   0x206C R_ARM_RELATIVE - 0x0
+// CHECK-NEXT:   0x2070 R_ARM_RELATIVE - 0x0
+// CHECK-NEXT:   0x2074 R_ARM_RELATIVE - 0x0
+// CHECK-NEXT:   0x2078 R_ARM_RELATIVE - 0x0
+// CHECK-NEXT:   0x207C R_ARM_RELATIVE - 0x0
+// CHECK-NEXT:   0x2080 R_ARM_RELATIVE - 0x0
+// CHECK-NEXT:   0x2084 R_ARM_RELATIVE - 0x0
 // CHECK-NEXT: }
 
 // RUN: llvm-readobj -s -dynamic-table %t.exe | FileCheck --check-prefix=HEADER %s

Modified: lld/trunk/test/ELF/plt-aarch64.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/plt-aarch64.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/plt-aarch64.s (original)
+++ lld/trunk/test/ELF/plt-aarch64.s Wed Mar 13 20:47:45 2019
@@ -30,7 +30,7 @@
 // CHECKDSO-NEXT:       SHF_ALLOC
 // CHECKDSO-NEXT:       SHF_WRITE
 // CHECKDSO-NEXT:     ]
-// CHECKDSO-NEXT:     Address: 0x20000
+// CHECKDSO-NEXT:     Address: 0x30000
 // CHECKDSO-NEXT:     Offset:
 // CHECKDSO-NEXT:     Size: 48
 // CHECKDSO-NEXT:     Link:
@@ -40,23 +40,23 @@
 // CHECKDSO: Relocations [
 // CHECKDSO-NEXT:   Section ({{.*}}) .rela.plt {
 
-// &(.got.plt[3]) = 0x20000 + 3 * 8 = 0x30018
-// CHECKDSO-NEXT:     0x20018 R_AARCH64_JUMP_SLOT foo
+// &(.got.plt[3]) = 0x30000 + 3 * 8 = 0x30018
+// CHECKDSO-NEXT:     0x30018 R_AARCH64_JUMP_SLOT foo
 
-// &(.got.plt[4]) = 0x20000 + 4 * 8 = 0x30020
-// CHECKDSO-NEXT:     0x20020 R_AARCH64_JUMP_SLOT bar
+// &(.got.plt[4]) = 0x30000 + 4 * 8 = 0x30020
+// CHECKDSO-NEXT:     0x30020 R_AARCH64_JUMP_SLOT bar
 
-// &(.got.plt[5]) = 0x20000 + 5 * 8 = 0x30028
-// CHECKDSO-NEXT:     0x20028 R_AARCH64_JUMP_SLOT weak
+// &(.got.plt[5]) = 0x30000 + 5 * 8 = 0x30028
+// CHECKDSO-NEXT:     0x30028 R_AARCH64_JUMP_SLOT weak
 // CHECKDSO-NEXT:   }
 // CHECKDSO-NEXT: ]
 
 // DUMPDSO: Contents of section .got.plt:
 // .got.plt[0..2] = 0 (reserved)
 // .got.plt[3..5] = .plt = 0x10010
-// DUMPDSO-NEXT: 20000 00000000 00000000 00000000 00000000  ................
-// DUMPDSO-NEXT: 20010 00000000 00000000 10000100 00000000  ................
-// DUMPDSO-NEXT: 20020 10000100 00000000 10000100 00000000  ................
+// DUMPDSO-NEXT: 30000 00000000 00000000 00000000 00000000  ................
+// DUMPDSO-NEXT: 30010 00000000 00000000 10000100 00000000  ................
+// DUMPDSO-NEXT: 30020 10000100 00000000 10000100 00000000  ................
 
 // DISASMDSO: _start:
 // 0x10030 - 0x10000 = 0x30 = 48
@@ -73,8 +73,8 @@
 // DISASMDSO-NEXT: .plt:
 // DISASMDSO-NEXT:     10010:	f0 7b bf a9 	stp	x16, x30, [sp, #-16]!
 // &(.got.plt[2]) = 0x3000 + 2 * 8 = 0x3010
-// Page(0x20010) - Page(0x10014) = 0x20000 - 0x10000 = 0x10000 = 65536
-// DISASMDSO-NEXT:     10014:	90 00 00 90 	adrp	x16, #65536
+// Page(0x30010) - Page(0x10014) = 0x30000 - 0x10000 = 0x20000 = 131072
+// DISASMDSO-NEXT:     10014:	10 01 00 90 	adrp	x16, #131072
 // 0x3010 & 0xFFF = 0x10 = 16
 // DISASMDSO-NEXT:     10018:	11 0a 40 f9 ldr x17, [x16, #16]
 // DISASMDSO-NEXT:     1001c:	10 42 00 91 	add	x16, x16, #16
@@ -84,30 +84,30 @@
 // DISASMDSO-NEXT:     1002c:	1f 20 03 d5 	nop
 
 // foo at plt
-// Page(0x30018) - Page(0x10030) = 0x20000 - 0x10000 = 0x10000 = 65536
+// Page(0x30018) - Page(0x10030) = 0x30000 - 0x10000 = 0x20000 = 131072
 // DISASMDSO-EMPTY:
 // DISASMDSO-NEXT:   foo at plt:
-// DISASMDSO-NEXT:     10030:	90 00 00 90 	adrp	x16, #65536
+// DISASMDSO-NEXT:     10030:	10 01 00 90 	adrp	x16, #131072
 // 0x3018 & 0xFFF = 0x18 = 24
 // DISASMDSO-NEXT:     10034:	11 0e 40 f9 	ldr	x17, [x16, #24]
 // DISASMDSO-NEXT:     10038:	10 62 00 91 	add	x16, x16, #24
 // DISASMDSO-NEXT:     1003c:	20 02 1f d6 	br	x17
 
 // bar at plt
-// Page(0x30020) - Page(0x10040) = 0x20000 - 0x10000 = 0x10000 = 65536
+// Page(0x30020) - Page(0x10040) = 0x30000 - 0x10000 = 0x20000 = 131072
 // DISASMDSO-EMPTY:
 // DISASMDSO-NEXT:   bar at plt:
-// DISASMDSO-NEXT:     10040:	90 00 00 90 	adrp	x16, #65536
+// DISASMDSO-NEXT:     10040:	10 01 00 90 	adrp	x16, #131072
 // 0x3020 & 0xFFF = 0x20 = 32
 // DISASMDSO-NEXT:     10044:	11 12 40 f9 	ldr	x17, [x16, #32]
 // DISASMDSO-NEXT:     10048:	10 82 00 91 	add	x16, x16, #32
 // DISASMDSO-NEXT:     1004c:	20 02 1f d6 	br	x17
 
 // weak at plt
-// Page(0x30028) - Page(0x10050) = 0x20000 - 0x10000 = 0x10000 = 65536
+// Page(0x30028) - Page(0x10050) = 0x30000 - 0x10000 = 0x20000 = 131072
 // DISASMDSO-EMPTY:
 // DISASMDSO-NEXT:   weak at plt:
-// DISASMDSO-NEXT:     10050:	90 00 00 90 	adrp	x16, #65536
+// DISASMDSO-NEXT:     10050:	10 01 00 90 	adrp	x16, #131072
 // 0x3028 & 0xFFF = 0x28 = 40
 // DISASMDSO-NEXT:     10054:	11 16 40 f9 	ldr	x17, [x16, #40]
 // DISASMDSO-NEXT:     10058:	10 a2 00 91 	add	x16, x16, #40
@@ -132,7 +132,7 @@
 // CHECKEXE-NEXT:       SHF_ALLOC
 // CHECKEXE-NEXT:       SHF_WRITE
 // CHECKEXE-NEXT:     ]
-// CHECKEXE-NEXT:     Address: 0x220000
+// CHECKEXE-NEXT:     Address: 0x230000
 // CHECKEXE-NEXT:     Offset:
 // CHECKEXE-NEXT:     Size: 40
 // CHECKEXE-NEXT:     Link:
@@ -142,20 +142,20 @@
 // CHECKEXE: Relocations [
 // CHECKEXE-NEXT:   Section ({{.*}}) .rela.plt {
 
-// &(.got.plt[3]) = 0x220000 + 3 * 8 = 0x220018
-// CHECKEXE-NEXT:     0x220018 R_AARCH64_JUMP_SLOT bar 0x0
+// &(.got.plt[3]) = 0x230000 + 3 * 8 = 0x230018
+// CHECKEXE-NEXT:     0x230018 R_AARCH64_JUMP_SLOT bar 0x0
 
-// &(.got.plt[4]) = 0x220000 + 4 * 8 = 0x220020
-// CHECKEXE-NEXT:     0x220020 R_AARCH64_JUMP_SLOT weak 0x0
+// &(.got.plt[4]) = 0x230000 + 4 * 8 = 0x230020
+// CHECKEXE-NEXT:     0x230020 R_AARCH64_JUMP_SLOT weak 0x0
 // CHECKEXE-NEXT:   }
 // CHECKEXE-NEXT: ]
 
 // DUMPEXE: Contents of section .got.plt:
 // .got.plt[0..2] = 0 (reserved)
 // .got.plt[3..4] = .plt = 0x40010
-// DUMPEXE-NEXT:  220000 00000000 00000000 00000000 00000000
-// DUMPEXE-NEXT:  220010 00000000 00000000 10002100 00000000
-// DUMPEXE-NEXT:  220020 10002100 00000000
+// DUMPEXE-NEXT:  230000 00000000 00000000 00000000 00000000
+// DUMPEXE-NEXT:  230010 00000000 00000000 10002100 00000000
+// DUMPEXE-NEXT:  230020 10002100 00000000
 
 // DISASMEXE: _start:
 // 0x21000c - 0x210000 = 0xc = 12
@@ -172,8 +172,8 @@
 // DISASMEXE-NEXT: .plt:
 // DISASMEXE-NEXT:    210010:	f0 7b bf a9 	stp	x16, x30, [sp, #-16]!
 // &(.got.plt[2]) = 0x2200B0 + 2 * 8 = 0x2200C0
-// Page(0x220010) - Page(0x210014) = 0x220000 - 0x210000 = 0x10000 = 65536
-// DISASMEXE-NEXT:    210014:	90 00 00 90  	adrp	x16, #65536
+// Page(0x230010) - Page(0x210014) = 0x230000 - 0x210000 = 0x20000 = 131072
+// DISASMEXE-NEXT:    210014:	10 01 00 90  	adrp	x16, #131072
 // 0x120c0 & 0xFFF = 0xC0 = 192
 // DISASMEXE-NEXT:    210018:	11 0a 40 f9 	ldr	x17, [x16, #16]
 // DISASMEXE-NEXT:    21001c:	10 42 00 91 	add	x16, x16, #16
@@ -183,19 +183,19 @@
 // DISASMEXE-NEXT:    21002c:	1f 20 03 d5 	nop
 
 // bar at plt
-// Page(0x40018) - Page(0x210030) = 0x220000 - 0x210000 = 0x10000 = 65536
+// Page(0x230018) - Page(0x210030) = 0x230000 - 0x210000 = 0x20000 = 131072
 // DISASMEXE-EMPTY:
 // DISASMEXE-NEXT:   bar at plt:
-// DISASMEXE-NEXT:    210030:	90 00 00 90 	adrp	x16, #65536
+// DISASMEXE-NEXT:    210030:	10 01 00 90 	adrp	x16, #131072
 // DISASMEXE-NEXT:    210034:	11 0e 40 f9 	ldr	x17, [x16, #24]
 // DISASMEXE-NEXT:    210038:	10 62 00 91 	add	x16, x16, #24
 // DISASMEXE-NEXT:    21003c:	20 02 1f d6 	br	x17
 
 // weak at plt
-// Page(0x40020) - Page(0x210040) = 0x220000 - 0x210000 = 0x10000 = 65536
+// Page(0x230020) - Page(0x210040) = 0x230000 - 0x210000 = 0x20000 = 131072
 // DISASMEXE-EMPTY:
 // DISASMEXE-NEXT:   weak at plt:
-// DISASMEXE-NEXT:    210040:	90 00 00 90 	adrp	x16, #65536
+// DISASMEXE-NEXT:    210040:	10 01 00 90 	adrp	x16, #131072
 // DISASMEXE-NEXT:    210044:	11 12 40 f9 	ldr	x17, [x16, #32]
 // DISASMEXE-NEXT:    210048:	10 82 00 91 	add	x16, x16, #32
 // DISASMEXE-NEXT:    21004c:	20 02 1f d6 	br	x17

Modified: lld/trunk/test/ELF/plt-i686.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/plt-i686.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/plt-i686.s (original)
+++ lld/trunk/test/ELF/plt-i686.s Wed Mar 13 20:47:45 2019
@@ -30,8 +30,8 @@
 // CHECK-NEXT:   SHF_ALLOC
 // CHECK-NEXT:   SHF_WRITE
 // CHECK-NEXT: ]
-// CHECK-NEXT: Address: 0x402000
-// CHECK-NEXT: Offset: 0x2000
+// CHECK-NEXT: Address: 0x403000
+// CHECK-NEXT: Offset: 0x3000
 // CHECK-NEXT: Size: 20
 // CHECK-NEXT: Link: 0
 // CHECK-NEXT: Info: 0
@@ -42,8 +42,8 @@
 // 0x12000 + got.plt.reserved(12) + 4 = 0x12010
 // CHECK:      Relocations [
 // CHECK-NEXT:   Section ({{.*}}) .rel.plt {
-// CHECK-NEXT:     0x40200C R_386_JUMP_SLOT bar 0x0
-// CHECK-NEXT:     0x402010 R_386_JUMP_SLOT zed 0x0
+// CHECK-NEXT:     0x40300C R_386_JUMP_SLOT bar 0x0
+// CHECK-NEXT:     0x403010 R_386_JUMP_SLOT zed 0x0
 // CHECK-NEXT:   }
 // CHECK-NEXT: ]
 
@@ -67,26 +67,26 @@
 
 // 0x401010 - 0x40102b - 5 = -32
 // 0x401010 - 0x40103b - 5 = -48
-// 4202500 = 0x402004 = .got.plt (0x402000) + 4
-// 4202504 = 0x402008 = .got.plt (0x402000) + 8
-// 4202508 = 0x40200C = .got.plt (0x402000) + got.plt.reserved(12)
-// 4202512 = 0x402010 = .got.plt (0x402000) + got.plt.reserved(12) + 4
+// 4206596 = 0x403004 = .got.plt (0x403000) + 4
+// 4206600 = 0x403008 = .got.plt (0x403000) + 8
+// 4206604 = 0x40300C = .got.plt (0x403000) + got.plt.reserved(12)
+// 4206608 = 0x403010 = .got.plt (0x403000) + got.plt.reserved(12) + 4
 // DISASM:      Disassembly of section .plt:
 // DISASM-NEXT: .plt:
-// DISASM-NEXT:    401020: ff 35 04 20 40 00 pushl 4202500
-// DISASM-NEXT:    401026: ff 25 08 20 40 00 jmpl *4202504
+// DISASM-NEXT:    401020: ff 35 04 30 40 00 pushl 4206596
+// DISASM-NEXT:    401026: ff 25 08 30 40 00 jmpl *4206600
 // DISASM-NEXT:    40102c: 90 nop
 // DISASM-NEXT:    40102d: 90 nop
 // DISASM-NEXT:    40102e: 90 nop
 // DISASM-NEXT:    40102f: 90 nop
 // DISASM-EMPTY:
 // DISASM-NEXT:   bar at plt:
-// DISASM-NEXT:    401030: ff 25 0c 20 40 00 jmpl *4202508
+// DISASM-NEXT:    401030: ff 25 0c 30 40 00 jmpl *4206604
 // DISASM-NEXT:    401036: 68 00 00 00 00 pushl $0
 // DISASM-NEXT:    40103b: e9 e0 ff ff ff jmp -32 <.plt>
 // DISASM-EMPTY:
 // DISASM-NEXT:   zed at plt:
-// DISASM-NEXT:    401040: ff 25 10 20 40 00 jmpl *4202512
+// DISASM-NEXT:    401040: ff 25 10 30 40 00 jmpl *4206608
 // DISASM-NEXT:    401046: 68 08 00 00 00 pushl $8
 // DISASM-NEXT:    40104b: e9 d0 ff ff ff jmp -48 <.plt>
 
@@ -110,8 +110,8 @@
 // CHECKSHARED-NEXT:     SHF_ALLOC
 // CHECKSHARED-NEXT:     SHF_WRITE
 // CHECKSHARED-NEXT:   ]
-// CHECKSHARED-NEXT:   Address: 0x2000
-// CHECKSHARED-NEXT:   Offset: 0x2000
+// CHECKSHARED-NEXT:   Address: 0x3000
+// CHECKSHARED-NEXT:   Offset: 0x3000
 // CHECKSHARED-NEXT:   Size: 20
 // CHECKSHARED-NEXT:   Link: 0
 // CHECKSHARED-NEXT:   Info: 0
@@ -119,12 +119,12 @@
 // CHECKSHARED-NEXT:   EntrySize: 0
 // CHECKSHARED-NEXT:   }
 
-// 0x2000 + got.plt.reserved(12) = 0x200C
-// 0x2000 + got.plt.reserved(12) + 4 = 0x2010
+// 0x3000 + got.plt.reserved(12) = 0x300C
+// 0x3000 + got.plt.reserved(12) + 4 = 0x3010
 // CHECKSHARED:        Relocations [
 // CHECKSHARED-NEXT:     Section ({{.*}}) .rel.plt {
-// CHECKSHARED-NEXT:       0x200C R_386_JUMP_SLOT bar 0x0
-// CHECKSHARED-NEXT:       0x2010 R_386_JUMP_SLOT zed 0x0
+// CHECKSHARED-NEXT:       0x300C R_386_JUMP_SLOT bar 0x0
+// CHECKSHARED-NEXT:       0x3010 R_386_JUMP_SLOT zed 0x0
 // CHECKSHARED-NEXT:     }
 // CHECKSHARED-NEXT:   ]
 
@@ -139,31 +139,31 @@
 // DISASMSHARED-NEXT:  1013: e9 e8 ff ff ff jmp -24
 // DISASMSHARED-NEXT:  Disassembly of section .plt:
 // DISASMSHARED-NEXT:  .plt:
-// DISASMSHARED-NEXT:  1020: ff b3 04 20 00 00 pushl 8196(%ebx)
-// DISASMSHARED-NEXT:  1026: ff a3 08 20 00 00 jmpl *8200(%ebx)
+// DISASMSHARED-NEXT:  1020: ff b3 04 30 00 00 pushl 12292(%ebx)
+// DISASMSHARED-NEXT:  1026: ff a3 08 30 00 00 jmpl *12296(%ebx)
 // DISASMSHARED-NEXT:  102c: 90 nop
 // DISASMSHARED-NEXT:  102d: 90 nop
 // DISASMSHARED-NEXT:  102e: 90 nop
 // DISASMSHARED-NEXT:  102f: 90 nop
-// DISASMSHARED-NEXT:  1030: ff a3 0c 20 00 00 jmpl *8204(%ebx)
+// DISASMSHARED-NEXT:  1030: ff a3 0c 30 00 00 jmpl *12300(%ebx)
 // DISASMSHARED-NEXT:  1036: 68 00 00 00 00     pushl $0
 // DISASMSHARED-NEXT:  103b: e9 e0 ff ff ff     jmp -32 <.plt>
-// DISASMSHARED-NEXT:  1040: ff a3 10 20 00 00 jmpl *8208(%ebx)
+// DISASMSHARED-NEXT:  1040: ff a3 10 30 00 00 jmpl *12304(%ebx)
 // DISASMSHARED-NEXT:  1046: 68 08 00 00 00     pushl $8
 // DISASMSHARED-NEXT:  104b: e9 d0 ff ff ff     jmp -48 <.plt>
 
 // DISASMPIE:      Disassembly of section .plt:
 // DISASMPIE-NEXT: .plt:
-// DISASMPIE-NEXT:   1020:	ff b3 04 20 00 00 pushl 8196(%ebx)
-// DISASMPIE-NEXT:   1026:	ff a3 08 20 00 00 jmpl *8200(%ebx)
+// DISASMPIE-NEXT:   1020:	ff b3 04 30 00 00 pushl 12292(%ebx)
+// DISASMPIE-NEXT:   1026:	ff a3 08 30 00 00 jmpl *12296(%ebx)
 // DISASMPIE-NEXT:   102c:	90 nop
 // DISASMPIE-NEXT:   102d:	90 nop
 // DISASMPIE-NEXT:   102e:	90 nop
 // DISASMPIE-NEXT:   102f:	90 nop
-// DISASMPIE-NEXT:   1030:	ff a3 0c 20 00 00 jmpl *8204(%ebx)
+// DISASMPIE-NEXT:   1030:	ff a3 0c 30 00 00 jmpl *12300(%ebx)
 // DISASMPIE-NEXT:   1036:	68 00 00 00 00 pushl $0
 // DISASMPIE-NEXT:   103b:	e9 e0 ff ff ff jmp -32 <.plt>
-// DISASMPIE-NEXT:   1040:	ff a3 10 20 00 00 jmpl *8208(%ebx)
+// DISASMPIE-NEXT:   1040:	ff a3 10 30 00 00 jmpl *12304(%ebx)
 // DISASMPIE-NEXT:   1046:	68 08 00 00 00 pushl $8
 // DISASMPIE-NEXT:   104b:	e9 d0 ff ff ff jmp -48 <.plt>
 

Modified: lld/trunk/test/ELF/plt.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/plt.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/plt.s (original)
+++ lld/trunk/test/ELF/plt.s Wed Mar 13 20:47:45 2019
@@ -24,9 +24,9 @@
 
 // CHECK:      Relocations [
 // CHECK-NEXT:   Section ({{.*}}) .rela.plt {
-// CHECK-NEXT:     0x2018 R_X86_64_JUMP_SLOT bar 0x0
-// CHECK-NEXT:     0x2020 R_X86_64_JUMP_SLOT zed 0x0
-// CHECK-NEXT:     0x2028 R_X86_64_JUMP_SLOT _start 0x0
+// CHECK-NEXT:     0x3018 R_X86_64_JUMP_SLOT bar 0x0
+// CHECK-NEXT:     0x3020 R_X86_64_JUMP_SLOT zed 0x0
+// CHECK-NEXT:     0x3028 R_X86_64_JUMP_SLOT _start 0x0
 // CHECK-NEXT:   }
 // CHECK-NEXT: ]
 
@@ -45,8 +45,8 @@
 
 // CHECK2:      Relocations [
 // CHECK2-NEXT:   Section ({{.*}}) .rela.plt {
-// CHECK2-NEXT:     0x202018 R_X86_64_JUMP_SLOT bar 0x0
-// CHECK2-NEXT:     0x202020 R_X86_64_JUMP_SLOT zed 0x0
+// CHECK2-NEXT:     0x203018 R_X86_64_JUMP_SLOT bar 0x0
+// CHECK2-NEXT:     0x203020 R_X86_64_JUMP_SLOT zed 0x0
 // CHECK2-NEXT:   }
 // CHECK2-NEXT: ]
 
@@ -64,28 +64,28 @@
 // DISASM-NEXT:   100a:  e9 {{.*}}       jmp  49
 // DISASM-NEXT:   100f:  e9 {{.*}}       jmp  60
 
-// 0x2018 - 0x1036  = 4066
-// 0x2020 - 0x1046  = 4058
-// 0x2028 - 0x1056  = 4050
+// 0x3018 - 0x1036  = 8162
+// 0x3020 - 0x1046  = 8154
+// 0x3028 - 0x1056  = 8146
 
 // DISASM:      Disassembly of section .plt:
 // DISASM-NEXT: .plt:
-// DISASM-NEXT:   1020:  ff 35 e2 0f 00 00  pushq 4066(%rip)
-// DISASM-NEXT:   1026:  ff 25 e4 0f 00 00  jmpq *4068(%rip)
+// DISASM-NEXT:   1020:  ff 35 e2 1f 00 00  pushq 8162(%rip)
+// DISASM-NEXT:   1026:  ff 25 e4 1f 00 00  jmpq *8164(%rip)
 // DISASM-NEXT:   102c:  0f 1f 40 00        nopl (%rax)
 // DISASM-EMPTY:
 // DISASM-NEXT:   bar at plt:
-// DISASM-NEXT:   1030:  ff 25 e2 0f 00 00  jmpq *4066(%rip)
+// DISASM-NEXT:   1030:  ff 25 e2 1f 00 00  jmpq *8162(%rip)
 // DISASM-NEXT:   1036:  68 00 00 00 00     pushq $0
 // DISASM-NEXT:   103b:  e9 e0 ff ff ff     jmp -32 <.plt>
 // DISASM-EMPTY:
 // DISASM-NEXT:   zed at plt:
-// DISASM-NEXT:   1040:  ff 25 da 0f 00 00  jmpq *4058(%rip)
+// DISASM-NEXT:   1040:  ff 25 da 1f 00 00  jmpq *8154(%rip)
 // DISASM-NEXT:   1046:  68 01 00 00 00     pushq $1
 // DISASM-NEXT:   104b:  e9 d0 ff ff ff     jmp -48 <.plt>
 // DISASM-EMPTY:
 // DISASM-NEXT:   _start at plt:
-// DISASM-NEXT:   1050:  ff 25 d2 0f 00 00  jmpq *4050(%rip)
+// DISASM-NEXT:   1050:  ff 25 d2 1f 00 00  jmpq *8146(%rip)
 // DISASM-NEXT:   1056:  68 02 00 00 00     pushq $2
 // DISASM-NEXT:   105b:  e9 c0 ff ff ff     jmp -64 <.plt>
 
@@ -105,17 +105,17 @@
 
 // DISASM2:      Disassembly of section .plt:
 // DISASM2-NEXT: .plt:
-// DISASM2-NEXT:  201020:  ff 35 e2 0f 00 00   pushq 4066(%rip)
-// DISASM2-NEXT:  201026:  ff 25 e4 0f 00 00   jmpq *4068(%rip)
+// DISASM2-NEXT:  201020:  ff 35 e2 1f 00 00   pushq 8162(%rip)
+// DISASM2-NEXT:  201026:  ff 25 e4 1f 00 00   jmpq *8164(%rip)
 // DISASM2-NEXT:  20102c:  0f 1f 40 00         nopl  (%rax)
 // DISASM2-EMPTY:
 // DISASM2-NEXT:   bar at plt:
-// DISASM2-NEXT:  201030:  ff 25 e2 0f 00 00   jmpq *4066(%rip)
+// DISASM2-NEXT:  201030:  ff 25 e2 1f 00 00   jmpq *8162(%rip)
 // DISASM2-NEXT:  201036:  68 00 00 00 00      pushq $0
 // DISASM2-NEXT:  20103b:  e9 e0 ff ff ff      jmp -32 <.plt>
 // DISASM2-EMPTY:
 // DISASM2-NEXT:   zed at plt:
-// DISASM2-NEXT:  201040:  ff 25 da 0f 00 00   jmpq *4058(%rip)
+// DISASM2-NEXT:  201040:  ff 25 da 1f 00 00   jmpq *8154(%rip)
 // DISASM2-NEXT:  201046:  68 01 00 00 00      pushq $1
 // DISASM2-NEXT:  20104b:  e9 d0 ff ff ff      jmp -48 <.plt>
 // DISASM2-NOT:   2010C0

Modified: lld/trunk/test/ELF/ppc-rela.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/ppc-rela.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/ppc-rela.s (original)
+++ lld/trunk/test/ELF/ppc-rela.s Wed Mar 13 20:47:45 2019
@@ -7,5 +7,5 @@
   .long foo
 
 // CHECK:      Section ({{.*}}) .rela.dyn {
-// CHECK-NEXT:   0x1000 R_PPC_ADDR32 foo 0x0
+// CHECK-NEXT:   0x2000 R_PPC_ADDR32 foo 0x0
 // CHECK-NEXT: }

Modified: lld/trunk/test/ELF/ppc64-call-reach.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/ppc64-call-reach.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/ppc64-call-reach.s (original)
+++ lld/trunk/test/ELF/ppc64-call-reach.s Wed Mar 13 20:47:45 2019
@@ -67,14 +67,14 @@ test:
 
 # .branch_lt[0]
 # THUNK-LABEL: __long_branch_callee:
-# THUNK-NEXT: 10010000: {{.*}} addis 12, 2, -1
+# THUNK-NEXT: 10010000: {{.*}} addis 12, 2, 1
 # THUNK-NEXT:                  ld 12, -32768(12)
 # THUNK-NEXT:                  mtctr 12
 # THUNK-NEXT:                  bctr
 
 # .branch_lt[1]
 # THUNK-LABEL: __long_branch_tail_callee:
-# THUNK-NEXT: 10010010: {{.*}} addis 12, 2, -1
+# THUNK-NEXT: 10010010: {{.*}} addis 12, 2, 1
 # THUNK-NEXT:                  ld 12, -32760(12)
 # THUNK-NEXT:                  mtctr 12
 # THUNK-NEXT:                  bctr
@@ -88,7 +88,7 @@ test:
 
 # The offset from the TOC to the .branch_lt section  is (-1 << 16) - 32768.
 #                Name             Type            Address          Off    Size
-# BRANCHLT:     .branch_lt        PROGBITS        0000000010020000 020000 000010
-# BRANCHLT:     .got              PROGBITS        0000000010030000 030000 000008
+# BRANCHLT:     .got              PROGBITS        0000000010020000 020000 000008
+# BRANCHLT:     .branch_lt        PROGBITS        0000000010030000 030000 000010
 # BRANCHLT-NOT: .plt
 

Modified: lld/trunk/test/ELF/ppc64-func-entry-points.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/ppc64-func-entry-points.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/ppc64-func-entry-points.s (original)
+++ lld/trunk/test/ELF/ppc64-func-entry-points.s Wed Mar 13 20:47:45 2019
@@ -73,7 +73,7 @@ glob:
 // CHECK: 10010020:       {{.*}}     bl .+144
 // CHECK: 10010034:       {{.*}}     bl .+84
 // CHECK: foo_external_diff:
-// CHECK-NEXT: 10010080:       {{.*}}     addis 2, 12, 2
+// CHECK-NEXT: 10010080:       {{.*}}     addis 2, 12, 1
 // CHECK-NEXT: 10010084:       {{.*}}     addi 2, 2, 32640
 // CHECK-NEXT: 10010088:       {{.*}}     nop
 // CHECK: foo_external_same:

Modified: lld/trunk/test/ELF/ppc64-got-indirect.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/ppc64-got-indirect.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/ppc64-got-indirect.s (original)
+++ lld/trunk/test/ELF/ppc64-got-indirect.s Wed Mar 13 20:47:45 2019
@@ -81,35 +81,35 @@ glob:
 # r3 = r2 - 32760 = 0x10030008 -> .toc entry for glob.
 
 # CHECK: _start:
-# CHECK-NEXT: 10010000:  {{.*}}   addis 2, 12, 3
+# CHECK-NEXT: 10010000:  {{.*}}   addis 2, 12, 2
 # CHECK-NEXT: 10010004:  {{.*}}   addi 2, 2, -32768
 # CHECK-NEXT: 10010008:  {{.*}}   nop
 # CHECK-NEXT: 1001000c:  {{.*}}   ld 3, -32760(2)
 # CHECK: 1001001c:  {{.*}}   lwa 3, 0(3)
 
-# CHECK-LE: Disassembly of section .data:
-# CHECK-LE-NEXT: glob:
-# CHECK-LE-NEXT: 10020000:       37 00 00 00
-
 # CHECK-LE: Disassembly of section .got:
 # CHECK-LE-NEXT: .got:
-# CHECK-LE-NEXT: 10030000:       00 80 03 10
-# CHECK-LE-NEXT: 10030004:       00 00 00 00
+# CHECK-LE-NEXT: 10020000:       00 80 02 10
+# CHECK-LE-NEXT: 10020004:       00 00 00 00
 
 # Verify that .toc comes right after .got
 # CHECK-LE: Disassembly of section .toc:
-# CHECK-LE: 10030008:       00 00 02 10
+# CHECK-LE: 10020008:       00 00 03 10
 
-# CHECK-BE: Disassembly of section .data:
-# CHECK-BE-NEXT: glob:
-# CHECK-BE-NEXT: 10020000:       00 00 00 37
+# CHECK-LE: Disassembly of section .data:
+# CHECK-LE-NEXT: glob:
+# CHECK-LE-NEXT: 10030000:       37 00 00 00
 
 # CHECK-BE: Disassembly of section .got:
 # CHECK-BE-NEXT: .got:
-# CHECK-BE-NEXT: 10030000:       00 00 00 00
-# CHECK-BE-NEXT: 10030004:       10 03 80 00
+# CHECK-BE-NEXT: 10020000:       00 00 00 00
+# CHECK-BE-NEXT: 10020004:       10 02 80 00
 
 # Verify that .toc comes right after .got
 # CHECK-BE: Disassembly of section .toc:
-# CHECK-BE: 10030008:       00 00 00 00
-# CHECK-BE: 1003000c:       10 02 00 00
+# CHECK-BE: 10020008:       00 00 00 00
+# CHECK-BE: 1002000c:       10 03 00 00
+
+# CHECK-BE: Disassembly of section .data:
+# CHECK-BE-NEXT: glob:
+# CHECK-BE-NEXT: 10030000:       00 00 00 37

Modified: lld/trunk/test/ELF/ppc64-long-branch.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/ppc64-long-branch.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/ppc64-long-branch.s (original)
+++ lld/trunk/test/ELF/ppc64-long-branch.s Wed Mar 13 20:47:45 2019
@@ -6,7 +6,7 @@
 # RUN: ld.lld --no-toc-optimize %t.o %t3.so -o %t
 # RUN: llvm-objdump -d -start-address=0x10010000 -stop-address=0x10010018 %t | FileCheck %s -check-prefix=CALLEE_DUMP
 # RUN: llvm-objdump -d -start-address=0x12010020 -stop-address=0x12010084 %t | FileCheck %s -check-prefix=CALLER_DUMP
-# RUN: llvm-objdump -D -start-address=0x12020008 -stop-address=0x12020010 %t | FileCheck %s -check-prefix=BRANCH_LT_LE
+# RUN: llvm-objdump -D -start-address=0x12030008 -stop-address=0x12030010 %t | FileCheck %s -check-prefix=BRANCH_LT_LE
 # RUN: llvm-readelf --sections %t | FileCheck %s -check-prefix=SECTIONS
 
 # RUN: llvm-mc -filetype=obj -triple=powerpc64-unknown-linux %s -o %t.o
@@ -15,7 +15,7 @@
 # RUN: ld.lld --no-toc-optimize %t.o %t3.so -o %t
 # RUN: llvm-objdump -d -start-address=0x10010000 -stop-address=0x10010018 %t | FileCheck %s -check-prefix=CALLEE_DUMP
 # RUN: llvm-objdump -d -start-address=0x12010020 -stop-address=0x12010084 %t | FileCheck %s -check-prefix=CALLER_DUMP
-# RUN: llvm-objdump -D -start-address=0x12020008 -stop-address=0x12020010 %t | FileCheck %s -check-prefix=BRANCH_LT_BE
+# RUN: llvm-objdump -D -start-address=0x12030008 -stop-address=0x12030010 %t | FileCheck %s -check-prefix=BRANCH_LT_BE
 # RUN: llvm-readelf --sections %t | FileCheck %s -check-prefix=SECTIONS
 
         .text
@@ -89,33 +89,33 @@ b:
 
 # Verify address of the callee
 # CALLEE_DUMP: callee:
-# CALLEE_DUMP:   10010000:  {{.*}}  addis 2, 12, 515
+# CALLEE_DUMP:   10010000:  {{.*}}  addis 2, 12, 514
 # CALLEE_DUMP:   10010004:  {{.*}}  addi 2, 2, -32544
 # CALLEE_DUMP:   10010008:  {{.*}}  addis 4, 2, 0
 
 # Verify the address of _start, and the call to the long-branch thunk.
 # CALLER_DUMP: _start:
-# CALLER_DUMP:   12010020:  {{.*}}  addis 2, 12, 3
+# CALLER_DUMP:   12010020:  {{.*}}  addis 2, 12, 2
 # CALLER_DUMP:   12010038:  {{.*}}  bl .+56
 
 # Verify the thunks contents: TOC-pointer + offset = .branch_lt[0]
 #                             0x120380e8  + (-2 << 16 + 32552) = 0x12020008
 # CALLER_DUMP: __long_branch_callee:
-# CALLER_DUMP:   12010060:  {{.*}}  addis 12, 2, -2
+# CALLER_DUMP:   12010060:  {{.*}}  addis 12, 2, 0
 # CALLER_DUMP:   12010064:  {{.*}}  ld 12, 32552(12)
 # CALLER_DUMP:   12010068:  {{.*}}  mtctr 12
 # CALLER_DUMP:   1201006c:  {{.*}}  bctr
 
 # BRANCH_LT_LE:     Disassembly of section .branch_lt:
 # BRANCH_LT_LE-NEXT:  .branch_lt:
-# BRANCH_LT_LE-NEXT:  12020008:   08 00 01 10
-# BRANCH_LT_LE-NEXT:  1202000c:   00 00 00 00
+# BRANCH_LT_LE-NEXT:  12030008:   08 00 01 10
+# BRANCH_LT_LE-NEXT:  1203000c:   00 00 00 00
 
 # BRANCH_LT_BE:     Disassembly of section .branch_lt:
 # BRANCH_LT_BE-NEXT:  .branch_lt:
-# BRANCH_LT_BE-NEXT:  12020008:   00 00 00 00
-# BRANCH_LT_BE-NEXT:  1202000c:   10 01 00 08
+# BRANCH_LT_BE-NEXT:  12030008:   00 00 00 00
+# BRANCH_LT_BE-NEXT:  1203000c:   10 01 00 08
 
 #            [Nr] Name        Type            Address          Off     Size
-# SECTIONS:  [ 9] .branch_lt  PROGBITS        0000000012020008 2020008 000008
-# SECTIONS:  [11] .got        PROGBITS        00000000120300e0 20300e0 000008
+# SECTIONS:  [ 9] .got        PROGBITS        00000000120200e0 20200e0 000008
+# SECTIONS:  [12] .branch_lt  PROGBITS        0000000012030008 2030008 000008

Modified: lld/trunk/test/ELF/ppc64-shared-long_branch.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/ppc64-shared-long_branch.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/ppc64-shared-long_branch.s (original)
+++ lld/trunk/test/ELF/ppc64-shared-long_branch.s Wed Mar 13 20:47:45 2019
@@ -83,32 +83,32 @@ b:
 
 # Verify address of the callee
 # CALLEE_DUMP: callee:
-# CALLEE_DUMP:   10000:  {{.*}}  addis 2, 12, 515
+# CALLEE_DUMP:   10000:  {{.*}}  addis 2, 12, 514
 # CALLEE_DUMP:   10004:  {{.*}}  addi 2, 2, -32528
 # CALLEE_DUMP:   10008:  {{.*}}  addis 4, 2, 0
 
 # Verify the address of _start, and the call to the long-branch thunk.
 # CALLER_DUMP: _start:
-# CALLER_DUMP:   2010020:  {{.*}}  addis 2, 12, 3
+# CALLER_DUMP:   2010020:  {{.*}}  addis 2, 12, 2
 # CALLER_DUMP:   2010038:  {{.*}}  bl .+56
 
 # Verify the thunks contents: TOC-pointer + offset = .branch_lt[0]
-#                             0x20380F0   + 32552  = 0x2040018
+#                             0x20280F0   + 32560  = 0x2030020
 # CALLER_DUMP: __long_branch_callee:
 # CALLER_DUMP:   2010060:  {{.*}}  addis 12, 2, 0
-# CALLER_DUMP:   2010064:  {{.*}}  ld 12, 32552(12)
+# CALLER_DUMP:   2010064:  {{.*}}  ld 12, 32560(12)
 # CALLER_DUMP:   2010068:  {{.*}}  mtctr 12
 # CALLER_DUMP:   201006c:  {{.*}}  bctr
 
 # .got section is at address 0x20300f0 so TOC pointer points to 0x20400F0.
 # .plt section has a 2 entry header and a single entry for the long branch.
 #            [Nr] Name        Type            Address          Off     Size
-# SECTIONS:  [11] .got        PROGBITS        00000000020300f0 20300f0 000008
-# SECTIONS:  [13] .plt        NOBITS          0000000002040000 2030108 000018
-# SECTIONS:  [14] .branch_lt  NOBITS          0000000002040018 2030108 000008
+# SECTIONS:  [10] .got        PROGBITS        00000000020200f0 20200f0 000008
+# SECTIONS:  [13] .plt        NOBITS          0000000002030008 2030008 000018
+# SECTIONS:  [14] .branch_lt  NOBITS          0000000002030020 2030008 000008
 
 # There is a relative dynamic relocation for (.plt + 16 bytes), with a base
 # address equal to callees local entry point (0x10000 + 8).
 # DYNRELOC: Relocation section '.rela.dyn' at offset 0x{{[0-9a-f]+}} contains 3 entries:
 # DYNRELOC:    Offset             Info             Type               Symbol's Value
-# DYNRELOC:    0000000002040018   0000000000000016 R_PPC64_RELATIVE   10008
+# DYNRELOC:    0000000002030020   0000000000000016 R_PPC64_RELATIVE   10008

Modified: lld/trunk/test/ELF/ppc64-toc-rel.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/ppc64-toc-rel.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/ppc64-toc-rel.s (original)
+++ lld/trunk/test/ELF/ppc64-toc-rel.s Wed Mar 13 20:47:45 2019
@@ -65,18 +65,18 @@ _start:
 
 # CHECK:      Disassembly of section .text:
 # CHECK-NEXT: _start:
-# CHECK:      10010008:       {{.*}}     addis 3, 2, -1
+# CHECK:      10010008:       {{.*}}     addis 3, 2, 1
 # CHECK-NEXT: 1001000c:       {{.*}}     addi 3, 3, -32768
 
 # CHECK:      Disassembly of section .data:
 # CHECK-NEXT: global_a:
-# CHECK-NEXT: 10020000:       {{.*}}
+# CHECK-NEXT: 10030000:       {{.*}}
 
 # CHECK-LE:      Disassembly of section .got:
 # CHECK-LE-NEXT: .got:
-# CHECK-LE-NEXT: 10030000:       00 80 03 10
+# CHECK-LE-NEXT: 10020000:       00 80 02 10
 
 # CHECK-BE:      Disassembly of section .got:
 # CHECK-BE-NEXT: .got:
-# CHECK-BE-NEXT: 10030000:       00 00 00 00
-# CHECK-BE-NEXT: 10030004:       10 03 80 00
+# CHECK-BE-NEXT: 10020000:       00 00 00 00
+# CHECK-BE-NEXT: 10020004:       10 02 80 00

Modified: lld/trunk/test/ELF/pr34660.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/pr34660.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/pr34660.s (original)
+++ lld/trunk/test/ELF/pr34660.s Wed Mar 13 20:47:45 2019
@@ -14,10 +14,10 @@
 
 # DISASM: Disassembly of section .text:
 # DISASM-NEXT: $x.0:
-# DISASM-NEXT:   10000:       28 00 08 58     ldr     x8, #65540
+# DISASM-NEXT:   10000:       28 00 10 58     ldr     x8, #131076
 
 # SYM: Symbol table '.symtab'
-# SYM:  0000000000020004     0 NOTYPE  LOCAL  DEFAULT    5 patatino
+# SYM:  0000000000030004     0 NOTYPE  LOCAL  DEFAULT    6 patatino
 
   ldr x8, patatino
   .data

Modified: lld/trunk/test/ELF/rel-offset.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/rel-offset.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/rel-offset.s (original)
+++ lld/trunk/test/ELF/rel-offset.s Wed Mar 13 20:47:45 2019
@@ -10,6 +10,6 @@
         .quad   foo
 
 // CHECK:      Section ({{.*}}) .rela.dyn {
-// CHECK-NEXT:   0x1000 R_X86_64_64 foo 0x0
-// CHECK-NEXT:   0x1008 R_X86_64_64 foo 0x0
+// CHECK-NEXT:   0x2000 R_X86_64_64 foo 0x0
+// CHECK-NEXT:   0x2008 R_X86_64_64 foo 0x0
 // CHECK-NEXT: }

Modified: lld/trunk/test/ELF/relative-dynamic-reloc-pie.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/relative-dynamic-reloc-pie.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/relative-dynamic-reloc-pie.s (original)
+++ lld/trunk/test/ELF/relative-dynamic-reloc-pie.s Wed Mar 13 20:47:45 2019
@@ -6,9 +6,9 @@
 ## Test that we create R_X86_64_RELATIVE relocations with -pie.
 # CHECK:      Relocations [
 # CHECK-NEXT:   Section ({{.*}}) .rela.dyn {
-# CHECK-NEXT:     0x2000 R_X86_64_RELATIVE - 0x2000
-# CHECK-NEXT:     0x2008 R_X86_64_RELATIVE - 0x2008
-# CHECK-NEXT:     0x2010 R_X86_64_RELATIVE - 0x2009
+# CHECK-NEXT:     0x3000 R_X86_64_RELATIVE - 0x3000
+# CHECK-NEXT:     0x3008 R_X86_64_RELATIVE - 0x3008
+# CHECK-NEXT:     0x3010 R_X86_64_RELATIVE - 0x3009
 # CHECK-NEXT:   }
 # CHECK-NEXT: ]
 

Modified: lld/trunk/test/ELF/relative-dynamic-reloc-ppc64.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/relative-dynamic-reloc-ppc64.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/relative-dynamic-reloc-ppc64.s (original)
+++ lld/trunk/test/ELF/relative-dynamic-reloc-ppc64.s Wed Mar 13 20:47:45 2019
@@ -14,10 +14,10 @@
 // CHECK-NEXT:   Section ({{.*}}) .rela.dyn {
 // CHECK-NEXT:     0x[[FOO_ADDR:.*]] R_PPC64_RELATIVE - 0x[[FOO_ADDR]]
 // CHECK-NEXT:     0x[[BAR_ADDR:.*]] R_PPC64_RELATIVE - 0x[[BAR_ADDR]]
-// CHECK-NEXT:     0x10010 R_PPC64_RELATIVE - 0x10009
+// CHECK-NEXT:     0x20010 R_PPC64_RELATIVE - 0x20009
 // CHECK-NEXT:     0x{{.*}} R_PPC64_RELATIVE - 0x[[ZED_ADDR:.*]]
 // CHECK-NEXT:     0x{{.*}} R_PPC64_RELATIVE - 0x[[FOO_ADDR]]
-// CHECK-NEXT:     0x10028 R_PPC64_ADDR64 external 0x0
+// CHECK-NEXT:     0x20028 R_PPC64_ADDR64 external 0x0
 // CHECK-NEXT:   }
 // CHECK-NEXT: ]
 

Modified: lld/trunk/test/ELF/relative-dynamic-reloc.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/relative-dynamic-reloc.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/relative-dynamic-reloc.s (original)
+++ lld/trunk/test/ELF/relative-dynamic-reloc.s Wed Mar 13 20:47:45 2019
@@ -10,10 +10,10 @@
 // CHECK-NEXT:   Section ({{.*}}) .rela.dyn {
 // CHECK-NEXT:     0x[[FOO_ADDR:.*]] R_X86_64_RELATIVE - 0x[[FOO_ADDR]]
 // CHECK-NEXT:     0x[[BAR_ADDR:.*]] R_X86_64_RELATIVE - 0x[[BAR_ADDR]]
-// CHECK-NEXT:     0x1010 R_X86_64_RELATIVE - 0x1009
+// CHECK-NEXT:     0x2010 R_X86_64_RELATIVE - 0x2009
 // CHECK-NEXT:     0x{{.*}} R_X86_64_RELATIVE - 0x[[ZED_ADDR:.*]]
 // CHECK-NEXT:     0x{{.*}} R_X86_64_RELATIVE - 0x[[FOO_ADDR]]
-// CHECK-NEXT:     0x1028 R_X86_64_64 external 0x0
+// CHECK-NEXT:     0x2028 R_X86_64_64 external 0x0
 // CHECK-NEXT:   }
 // CHECK-NEXT: ]
 

Modified: lld/trunk/test/ELF/relocation-copy-flags.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/relocation-copy-flags.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/relocation-copy-flags.s (original)
+++ lld/trunk/test/ELF/relocation-copy-flags.s Wed Mar 13 20:47:45 2019
@@ -30,7 +30,7 @@ _start:
 // CHECK-NEXT: AddressAlignment: 4
 // CHECK-NEXT: EntrySize: 0
 // CHECK-NEXT: SectionData (
-// CHECK-NEXT:   0000: 00402000
+// CHECK-NEXT:   0000: 10302000
 // CHECK-NEXT: )
 
 // CHECK:      Name: bar
@@ -39,8 +39,8 @@ _start:
 // CHECK-NEXT:   SHF_ALLOC
 // CHECK-NEXT:   SHF_WRITE
 // CHECK-NEXT: ]
-// CHECK-NEXT: Address: 0x202000
-// CHECK-NEXT: Offset: 0x2000
+// CHECK-NEXT: Address: 0x203000
+// CHECK-NEXT: Offset: 0x3000
 // CHECK-NEXT: Size: 8
 // CHECK-NEXT: Link: 0
 // CHECK-NEXT: Info: 0
@@ -55,7 +55,7 @@ _start:
 // CHECK-NEXT: Flags [
 // CHECK-NEXT: ]
 // CHECK-NEXT: Address: 0x0
-// CHECK-NEXT: Offset: 0x30B0
+// CHECK-NEXT: Offset: 0x3008
 // CHECK-NEXT: Size: 8
 // CHECK-NEXT: Link: 0
 // CHECK-NEXT: Info: 0
@@ -67,7 +67,7 @@ _start:
 
 // CHECK:      Relocations [
 // CHECK-NEXT:   Section (4) .rela.dyn {
-// CHECK-NEXT:     0x204000 R_X86_64_COPY x 0x0
-// CHECK-NEXT:     0x202000 R_X86_64_64 z 0x0
+// CHECK-NEXT:     0x203010 R_X86_64_COPY x 0x0
+// CHECK-NEXT:     0x203000 R_X86_64_64 z 0x0
 // CHECK-NEXT:   }
 // CHECK-NEXT: ]

Modified: lld/trunk/test/ELF/relocation-i686.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/relocation-i686.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/relocation-i686.s (original)
+++ lld/trunk/test/ELF/relocation-i686.s Wed Mar 13 20:47:45 2019
@@ -55,7 +55,7 @@ movl bar at GOT, %eax
 // ADDR-NEXT:   SHF_ALLOC
 // ADDR-NEXT:   SHF_WRITE
 // ADDR-NEXT: ]
-// ADDR-NEXT: Address: 0x403078
+// ADDR-NEXT: Address: 0x402078
 // ADDR-NEXT: Offset:
 // ADDR-NEXT: Size: 8
 
@@ -63,11 +63,11 @@ movl bar at GOT, %eax
 R_386_GOTPC:
  movl $_GLOBAL_OFFSET_TABLE_, %eax
 
-// 0x402078 + 8 - 0x401014 = 4204
+// 0x402078 + 8 - 0x401014 = 8300
 
 // CHECK:      Disassembly of section .R_386_GOTPC:
 // CHECK-NEXT: R_386_GOTPC:
-// CHECK-NEXT:   401014:  {{.*}} movl  $8300, %eax
+// CHECK-NEXT:   401014:  {{.*}} movl  $4204, %eax
 
 .section .dynamic_reloc, "ax", at progbits
  call bar

Modified: lld/trunk/test/ELF/relocation-non-alloc.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/relocation-non-alloc.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/relocation-non-alloc.s (original)
+++ lld/trunk/test/ELF/relocation-non-alloc.s Wed Mar 13 20:47:45 2019
@@ -15,15 +15,15 @@
 // APPLYDYNREL-NEXT:   SHF_ALLOC
 // APPLYDYNREL-NEXT:   SHF_WRITE
 // APPLYDYNREL-NEXT: ]
-// APPLYDYNREL-NEXT: Address: 0x1000
-// APPLYDYNREL-NEXT: Offset: 0x1000
+// APPLYDYNREL-NEXT: Address: 0x2000
+// APPLYDYNREL-NEXT: Offset: 0x2000
 // APPLYDYNREL-NEXT: Size: 16
 // APPLYDYNREL-NEXT: Link: 0
 // APPLYDYNREL-NEXT: Info: 0
 // APPLYDYNREL-NEXT: AddressAlignment: 1
 // APPLYDYNREL-NEXT: EntrySize: 0
 // APPLYDYNREL-NEXT: SectionData (
-// APPLYDYNREL-NEXT:   0000: 00100000 00000000 00000000 00000000
+// APPLYDYNREL-NEXT:   0000: 00200000 00000000 00000000 00000000
 // APPLYDYNREL-NEXT: )
 
 // NOAPPLYDYNREL:      Name: .data
@@ -32,8 +32,8 @@
 // NOAPPLYDYNREL-NEXT:   SHF_ALLOC
 // NOAPPLYDYNREL-NEXT:   SHF_WRITE
 // NOAPPLYDYNREL-NEXT: ]
-// NOAPPLYDYNREL-NEXT: Address: 0x1000
-// NOAPPLYDYNREL-NEXT: Offset: 0x1000
+// NOAPPLYDYNREL-NEXT: Address: 0x2000
+// NOAPPLYDYNREL-NEXT: Offset: 0x2000
 // NOAPPLYDYNREL-NEXT: Size: 16
 // NOAPPLYDYNREL-NEXT: Link: 0
 // NOAPPLYDYNREL-NEXT: Info: 0
@@ -55,14 +55,14 @@
 // CHECK-NEXT: AddressAlignment: 1
 // CHECK-NEXT: EntrySize: 0
 // CHECK-NEXT: SectionData (
-// CHECK-NEXT:   0000: 00100000 00000000 00100000 00000000
-// CHECK-NEXT:   0010: 00100000 00000000 00100000 00000000
+// CHECK-NEXT:   0000: 00200000 00000000 00200000 00000000
+// CHECK-NEXT:   0010: 00200000 00000000 00200000 00000000
 // CHECK-NEXT: )
 
 // CHECK:      Relocations [
 // CHECK-NEXT:   Section ({{.}}) .rela.dyn {
-// CHECK-NEXT:     0x1000 R_X86_64_RELATIVE - 0x1000
-// CHECK-NEXT:     0x1008 R_X86_64_64 zed 0x0
+// CHECK-NEXT:     0x2000 R_X86_64_RELATIVE - 0x2000
+// CHECK-NEXT:     0x2008 R_X86_64_64 zed 0x0
 // CHECK-NEXT:   }
 // CHECK-NEXT: ]
 

Modified: lld/trunk/test/ELF/relocation-relative-weak.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/relocation-relative-weak.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/relocation-relative-weak.s (original)
+++ lld/trunk/test/ELF/relocation-relative-weak.s Wed Mar 13 20:47:45 2019
@@ -4,7 +4,7 @@
 # RUN: llvm-readobj -dyn-relocations %t | FileCheck %s
 
 # CHECK:      Dynamic Relocations {
-# CHECK-NEXT:   0x2018 R_X86_64_JUMP_SLOT w 0x0
+# CHECK-NEXT:   0x3018 R_X86_64_JUMP_SLOT w 0x0
 # CHECK-NEXT: }
 
 .globl _start

Modified: lld/trunk/test/ELF/relocation.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/relocation.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/relocation.s (original)
+++ lld/trunk/test/ELF/relocation.s Wed Mar 13 20:47:45 2019
@@ -16,35 +16,35 @@
 // SEC-NEXT: Offset: 0x1030
 // SEC-NEXT: Size: 48
 
-// SEC:        Name: .got.plt
+// SEC:         Name: .got
 // SEC-NEXT:   Type: SHT_PROGBITS
 // SEC-NEXT:   Flags [
 // SEC-NEXT:     SHF_ALLOC
 // SEC-NEXT:     SHF_WRITE
 // SEC-NEXT:   ]
-// SEC-NEXT:   Address: 0x202000
-// SEC-NEXT:   Offset: 0x2000
-// SEC-NEXT:   Size: 40
+// SEC-NEXT:   Address: 0x2020F0
+// SEC-NEXT:   Offset:
+// SEC-NEXT:   Size: 8
 // SEC-NEXT:   Link: 0
 // SEC-NEXT:   Info: 0
 // SEC-NEXT:   AddressAlignment: 8
 // SEC-NEXT:   EntrySize: 0
-// SEC-NEXT:   }
+// SEC-NEXT: }
 
-// SEC:         Name: .got
+// SEC:        Name: .got.plt
 // SEC-NEXT:   Type: SHT_PROGBITS
 // SEC-NEXT:   Flags [
 // SEC-NEXT:     SHF_ALLOC
 // SEC-NEXT:     SHF_WRITE
 // SEC-NEXT:   ]
-// SEC-NEXT:   Address: 0x2030F0
-// SEC-NEXT:   Offset:
-// SEC-NEXT:   Size: 8
+// SEC-NEXT:   Address: 0x203000
+// SEC-NEXT:   Offset: 0x3000
+// SEC-NEXT:   Size: 40
 // SEC-NEXT:   Link: 0
 // SEC-NEXT:   Info: 0
 // SEC-NEXT:   AddressAlignment: 8
 // SEC-NEXT:   EntrySize: 0
-// SEC-NEXT: }
+// SEC-NEXT:   }
 
 .section       .text,"ax", at progbits,unique,1
 .global _start
@@ -120,9 +120,9 @@ R_X86_64_64:
 R_X86_64_GOTPCREL:
  .long zed at gotpcrel
 
-// 0x2030F0(.got) - 0x2002c8(.R_X86_64_GOTPCREL) = 0x2e28
+// 0x2020F0(.got) - 0x2002c8(.R_X86_64_GOTPCREL) = 0x1e28
 // CHECK:      Contents of section .R_X86_64_GOTPCREL
-// CHECK-NEXT:   2002c8 282e0000
+// CHECK-NEXT:   2002c8 281e0000
 
 .section .R_X86_64_GOT32,"a", at progbits
 .global R_X86_64_GOT32

Modified: lld/trunk/test/ELF/relro-non-contiguous.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/relro-non-contiguous.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/relro-non-contiguous.s (original)
+++ lld/trunk/test/ELF/relro-non-contiguous.s Wed Mar 13 20:47:45 2019
@@ -3,12 +3,12 @@
 // RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %p/Inputs/copy-in-shared.s -o %t2.o
 // RUN: ld.lld -shared %t.o %t2.o -o %t.so
 
-// Place the .got.plt (non relro) immediately after .dynamic. This is the
-// reverse order of the non-linker script case. The linker created .bss.rel.ro
-// section will be placed after .got.plt causing the relro to be non-contiguous.
+// Separate RelRo sections .dynamic .bss.rel.ro with non RelRo .got.plt.
+// This causes the RelRo sections to be non-contiguous.
 // RUN: echo "SECTIONS { \
 // RUN: .dynamic : { *(.dynamic) } \
 // RUN: .got.plt : { *(.got.plt) } \
+// RUN: .bss.rel.ro : { *(.bss.rel.o) } \
 // RUN: } " > %t.script
 // RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t3.o
 

Modified: lld/trunk/test/ELF/section-layout.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/section-layout.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/section-layout.s (original)
+++ lld/trunk/test/ELF/section-layout.s Wed Mar 13 20:47:45 2019
@@ -32,6 +32,7 @@ _start:
 // For non-executable and non-writable sections, PROGBITS appear after others.
 // CHECK: Name: a
 // CHECK: Name: b
+
 // CHECK: Name: c
 // CHECK: Name: d
 
@@ -40,13 +41,13 @@ _start:
 // CHECK: Name: k
 // CHECK: Name: l
 
-// Writable sections appear before TLS and other relro sections.
-// CHECK: Name: i
-
 // TLS sections are only sorted on NOBITS.
 // CHECK: Name: e
 // CHECK: Name: g
 
+// Writable sections appear after TLS and other relro sections.
+// CHECK: Name: i
+
 // CHECK: Name: j
 
 // Non allocated sections are in input order.

Modified: lld/trunk/test/ELF/section-name.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/section-name.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/section-name.s (original)
+++ lld/trunk/test/ELF/section-name.s Wed Mar 13 20:47:45 2019
@@ -45,12 +45,12 @@ _start:
 // CHECK:  1 .rodata  00000002
 // CHECK:  2 .gcc_except_table 00000001
 // CHECK:  3 .text         00000002
-// CHECK:  4 .data         00000002
-// CHECK:  5 .foo.a        00000001
-// CHECK:  6 .foo          00000001
-// CHECK:  7 .tdata        00000001
-// CHECK:  8 .tbss         00000001
-// CHECK:  9 .data.rel.ro  00000004
+// CHECK:  4 .tdata        00000001
+// CHECK:  5 .tbss         00000001
+// CHECK:  6 .data.rel.ro  00000004
+// CHECK:  7 .data         00000002
+// CHECK:  8 .foo.a        00000001
+// CHECK:  9 .foo          00000001
 // CHECK: 10 .bss          00000002
 // CHECK: 11 .comment      00000008
 // CHECK: 12 .symtab       00000030

Modified: lld/trunk/test/ELF/sort-norosegment.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/sort-norosegment.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/sort-norosegment.s (original)
+++ lld/trunk/test/ELF/sort-norosegment.s Wed Mar 13 20:47:45 2019
@@ -8,8 +8,8 @@
 # CHECK-NEXT: .hash    {{.*}}   A
 # CHECK-NEXT: .dynstr  {{.*}}   A
 # CHECK-NEXT: .text    {{.*}}   AX
-# CHECK-NEXT: foo      {{.*}}  WA
 # CHECK-NEXT: .dynamic {{.*}}  WA
+# CHECK-NEXT: foo      {{.*}}  WA
 
 .section foo, "aw"
 .byte 0

Modified: lld/trunk/test/ELF/startstop.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/startstop.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/startstop.s (original)
+++ lld/trunk/test/ELF/startstop.s Wed Mar 13 20:47:45 2019
@@ -50,13 +50,13 @@
 
 // SYMBOL: Symbol {
 // SYMBOL:   Name: __stop_zed1
-// SYMBOL:   Value: 0x2010
+// SYMBOL:   Value: 0x3010
 // SYMBOL:   STV_PROTECTED
 // SYMBOL:   Section: zed1
 // SYMBOL: }
 // SYMBOL: Symbol {
 // SYMBOL:   Name: __stop_zed2
-// SYMBOL:   Value: 0x2020
+// SYMBOL:   Value: 0x3020
 // SYMBOL:   STV_PROTECTED
 // SYMBOL:   Section: zed2
 // SYMBOL: }

Modified: lld/trunk/test/ELF/synthetic-got.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/synthetic-got.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/synthetic-got.s (original)
+++ lld/trunk/test/ELF/synthetic-got.s Wed Mar 13 20:47:45 2019
@@ -7,13 +7,13 @@
 # RUN:   | FileCheck %s --check-prefix=GOTDATA
 
 # GOT:     Sections:
-# GOT:      8  .got.plt     00000020 00000000000000e0 DATA
-# GOT:      10 .got         00000008 00000000000001d0 DATA
-# GOTDATA:     Contents of section .got.plt:
-# GOTDATA-NEXT:  00e0 00010000 00000000 00000000 00000000
-# GOTDATA-NEXT:  00f0 00000000 00000000 d6000000 00000000
-# GOTDATA-NEXT: Contents of section .got:
-# GOTDATA-NEXT:  01d0 00000000 00000000
+# GOT:       9 .got         00000008 00000000000001b0 DATA
+# GOT:      10 .got.plt     00000020 00000000000001b8 DATA
+# GOTDATA:      Contents of section .got:
+# GOTDATA-NEXT:  01b0 00000000 00000000
+# GOTDATA-NEXT: Contents of section .got.plt:
+# GOTDATA-NEXT:  01b8 e0000000 00000000 00000000 00000000
+# GOTDATA-NEXT:  01c8 00000000 00000000 d6000000 00000000
 
 # RUN: echo "SECTIONS { .mygot : { *(.got) *(.got.plt) } }" > %t1.script
 # RUN: ld.lld --hash-style=sysv -shared %t.o -o %t1.out --script %t1.script

Modified: lld/trunk/test/ELF/tls-dynamic-i686.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/tls-dynamic-i686.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/tls-dynamic-i686.s (original)
+++ lld/trunk/test/ELF/tls-dynamic-i686.s Wed Mar 13 20:47:45 2019
@@ -56,8 +56,8 @@ addl tls1 at gotntpoff(%ebx),%eax
 // CHECK-NEXT:   SHF_ALLOC
 // CHECK-NEXT:   SHF_WRITE
 // CHECK-NEXT: ]
-// CHECK-NEXT: Address: 0x3070
-// CHECK-NEXT: Offset: 0x3070
+// CHECK-NEXT: Address: 0x2070
+// CHECK-NEXT: Offset: 0x2070
 // CHECK-NEXT: Size: 32
 // CHECK-NEXT: Link: 0
 // CHECK-NEXT: Info: 0
@@ -66,13 +66,13 @@ addl tls1 at gotntpoff(%ebx),%eax
 
 // CHECK: Relocations [
 // CHECK:      Section ({{.+}}) .rel.dyn {
-// CHECK-NEXT: 0x3080 R_386_TLS_DTPMOD32 - 0x0
-// CHECK-NEXT: 0x3070 R_386_TLS_DTPMOD32 tls0 0x0
-// CHECK-NEXT: 0x3074 R_386_TLS_DTPOFF32 tls0 0x0
-// CHECK-NEXT: 0x3088 R_386_TLS_TPOFF tls0 0x0
-// CHECK-NEXT: 0x3078 R_386_TLS_DTPMOD32 tls1 0x0
-// CHECK-NEXT: 0x307C R_386_TLS_DTPOFF32 tls1 0x0
-// CHECK-NEXT: 0x308C R_386_TLS_TPOFF tls1 0x0
+// CHECK-NEXT: 0x2080 R_386_TLS_DTPMOD32 - 0x0
+// CHECK-NEXT: 0x2070 R_386_TLS_DTPMOD32 tls0 0x0
+// CHECK-NEXT: 0x2074 R_386_TLS_DTPOFF32 tls0 0x0
+// CHECK-NEXT: 0x2088 R_386_TLS_TPOFF tls0 0x0
+// CHECK-NEXT: 0x2078 R_386_TLS_DTPMOD32 tls1 0x0
+// CHECK-NEXT: 0x207C R_386_TLS_DTPOFF32 tls1 0x0
+// CHECK-NEXT: 0x208C R_386_TLS_TPOFF tls1 0x0
 // CHECK-NEXT: }
 
 // DIS:      Disassembly of section .text:

Modified: lld/trunk/test/ELF/tls-dynamic.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/tls-dynamic.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/tls-dynamic.s (original)
+++ lld/trunk/test/ELF/tls-dynamic.s Wed Mar 13 20:47:45 2019
@@ -48,28 +48,28 @@ c:
 // CHECK-NEXT:       SHF_ALLOC
 // CHECK-NEXT:       SHF_WRITE
 // CHECK-NEXT:     ]
-// CHECK-NEXT:     Address: 0x30E0
+// CHECK-NEXT:     Address: 0x20E0
 // CHECK-NEXT:     Offset:
 // CHECK-NEXT:     Size: 40
 
 // CHECK:      Relocations [
 // CHECK:        Section ({{.+}}) .rela.dyn {
-// CHECK-NEXT:     0x30E0 R_X86_64_DTPMOD64 - 0x0
-// CHECK-NEXT:     0x30F0 R_X86_64_DTPMOD64 c 0x0
-// CHECK-NEXT:     0x30F8 R_X86_64_DTPOFF64 c 0x0
-// CHECK-NEXT:     0x3100 R_X86_64_TPOFF64 c 0x0
+// CHECK-NEXT:     0x20E0 R_X86_64_DTPMOD64 - 0x0
+// CHECK-NEXT:     0x20F0 R_X86_64_DTPMOD64 c 0x0
+// CHECK-NEXT:     0x20F8 R_X86_64_DTPOFF64 c 0x0
+// CHECK-NEXT:     0x2100 R_X86_64_TPOFF64 c 0x0
 // CHECK-NEXT:   }
 
-// 8409 = (0x30E0 + -4) - (0x1000 + 3) // PC relative offset to got entry.
-// 8397 = (0x30F0 + -4) - (0x100c + 3) // PC relative offset to got entry.
-// 8379 = (0x30F8 + -4) - (0x102e + 3) // PC relative offset to got entry.
-// 8375 = (0x3100 + -4) - (0x1042 + 3) // PC relative offset to got entry.
+// 4313 = (0x20E0 + -4) - (0x1000 + 3) // PC relative offset to got entry.
+// 4301 = (0x20F0 + -4) - (0x100c + 3) // PC relative offset to got entry.
+// 4283 = (0x20F8 + -4) - (0x102e + 3) // PC relative offset to got entry.
+// 4279 = (0x2100 + -4) - (0x1042 + 3) // PC relative offset to got entry.
 
 // DIS:      Disassembly of section .text:
 // DIS-NEXT: .text:
-// DIS-NEXT:     1000: {{.+}} leaq    8409(%rip), %rdi
+// DIS-NEXT:     1000: {{.+}} leaq    4313(%rip), %rdi
 // DIS-NEXT:     1007: {{.+}} callq
-// DIS-NEXT:     100c: {{.+}} leaq    8397(%rip), %rdi
+// DIS-NEXT:     100c: {{.+}} leaq    4301(%rip), %rdi
 // DIS-NEXT:     1013: {{.+}} callq
 // DIS-NEXT:     1018: {{.+}} leaq    (%rax), %rcx
 // DIS-NEXT:     101f: {{.+}} leaq    4(%rax), %rcx
@@ -77,10 +77,10 @@ c:
 // DIS-NEXT:     1028: 00 00
 // DIS-NEXT:     102a: 00 00
 // DIS-NEXT:     102c: 00 00
-// DIS-NEXT:     102e: {{.+}} leaq    8379(%rip), %rdi
+// DIS-NEXT:     102e: {{.+}} leaq    4283(%rip), %rdi
 // DIS-NEXT:     1035: {{.+}} callq
 // DIS-NEXT:     103b: {{.+}} leaq    (%rax), %rcx
-// DIS-NEXT:     1042: {{.+}} movq    8375(%rip), %rax
+// DIS-NEXT:     1042: {{.+}} movq    4279(%rip), %rax
 // DIS-NEXT:     1049: {{.+}} movq    %fs:(%rax), %rax
 // DIS-NEXT:     104d: {{.+}} movabsq $0, %rax
 // DIS-NEXT:     1057: {{.+}} movabsq $4, %rax

Modified: lld/trunk/test/ELF/undef-with-plt-addr.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/undef-with-plt-addr.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/undef-with-plt-addr.s (original)
+++ lld/trunk/test/ELF/undef-with-plt-addr.s Wed Mar 13 20:47:45 2019
@@ -25,10 +25,10 @@ movabsq	$set_data, %rax
 // CHECK-NEXT: Address: 0x201010
 
 // CHECK:      Section ({{.*}}) .rela.dyn {
-// CHECK-NEXT:   0x202000 R_X86_64_64 foo 0x0
+// CHECK-NEXT:   0x203000 R_X86_64_64 foo 0x0
 // CHECK-NEXT: }
 // CHECK-NEXT: Section ({{.*}}) .rela.plt {
-// CHECK-NEXT:   0x202020 R_X86_64_JUMP_SLOT set_data 0x0
+// CHECK-NEXT:   0x203020 R_X86_64_JUMP_SLOT set_data 0x0
 // CHECK-NEXT: }
 
 // CHECK:      Name: foo

Modified: lld/trunk/test/ELF/undefined-versioned-symbol.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/undefined-versioned-symbol.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/undefined-versioned-symbol.s (original)
+++ lld/trunk/test/ELF/undefined-versioned-symbol.s Wed Mar 13 20:47:45 2019
@@ -15,19 +15,19 @@
 
 // CHECK:      Section ({{.*}}) .rela.dyn {
 // CHECK-NEXT:   Relocation {
-// CHECK-NEXT:     Offset: 0x1000
+// CHECK-NEXT:     Offset: 0x2000
 // CHECK-NEXT:     Type: R_X86_64_64 (1)
 // CHECK-NEXT:     Symbol: basename at FBSD_1.1 (1)
 // CHECK-NEXT:     Addend: 0x0
 // CHECK-NEXT:   }
 // CHECK-NEXT:   Relocation {
-// CHECK-NEXT:     Offset: 0x1008
+// CHECK-NEXT:     Offset: 0x2008
 // CHECK-NEXT:     Type: R_X86_64_64 (1)
 // CHECK-NEXT:     Symbol: basename at FBSD_1.0 (2)
 // CHECK-NEXT:     Addend: 0x0
 // CHECK-NEXT:   }
 // CHECK-NEXT:   Relocation {
-// CHECK-NEXT:     Offset: 0x1010
+// CHECK-NEXT:     Offset: 0x2010
 // CHECK-NEXT:     Type: R_X86_64_64 (1)
 // CHECK-NEXT:     Symbol: basename at FBSD_1.1 (3)
 // CHECK-NEXT:     Addend: 0x0

Modified: lld/trunk/test/ELF/version-script-weak.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/version-script-weak.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/version-script-weak.s (original)
+++ lld/trunk/test/ELF/version-script-weak.s Wed Mar 13 20:47:45 2019
@@ -10,7 +10,7 @@
 
 # CHECK:      Relocations [
 # CHECK-NEXT:   Section ({{.*}}) .rela.plt {
-# CHECK-NEXT:     0x2018 R_X86_64_JUMP_SLOT foo
+# CHECK-NEXT:     0x3018 R_X86_64_JUMP_SLOT foo
 # CHECK-NEXT:   }
 # CHECK-NEXT: ]
 # CHECK:      Symbol {

Modified: lld/trunk/test/ELF/wrap-plt.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/wrap-plt.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/wrap-plt.s (original)
+++ lld/trunk/test/ELF/wrap-plt.s Wed Mar 13 20:47:45 2019
@@ -20,8 +20,8 @@
 
 // CHECK:      Relocations [
 // CHECK-NEXT:   Section ({{.*}}) .rela.plt {
-// CHECK-NEXT:     0x2018 R_X86_64_JUMP_SLOT __wrap_foo 0x0
-// CHECK-NEXT:     0x2020 R_X86_64_JUMP_SLOT _start 0x0
+// CHECK-NEXT:     0x3018 R_X86_64_JUMP_SLOT __wrap_foo 0x0
+// CHECK-NEXT:     0x3020 R_X86_64_JUMP_SLOT _start 0x0
 // CHECK-NEXT:   }
 // CHECK-NEXT: ]
 

Modified: lld/trunk/test/ELF/x86-64-plt-high-addr.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/x86-64-plt-high-addr.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/x86-64-plt-high-addr.s (original)
+++ lld/trunk/test/ELF/x86-64-plt-high-addr.s Wed Mar 13 20:47:45 2019
@@ -8,16 +8,16 @@
 // RUN: llvm-objdump -s -j .got.plt %t1.exe | FileCheck %s
 
 // CHECK:      Contents of section .got.plt:
-// CHECK-NEXT: cafe00002000 00300000 feca0000 00000000 00000000
-// CHECK-NEXT: cafe00002010 00000000 00000000 26100000 feca0000
+// CHECK-NEXT: cafe00003000 00200000 feca0000 00000000 00000000
+// CHECK-NEXT: cafe00003010 00000000 00000000 26100000 feca0000
 
 // RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t2.o
 // RUN: ld.lld -o %t2.exe %t2.o %t.so -image-base=0xcafe00000000 -z retpolineplt
 // RUN: llvm-objdump -s -j .got.plt %t2.exe | FileCheck -check-prefix=RETPOLINE %s
 
 // RETPOLINE:      Contents of section .got.plt:
-// RETPOLINE-NEXT: cafe00002000 00300000 feca0000 00000000 00000000
-// RETPOLINE-NEXT: cafe00002010 00000000 00000000 51100000 feca0000
+// RETPOLINE-NEXT: cafe00003000 00200000 feca0000 00000000 00000000
+// RETPOLINE-NEXT: cafe00003010 00000000 00000000 51100000 feca0000
 
 .global _start
 _start:

Modified: lld/trunk/test/ELF/x86-64-reloc-gotoff64.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/x86-64-reloc-gotoff64.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/x86-64-reloc-gotoff64.s (original)
+++ lld/trunk/test/ELF/x86-64-reloc-gotoff64.s Wed Mar 13 20:47:45 2019
@@ -4,8 +4,8 @@
 // RUN: llvm-readelf -S %t.so | FileCheck %s -check-prefix=SECTION
 // RUN: llvm-objdump -d %t.so | FileCheck %s
 
-// SECTION: .dynamic DYNAMIC 0000000000003000
-// SECTION: .got PROGBITS 0000000000003070 003070 000000
+// SECTION: .dynamic DYNAMIC 0000000000002000
+// SECTION: .got PROGBITS 0000000000002070 002070 000000
 
 // All the _GLOBAL_OFFSET_TABLE_ occurrences below refer to the address
 // of GOT base, not the address of the symbol _GLOBAL_OFFSET_TABLE_. These
@@ -20,9 +20,9 @@
 // extern long _DYNAMIC[] __attribute__((visibility("hidden")));
 // long* dynamic() { return _DYNAMIC; }
 
-// 0x3070 (.got end) - 0x1007 = 8297
-// 0x3000 (_DYNAMIC) - 0x3070 (.got end) = -112
-// CHECK:      1000: {{.*}} leaq 8297(%rip), %rdx
+// 0x2070 (.got end) - 0x1007 = 4201
+// 0x2000 (_DYNAMIC) - 0x2070 (.got end) = -112
+// CHECK:      1000: {{.*}} leaq 4201(%rip), %rdx
 // CHECK-NEXT: 1007: {{.*}} movabsq $-112, %rax
 .global dynamic
 dynamic:

Modified: lld/trunk/test/ELF/x86-64-reloc-gotpc64.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/x86-64-reloc-gotpc64.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/x86-64-reloc-gotpc64.s (original)
+++ lld/trunk/test/ELF/x86-64-reloc-gotpc64.s Wed Mar 13 20:47:45 2019
@@ -4,11 +4,11 @@
 // RUN: llvm-readelf -S %t.so | FileCheck %s -check-prefix=SECTION
 // RUN: llvm-objdump -d %t.so | FileCheck %s
 
-// SECTION: .got PROGBITS 0000000000003070 003070 000000
+// SECTION: .got PROGBITS 0000000000002070 002070 000000
 
-// 0x3070 (.got end) - 0x1000 = 8304
+// 0x2070 (.got end) - 0x1000 = 4208
 // CHECK: gotpc64:
-// CHECK-NEXT: 1000: {{.*}} movabsq $8304, %r11
+// CHECK-NEXT: 1000: {{.*}} movabsq $4208, %r11
 .global gotpc64
 gotpc64:
   movabsq $_GLOBAL_OFFSET_TABLE_-., %r11

Modified: lld/trunk/test/ELF/x86-64-retpoline-linkerscript.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/x86-64-retpoline-linkerscript.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/x86-64-retpoline-linkerscript.s (original)
+++ lld/trunk/test/ELF/x86-64-retpoline-linkerscript.s Wed Mar 13 20:47:45 2019
@@ -14,8 +14,8 @@
 
 // CHECK:      Disassembly of section .plt:
 // CHECK-NEXT: .plt:
-// CHECK-NEXT: 10:       ff 35 72 00 00 00       pushq   114(%rip)
-// CHECK-NEXT: 16:       4c 8b 1d 73 00 00 00    movq    115(%rip), %r11
+// CHECK-NEXT: 10:       ff 35 32 01 00 00       pushq   306(%rip)
+// CHECK-NEXT: 16:       4c 8b 1d 33 01 00 00    movq    307(%rip), %r11
 // CHECK-NEXT: 1d:       e8 0e 00 00 00  callq   14 <.plt+0x20>
 // CHECK-NEXT: 22:       f3 90   pause
 // CHECK-NEXT: 24:       0f ae e8        lfence
@@ -40,7 +40,7 @@
 // CHECK-NEXT: 3d:       cc      int3
 // CHECK-NEXT: 3e:       cc      int3
 // CHECK-NEXT: 3f:       cc      int3
-// CHECK-NEXT: 40:       4c 8b 1d 51 00 00 00    movq    81(%rip), %r11
+// CHECK-NEXT: 40:       4c 8b 1d 11 01 00 00    movq    273(%rip), %r11
 // CHECK-NEXT: 47:       e8 e4 ff ff ff  callq   -28 <.plt+0x20>
 // CHECK-NEXT: 4c:       e9 d1 ff ff ff  jmp     -47 <.plt+0x12>
 // CHECK-NEXT: 51:       68 00 00 00 00  pushq   $0
@@ -50,7 +50,7 @@
 // CHECK-NEXT: 5d:       cc      int3
 // CHECK-NEXT: 5e:       cc      int3
 // CHECK-NEXT: 5f:       cc      int3
-// CHECK-NEXT: 60:       4c 8b 1d 39 00 00 00    movq    57(%rip), %r11
+// CHECK-NEXT: 60:       4c 8b 1d f9 00 00 00    movq    249(%rip), %r11
 // CHECK-NEXT: 67:       e8 c4 ff ff ff  callq   -60 <.plt+0x20>
 // CHECK-NEXT: 6c:       e9 b1 ff ff ff  jmp     -79 <.plt+0x12>
 // CHECK-NEXT: 71:       68 01 00 00 00  pushq   $1

Modified: lld/trunk/test/ELF/x86-64-retpoline.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/x86-64-retpoline.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/x86-64-retpoline.s (original)
+++ lld/trunk/test/ELF/x86-64-retpoline.s Wed Mar 13 20:47:45 2019
@@ -8,8 +8,8 @@
 
 // CHECK:      Disassembly of section .plt:
 // CHECK-NEXT: .plt:
-// CHECK-NEXT: 1010:       ff 35 f2 0f 00 00       pushq   4082(%rip)
-// CHECK-NEXT: 1016:       4c 8b 1d f3 0f 00 00    movq    4083(%rip), %r11
+// CHECK-NEXT: 1010:       ff 35 f2 1f 00 00       pushq   8178(%rip)
+// CHECK-NEXT: 1016:       4c 8b 1d f3 1f 00 00    movq    8179(%rip), %r11
 // CHECK-NEXT: 101d:       e8 0e 00 00 00  callq   14 <.plt+0x20>
 // CHECK-NEXT: 1022:       f3 90   pause
 // CHECK-NEXT: 1024:       0f ae e8        lfence
@@ -34,7 +34,7 @@
 // CHECK-NEXT: 103d:       cc      int3
 // CHECK-NEXT: 103e:       cc      int3
 // CHECK-NEXT: 103f:       cc      int3
-// CHECK-NEXT: 1040:       4c 8b 1d d1 0f 00 00    movq    4049(%rip), %r11
+// CHECK-NEXT: 1040:       4c 8b 1d d1 1f 00 00    movq    8145(%rip), %r11
 // CHECK-NEXT: 1047:       e8 e4 ff ff ff  callq   -28 <.plt+0x20>
 // CHECK-NEXT: 104c:       e9 d1 ff ff ff  jmp     -47 <.plt+0x12>
 // CHECK-NEXT: 1051:       68 00 00 00 00  pushq   $0
@@ -44,7 +44,7 @@
 // CHECK-NEXT: 105d:       cc      int3
 // CHECK-NEXT: 105e:       cc      int3
 // CHECK-NEXT: 105f:       cc      int3
-// CHECK-NEXT: 1060:       4c 8b 1d b9 0f 00 00    movq    4025(%rip), %r11
+// CHECK-NEXT: 1060:       4c 8b 1d b9 1f 00 00    movq    8121(%rip), %r11
 // CHECK-NEXT: 1067:       e8 c4 ff ff ff  callq   -60 <.plt+0x20>
 // CHECK-NEXT: 106c:       e9 b1 ff ff ff  jmp     -79 <.plt+0x12>
 // CHECK-NEXT: 1071:       68 01 00 00 00  pushq   $1
@@ -56,9 +56,9 @@
 // CHECK-NEXT: 107f:       cc      int3
 
 // CHECK:      Contents of section .got.plt:
-// CHECK-NEXT: 2000 00300000 00000000 00000000 00000000
-// CHECK-NEXT: 2010 00000000 00000000 51100000 00000000
-// CHECK-NEXT: 2020 71100000 00000000
+// CHECK-NEXT: 3000 00200000 00000000 00000000 00000000
+// CHECK-NEXT: 3010 00000000 00000000 51100000 00000000
+// CHECK-NEXT: 3020 71100000 00000000
 
 .global _start
 _start:

Modified: lld/trunk/test/ELF/x86-64-tls-gd-local.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/x86-64-tls-gd-local.s?rev=356117&r1=356116&r2=356117&view=diff
==============================================================================
--- lld/trunk/test/ELF/x86-64-tls-gd-local.s (original)
+++ lld/trunk/test/ELF/x86-64-tls-gd-local.s Wed Mar 13 20:47:45 2019
@@ -34,8 +34,8 @@ bar:
 // CHECK-NEXT:   SHF_ALLOC (0x2)
 // CHECK-NEXT:   SHF_WRITE (0x1)
 // CHECK-NEXT: ]
-// CHECK-NEXT: Address: 0x30D0
-// CHECK-NEXT: Offset: 0x30D0
+// CHECK-NEXT: Address: 0x20D0
+// CHECK-NEXT: Offset: 0x20D0
 // CHECK-NEXT: Size: 32
 // CHECK-NEXT: Link: 0
 // CHECK-NEXT: Info: 0
@@ -47,6 +47,6 @@ bar:
 // CHECK-NEXT: )
 
 // CHECK:      Section ({{.*}}) .rela.dyn {
-// CHECK-NEXT:   0x30D0 R_X86_64_DTPMOD64 - 0x0
-// CHECK-NEXT:   0x30E0 R_X86_64_DTPMOD64 - 0x0
+// CHECK-NEXT:   0x20D0 R_X86_64_DTPMOD64 - 0x0
+// CHECK-NEXT:   0x20E0 R_X86_64_DTPMOD64 - 0x0
 // CHECK-NEXT: }




More information about the llvm-commits mailing list