<div dir="ltr">Is there an easy way to explain why this caused so much test churn?<div><br></div><div>-- Sean Silva</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jul 30, 2015 at 12:45 AM, Simon Atanasyan <span dir="ltr"><<a href="mailto:simon@atanasyan.com" target="_blank">simon@atanasyan.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: atanasyan<br>
Date: Thu Jul 30 02:45:55 2015<br>
New Revision: 243626<br>
<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject-3Frev-3D243626-26view-3Drev&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=N04kHssF1tVsg-Pi98pf1dv-nDh7ocDOX2KqhIoJW0Y&s=dGQrwPaSUjN9g2HfSMtx2ZHdLf5Zh-pqTEXtPTMOfTc&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=243626&view=rev</a><br>
Log:<br>
[Mips] Implement definition of DT_MIPS_RLD_MAP dynamic tag, .rld_map section, and __RLD_MAP symbol<br>
<br>
Added:<br>
    lld/trunk/test/elf/Mips/rld_map.test<br>
Modified:<br>
    lld/trunk/lib/ReaderWriter/ELF/Mips/MipsDynamicTable.h<br>
    lld/trunk/lib/ReaderWriter/ELF/Mips/MipsRelocationPass.cpp<br>
    lld/trunk/test/elf/Mips/base-address-64.test<br>
    lld/trunk/test/elf/Mips/base-address.test<br>
    lld/trunk/test/elf/Mips/dynamic-sym.test<br>
    lld/trunk/test/elf/Mips/exe-dynamic.test<br>
    lld/trunk/test/elf/Mips/exe-fileheader-micro-64.test<br>
    lld/trunk/test/elf/Mips/exe-fileheader-micro.test<br>
    lld/trunk/test/elf/Mips/got-page-32-micro.test<br>
    lld/trunk/test/elf/Mips/got-page-32.test<br>
    lld/trunk/test/elf/Mips/got-page-64-micro.test<br>
    lld/trunk/test/elf/Mips/got-page-64.test<br>
    lld/trunk/test/elf/Mips/hilo16-1.test<br>
    lld/trunk/test/elf/Mips/hilo16-2.test<br>
    lld/trunk/test/elf/Mips/hilo16-8-micro.test<br>
    lld/trunk/test/elf/Mips/jalx.test<br>
    lld/trunk/test/elf/Mips/la25-stub-be.test<br>
    lld/trunk/test/elf/Mips/la25-stub-micro-be.test<br>
    lld/trunk/test/elf/Mips/la25-stub-micro.test<br>
    lld/trunk/test/elf/Mips/la25-stub-npic-01.test<br>
    lld/trunk/test/elf/Mips/la25-stub-npic-02.test<br>
    lld/trunk/test/elf/Mips/la25-stub-pic.test<br>
    lld/trunk/test/elf/Mips/la25-stub.test<br>
    lld/trunk/test/elf/Mips/n64-rel-chain.test<br>
    lld/trunk/test/elf/Mips/r26-2-micro.test<br>
    lld/trunk/test/elf/Mips/r26-2.test<br>
    lld/trunk/test/elf/Mips/rel-copy-micro.test<br>
    lld/trunk/test/elf/Mips/rel-copy-pc.test<br>
    lld/trunk/test/elf/Mips/rel-copy.test<br>
    lld/trunk/test/elf/Mips/rel-dynamic-01-micro.test<br>
    lld/trunk/test/elf/Mips/rel-dynamic-01.test<br>
    lld/trunk/test/elf/Mips/rel-dynamic-12.test<br>
    lld/trunk/test/elf/Mips/rel-gprel32-64.test<br>
    lld/trunk/test/elf/Mips/rel-gprel32.test<br>
    lld/trunk/test/elf/Mips/rel-high-01.test<br>
    lld/trunk/test/elf/Mips/rel-high-02.test<br>
<br>
Modified: lld/trunk/lib/ReaderWriter/ELF/Mips/MipsDynamicTable.h<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_lib_ReaderWriter_ELF_Mips_MipsDynamicTable.h-3Frev-3D243626-26r1-3D243625-26r2-3D243626-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=N04kHssF1tVsg-Pi98pf1dv-nDh7ocDOX2KqhIoJW0Y&s=n-qTFDqPlJt4Wd8O26ArCrelCKULuG_pZUUIkVzkFfY&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/Mips/MipsDynamicTable.h?rev=243626&r1=243625&r2=243626&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/lib/ReaderWriter/ELF/Mips/MipsDynamicTable.h (original)<br>
+++ lld/trunk/lib/ReaderWriter/ELF/Mips/MipsDynamicTable.h Thu Jul 30 02:45:55 2015<br>
@@ -30,6 +30,10 @@ public:<br>
     // Version id for the Runtime Linker Interface.<br>
     this->addEntry(DT_MIPS_RLD_VERSION, 1);<br>
<br>
+    // The .rld_map section address.<br>
+    if (this->_ctx.isDynamic() && this->_ctx.getOutputELFType() == ET_EXEC)<br>
+      _dt_rldmap = this->addEntry(DT_MIPS_RLD_MAP, 0);<br>
+<br>
     // MIPS flags.<br>
     this->addEntry(DT_MIPS_FLAGS, RHF_NOTPOT);<br>
<br>
@@ -78,6 +82,9 @@ public:<br>
<br>
     if (const auto *sec = _targetLayout.findOutputSection(".MIPS.options"))<br>
       this->_entries[_dt_options].d_un.d_ptr = sec->virtualAddr();<br>
+<br>
+    if (const auto *sec = _targetLayout.findOutputSection(".rld_map"))<br>
+      this->_entries[_dt_rldmap].d_un.d_ptr = sec->virtualAddr();<br>
   }<br>
<br>
   int64_t getGotPltTag() override { return DT_MIPS_PLTGOT; }<br>
@@ -99,6 +106,7 @@ private:<br>
   std::size_t _dt_pltgot;<br>
   std::size_t _dt_baseaddr;<br>
   std::size_t _dt_options;<br>
+  std::size_t _dt_rldmap;<br>
   MipsTargetLayout<ELFT> &_targetLayout;<br>
 };<br>
<br>
<br>
Modified: lld/trunk/lib/ReaderWriter/ELF/Mips/MipsRelocationPass.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_lib_ReaderWriter_ELF_Mips_MipsRelocationPass.cpp-3Frev-3D243626-26r1-3D243625-26r2-3D243626-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=N04kHssF1tVsg-Pi98pf1dv-nDh7ocDOX2KqhIoJW0Y&s=s4xVwNTde483yyq3rg1HxlayydPy1snt6vwzPs5uYeE&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/Mips/MipsRelocationPass.cpp?rev=243626&r1=243625&r2=243626&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/lib/ReaderWriter/ELF/Mips/MipsRelocationPass.cpp (original)<br>
+++ lld/trunk/lib/ReaderWriter/ELF/Mips/MipsRelocationPass.cpp Thu Jul 30 02:45:55 2015<br>
@@ -426,6 +426,24 @@ public:<br>
   StringRef customSectionName() const override { return ".got"; }<br>
 };<br>
<br>
+template <typename ELFT> class MipsRldAtom : public SimpleELFDefinedAtom {<br>
+public:<br>
+  MipsRldAtom(const File &f) : SimpleELFDefinedAtom(f) {}<br>
+<br>
+  Scope scope() const override { return scopeGlobal; }<br>
+  SectionChoice sectionChoice() const override { return sectionCustomRequired; }<br>
+  StringRef customSectionName() const override { return ".rld_map"; }<br>
+  ContentType contentType() const override { return typeData; }<br>
+  uint64_t size() const override { return rawContent().size(); }<br>
+  ContentPermissions permissions() const override { return permRW_; }<br>
+  Alignment alignment() const override { return rawContent().size(); }<br>
+  StringRef name() const override { return "__RLD_MAP"; }<br>
+  ArrayRef<uint8_t> rawContent() const override {<br>
+    return llvm::makeArrayRef(mipsGot0AtomContent)<br>
+        .slice(ELFT::Is64Bits ? 0 : 4);<br>
+  }<br>
+};<br>
+<br>
 class RelocationPassFile : public SimpleFile {<br>
 public:<br>
   RelocationPassFile(const ELFLinkingContext &ctx)<br>
@@ -598,6 +616,12 @@ std::error_code RelocationPass<ELFT>::pe<br>
<br>
   uint64_t ordinal = 0;<br>
<br>
+  if (_ctx.isDynamic() && _ctx.getOutputELFType() == ET_EXEC) {<br>
+    auto rlda = new (_file._alloc) MipsRldAtom<ELFT>(_file);<br>
+    rlda->setOrdinal(ordinal++);<br>
+    mf.addAtom(*rlda);<br>
+  }<br>
+<br>
   if (!_localGotVector.empty() || !_globalGotVector.empty() ||<br>
       !_tlsGotVector.empty()) {<br>
     SimpleDefinedAtom *ga = new (_file._alloc) MipsGlobalOffsetTableAtom(_file);<br>
<br>
Modified: lld/trunk/test/elf/Mips/base-address-64.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_elf_Mips_base-2Daddress-2D64.test-3Frev-3D243626-26r1-3D243625-26r2-3D243626-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=N04kHssF1tVsg-Pi98pf1dv-nDh7ocDOX2KqhIoJW0Y&s=PQLjxrcGSd2FxEYPofReUzhNjVWS6R63Bfhc0YOML1g&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/base-address-64.test?rev=243626&r1=243625&r2=243626&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/elf/Mips/base-address-64.test (original)<br>
+++ lld/trunk/test/elf/Mips/base-address-64.test Thu Jul 30 02:45:55 2015<br>
@@ -5,7 +5,7 @@<br>
 # RUN: lld -flavor gnu -target mips64el --noinhibit-exec -o %t.exe %t.o<br>
 # RUN: llvm-readobj -dynamic-table -program-headers %t.exe | FileCheck %s<br>
<br>
-# CHECK: DynamicSection [ (13 entries)<br>
+# CHECK: DynamicSection [ (14 entries)<br>
 # CHECK:        Tag                Type                 Name/Value<br>
 # CHECK-NEXT:   0x0000000000000004 HASH                 0x{{[0-9A-F]+}}<br>
 # CHECK-NEXT:   0x0000000000000005 STRTAB               0x{{[0-9A-F]+}}<br>
@@ -13,6 +13,7 @@<br>
 # CHECK-NEXT:   0x000000000000000A STRSZ                1 (bytes)<br>
 # CHECK-NEXT:   0x000000000000000B SYMENT               24 (bytes)<br>
 # CHECK-NEXT:   0x0000000070000001 MIPS_RLD_VERSION     1<br>
+# CHECK-NEXT:   0x0000000070000016 MIPS_RLD_MAP         0x120002000<br>
 # CHECK-NEXT:   0x0000000070000005 MIPS_FLAGS           NOTPOT<br>
 # CHECK-NEXT:   0x0000000070000006 MIPS_BASE_ADDRESS    0x120000000<br>
 # CHECK-NEXT:   0x000000007000000A MIPS_LOCAL_GOTNO     2<br>
<br>
Modified: lld/trunk/test/elf/Mips/base-address.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_elf_Mips_base-2Daddress.test-3Frev-3D243626-26r1-3D243625-26r2-3D243626-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=N04kHssF1tVsg-Pi98pf1dv-nDh7ocDOX2KqhIoJW0Y&s=xUhAm2e_j2zE3xgd57sjCWs7HZdPAf98_gBU7YIScYs&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/base-address.test?rev=243626&r1=243625&r2=243626&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/elf/Mips/base-address.test (original)<br>
+++ lld/trunk/test/elf/Mips/base-address.test Thu Jul 30 02:45:55 2015<br>
@@ -5,7 +5,7 @@<br>
 # RUN: lld -flavor gnu -target mipsel --noinhibit-exec -o %t.exe %t.o<br>
 # RUN: llvm-readobj -dynamic-table -program-headers %t.exe | FileCheck %s<br>
<br>
-# CHECK: DynamicSection [ (13 entries)<br>
+# CHECK: DynamicSection [ (14 entries)<br>
 # CHECK:   Tag        Type                 Name/Value<br>
 # CHECK-NEXT:   0x00000004 HASH                 0x{{[0-9A-F]+}}<br>
 # CHECK-NEXT:   0x00000005 STRTAB               0x{{[0-9A-F]+}}<br>
@@ -13,6 +13,7 @@<br>
 # CHECK-NEXT:   0x0000000A STRSZ                1 (bytes)<br>
 # CHECK-NEXT:   0x0000000B SYMENT               16 (bytes)<br>
 # CHECK-NEXT:   0x70000001 MIPS_RLD_VERSION     1<br>
+# CHECK-NEXT:   0x70000016 MIPS_RLD_MAP         0x402000<br>
 # CHECK-NEXT:   0x70000005 MIPS_FLAGS           NOTPOT<br>
 # CHECK-NEXT:   0x70000006 MIPS_BASE_ADDRESS    0x400000<br>
 # CHECK-NEXT:   0x7000000A MIPS_LOCAL_GOTNO     2<br>
<br>
Modified: lld/trunk/test/elf/Mips/dynamic-sym.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_elf_Mips_dynamic-2Dsym.test-3Frev-3D243626-26r1-3D243625-26r2-3D243626-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=N04kHssF1tVsg-Pi98pf1dv-nDh7ocDOX2KqhIoJW0Y&s=0uovVQ6Qc_XmTnOtxgOs4OslSrygz0z7xumiddHh0Xs&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/dynamic-sym.test?rev=243626&r1=243625&r2=243626&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/elf/Mips/dynamic-sym.test (original)<br>
+++ lld/trunk/test/elf/Mips/dynamic-sym.test Thu Jul 30 02:45:55 2015<br>
@@ -16,7 +16,7 @@<br>
<br>
 # EXE: Sections:<br>
 # EXE: Idx Name         Size     Address          Type<br>
-# EXE:   6 .dynamic     00000068 00000000[[ADDR:[0-9a-f]+]]<br>
+# EXE:   6 .dynamic     00000070 00000000[[ADDR:[0-9a-f]+]]<br>
<br>
 # EXE: SYMBOL TABLE:<br>
 # EXE: [[ADDR]]  g  .dynamic  00000000 _DYNAMIC<br>
<br>
Modified: lld/trunk/test/elf/Mips/exe-dynamic.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_elf_Mips_exe-2Ddynamic.test-3Frev-3D243626-26r1-3D243625-26r2-3D243626-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=N04kHssF1tVsg-Pi98pf1dv-nDh7ocDOX2KqhIoJW0Y&s=BNCZJpXXdizS8nM1m6B2XxV_iIfZEpCik1tB0b3EaJY&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/exe-dynamic.test?rev=243626&r1=243625&r2=243626&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/elf/Mips/exe-dynamic.test (original)<br>
+++ lld/trunk/test/elf/Mips/exe-dynamic.test Thu Jul 30 02:45:55 2015<br>
@@ -13,8 +13,8 @@<br>
 # CHECK: Arch: mipsel<br>
 # CHECK: AddressSize: 32bit<br>
 # CHECK: LoadName:<br>
-# CHECK: DynamicSection [ (18 entries)<br>
-# CHECK:   Tag        Type                 Name/Value<br>
+# CHECK: DynamicSection [ (19 entries)<br>
+# CHECK:       Tag        Type                 Name/Value<br>
 # CHECK-NEXT:  0x00000004 HASH                 0x{{[0-9A-F]+}}<br>
 # CHECK-NEXT:  0x00000005 STRTAB               0x{{[0-9A-F]+}}<br>
 # CHECK-NEXT:  0x00000006 SYMTAB               0x{{[0-9A-F]+}}<br>
@@ -25,6 +25,7 @@<br>
 # CHECK-NEXT:  0x00000014 PLTREL               REL<br>
 # CHECK-NEXT:  0x00000017 JMPREL               0x{{[0-9A-F]+}}<br>
 # CHECK-NEXT:  0x70000001 MIPS_RLD_VERSION     1<br>
+# CHECK-NEXT:  0x70000016 MIPS_RLD_MAP         0x40200C<br>
 # CHECK-NEXT:  0x70000005 MIPS_FLAGS           NOTPOT<br>
 # CHECK-NEXT:  0x70000006 MIPS_BASE_ADDRESS    0x400000<br>
 # CHECK-NEXT:  0x7000000A MIPS_LOCAL_GOTNO     2<br>
<br>
Modified: lld/trunk/test/elf/Mips/exe-fileheader-micro-64.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_elf_Mips_exe-2Dfileheader-2Dmicro-2D64.test-3Frev-3D243626-26r1-3D243625-26r2-3D243626-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=N04kHssF1tVsg-Pi98pf1dv-nDh7ocDOX2KqhIoJW0Y&s=OMXvLIJeadzt0INwAE6OJIqZh3JrW5qUGFKG-pOoG7s&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/exe-fileheader-micro-64.test?rev=243626&r1=243625&r2=243626&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/elf/Mips/exe-fileheader-micro-64.test (original)<br>
+++ lld/trunk/test/elf/Mips/exe-fileheader-micro-64.test Thu Jul 30 02:45:55 2015<br>
@@ -22,7 +22,7 @@<br>
 # CHECK:   Type: Executable (0x2)<br>
 # CHECK:   Machine: EM_MIPS (0x8)<br>
 # CHECK:   Version: 1<br>
-# CHECK:   Entry: 0x1200001A1<br>
+# CHECK:   Entry: 0x{{[0-9A-F]+}}<br>
 # CHECK:   ProgramHeaderOffset: 0x{{[0-9A-F]+}}<br>
 # CHECK:   SectionHeaderOffset: 0x{{[0-9A-F]+}}<br>
 # CHECK:   Flags [ (0x82000007)<br>
@@ -34,10 +34,10 @@<br>
 # CHECK:   ]<br>
 # CHECK:   HeaderSize: 64<br>
 # CHECK:   ProgramHeaderEntrySize: 56<br>
-# CHECK:   ProgramHeaderCount: 5<br>
+# CHECK:   ProgramHeaderCount: 6<br>
 # CHECK:   SectionHeaderEntrySize: 64<br>
-# CHECK:   SectionHeaderCount: 11<br>
-# CHECK:   StringTableSectionIndex: 8<br>
+# CHECK:   SectionHeaderCount: 12<br>
+# CHECK:   StringTableSectionIndex: 9<br>
 # CHECK: }<br>
<br>
 # o.o<br>
<br>
Modified: lld/trunk/test/elf/Mips/exe-fileheader-micro.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_elf_Mips_exe-2Dfileheader-2Dmicro.test-3Frev-3D243626-26r1-3D243625-26r2-3D243626-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=N04kHssF1tVsg-Pi98pf1dv-nDh7ocDOX2KqhIoJW0Y&s=9g21mJ_tB5mlcJ3Jlmaz62-cVKRw9lArQsWBo8M07WQ&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/exe-fileheader-micro.test?rev=243626&r1=243625&r2=243626&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/elf/Mips/exe-fileheader-micro.test (original)<br>
+++ lld/trunk/test/elf/Mips/exe-fileheader-micro.test Thu Jul 30 02:45:55 2015<br>
@@ -23,7 +23,7 @@<br>
 # CHECK-NEXT:   Type: Executable (0x2)<br>
 # CHECK-NEXT:   Machine: EM_MIPS (0x8)<br>
 # CHECK-NEXT:   Version: 1<br>
-# CHECK-NEXT:   Entry: 0x400109<br>
+# CHECK-NEXT:   Entry: 0x{{[0-9A-F]+[13579bdf]}}<br>
 # CHECK-NEXT:   ProgramHeaderOffset: 0x{{[0-9A-F]+}}<br>
 # CHECK-NEXT:   SectionHeaderOffset: 0x{{[0-9A-F]+}}<br>
 # CHECK-NEXT:   Flags [ (0x72001005)<br>
@@ -35,10 +35,10 @@<br>
 # CHECK-NEXT:   ]<br>
 # CHECK-NEXT:   HeaderSize: 52<br>
 # CHECK-NEXT:   ProgramHeaderEntrySize: 32<br>
-# CHECK-NEXT:   ProgramHeaderCount: 5<br>
+# CHECK-NEXT:   ProgramHeaderCount: 6<br>
 # CHECK-NEXT:   SectionHeaderEntrySize: 40<br>
-# CHECK-NEXT:   SectionHeaderCount: 11<br>
-# CHECK-NEXT:   StringTableSectionIndex: 8<br>
+# CHECK-NEXT:   SectionHeaderCount: 12<br>
+# CHECK-NEXT:   StringTableSectionIndex: 9<br>
 # CHECK-NEXT: }<br>
<br>
 # o.o<br>
<br>
Modified: lld/trunk/test/elf/Mips/got-page-32-micro.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_elf_Mips_got-2Dpage-2D32-2Dmicro.test-3Frev-3D243626-26r1-3D243625-26r2-3D243626-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=N04kHssF1tVsg-Pi98pf1dv-nDh7ocDOX2KqhIoJW0Y&s=FClXUHsOrQUs8Gi4PnL4i8UtojQjuBzTHhsafRkNV-8&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/got-page-32-micro.test?rev=243626&r1=243625&r2=243626&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/elf/Mips/got-page-32-micro.test (original)<br>
+++ lld/trunk/test/elf/Mips/got-page-32-micro.test Thu Jul 30 02:45:55 2015<br>
@@ -11,19 +11,19 @@<br>
<br>
 # GOT:      Symbol {<br>
 # GOT:        Name: LT3<br>
-# GOT-NEXT:   Value: 0x40018D<br>
+# GOT-NEXT:   Value: 0x[[LT3:[0-9A-F]+]]<br>
 # GOT:      Symbol {<br>
 # GOT:        Name: LT4<br>
-# GOT-NEXT:   Value: 0x400191<br>
+# GOT-NEXT:   Value: 0x{{[0-9A-F]+}}<br>
 # GOT:      Symbol {<br>
 # GOT:        Name: T0<br>
-# GOT-NEXT:   Value: 0x40015D<br>
+# GOT-NEXT:   Value: 0x{{[0-9A-F]+}}<br>
 # GOT:      Symbol {<br>
 # GOT:        Name: LT1<br>
-# GOT-NEXT:   Value: 0x400185<br>
+# GOT-NEXT:   Value: 0x[[LT1:[0-9A-F]+]]<br>
 # GOT:      Symbol {<br>
 # GOT:        Name: LT2<br>
-# GOT-NEXT:   Value: 0x400189<br>
+# GOT-NEXT:   Value: 0x{{[0-9A-F]+}}<br>
 # GOT:      Symbol {<br>
 # GOT:        Name: T1@<br>
 # GOT-NEXT:   Value: 0x0<br>
@@ -51,7 +51,7 @@<br>
 # GOT-NEXT:     Entry {<br>
 # GOT-NEXT:       Address: 0x401008<br>
 # GOT-NEXT:       Access: -32744<br>
-# GOT-NEXT:       Initial: 0x400185<br>
+# GOT-NEXT:       Initial: 0x[[LT1]]<br>
 # GOT-NEXT:     }<br>
 # GOT-NEXT:     Entry {<br>
 # GOT-NEXT:       Address: 0x40100C<br>
@@ -66,7 +66,7 @@<br>
 # GOT-NEXT:     Entry {<br>
 # GOT-NEXT:       Address: 0x401014<br>
 # GOT-NEXT:       Access: -32732<br>
-# GOT-NEXT:       Initial: 0x40018D<br>
+# GOT-NEXT:       Initial: 0x[[LT3]]<br>
 # GOT-NEXT:     }<br>
 # GOT-NEXT:     Entry {<br>
 # GOT-NEXT:       Address: 0x401018<br>
@@ -108,12 +108,12 @@<br>
 #                                   ^ -32736 (PAGE)<br>
 #                                            ^ T1 OFST<br>
 #                                                     ^ T2 OFST<br>
-# RAW-NEXT:  {{[0-9a-f]+}} 00008501 00008901 00002480 00002880<br>
+# RAW-NEXT:  {{[0-9a-f]+}} 0000a501 0000a901 00002480 00002880<br>
 #                          ^ LT1 OFST<br>
 #                                   ^ LT2 OFST<br>
 #                                            ^ = -32732 (LT3)<br>
 #                                                     ^ -32728 (PAGE)<br>
-# RAW-NEXT:  {{[0-9a-f]+}} 00009101 00000000<br>
+# RAW-NEXT:  {{[0-9a-f]+}} 0000b101 00000000<br>
 #                          ^ LT4 OFST<br>
<br>
 # so.o<br>
<br>
Modified: lld/trunk/test/elf/Mips/got-page-32.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_elf_Mips_got-2Dpage-2D32.test-3Frev-3D243626-26r1-3D243625-26r2-3D243626-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=N04kHssF1tVsg-Pi98pf1dv-nDh7ocDOX2KqhIoJW0Y&s=0uQjR8ZNNso-DHSWUj7P48K6nhgebkJdEXN6yA7pJw8&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/got-page-32.test?rev=243626&r1=243625&r2=243626&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/elf/Mips/got-page-32.test (original)<br>
+++ lld/trunk/test/elf/Mips/got-page-32.test Thu Jul 30 02:45:55 2015<br>
@@ -10,19 +10,19 @@<br>
<br>
 # GOT:      Symbol {<br>
 # GOT:        Name: LT3 (12)<br>
-# GOT-NEXT:   Value: 0x400184<br>
+# GOT-NEXT:   Value: 0x[[LT3:[0-9A-F]+]]<br>
 # GOT:      Symbol {<br>
 # GOT:        Name: LT4 (16)<br>
-# GOT-NEXT:   Value: 0x400188<br>
+# GOT-NEXT:   Value: 0x{{[0-9A-F]+}}<br>
 # GOT:      Symbol {<br>
 # GOT:        Name: T0 (1)<br>
-# GOT-NEXT:   Value: 0x400154<br>
+# GOT-NEXT:   Value: 0x{{[0-9A-F]+}}<br>
 # GOT:      Symbol {<br>
 # GOT:        Name: LT1 (4)<br>
-# GOT-NEXT:   Value: 0x40017C<br>
+# GOT-NEXT:   Value: 0x[[LT1:[0-9A-F]+]]<br>
 # GOT:      Symbol {<br>
 # GOT:        Name: LT2 (8)<br>
-# GOT-NEXT:   Value: 0x400180<br>
+# GOT-NEXT:   Value: 0x{{[0-9A-F]+}}<br>
 # GOT:      Symbol {<br>
 # GOT:        Name: T1@ (1)<br>
 # GOT-NEXT:   Value: 0x0<br>
@@ -50,7 +50,7 @@<br>
 # GOT-NEXT:     Entry {<br>
 # GOT-NEXT:       Address: 0x401008<br>
 # GOT-NEXT:       Access: -32744<br>
-# GOT-NEXT:       Initial: 0x40017C<br>
+# GOT-NEXT:       Initial: 0x[[LT1]]<br>
 # GOT-NEXT:     }<br>
 # GOT-NEXT:     Entry {<br>
 # GOT-NEXT:       Address: 0x40100C<br>
@@ -65,7 +65,7 @@<br>
 # GOT-NEXT:     Entry {<br>
 # GOT-NEXT:       Address: 0x401014<br>
 # GOT-NEXT:       Access: -32732<br>
-# GOT-NEXT:       Initial: 0x400184<br>
+# GOT-NEXT:       Initial: 0x[[LT3]]<br>
 # GOT-NEXT:     }<br>
 # GOT-NEXT:     Entry {<br>
 # GOT-NEXT:       Address: 0x401018<br>
@@ -97,23 +97,23 @@<br>
 # GOT-NEXT: }<br>
<br>
 # RAW:      Contents of section .text:<br>
-# RAW-NEXT:  400154 2c800000 18800000 2c800000 30800000<br>
-#                   ^ = -32724 (T1)<br>
-#                            ^ = -32744 (LT1)<br>
-#                                     ^ -32724 (T1)<br>
-#                                              ^ -32720 (T2)<br>
-# RAW-NEXT:  400164 1c800000 20800000 00000000 00000000<br>
-#                   ^ -32740 (PAGE)<br>
-#                            ^ -32736 (PAGE)<br>
-#                                     ^ T1 OFST<br>
-#                                              ^ T2 OFST<br>
-# RAW-NEXT:  400174 7c010000 80010000 24800000 28800000<br>
-#                   ^ LT1 OFST<br>
-#                            ^ LT2 OFST<br>
-#                                     ^ = -32732 (LT3)<br>
-#                                              ^ -32728 (PAGE)<br>
-# RAW-NEXT:  400184 88010000 00000000<br>
-#                   ^ LT4 OFST<br>
+# RAW-NEXT:  {{[0-9a-f]+}} 2c800000 18800000 2c800000 30800000<br>
+#                          ^ = -32724 (T1)<br>
+#                                   ^ = -32744 (LT1)<br>
+#                                            ^ -32724 (T1)<br>
+#                                                     ^ -32720 (T2)<br>
+# RAW-NEXT:  {{[0-9a-f]+}} 1c800000 20800000 00000000 00000000<br>
+#                          ^ -32740 (PAGE)<br>
+#                                   ^ -32736 (PAGE)<br>
+#                                            ^ T1 OFST<br>
+#                                                     ^ T2 OFST<br>
+# RAW-NEXT:  {{[0-9a-f]+}} 9c010000 a0010000 24800000 28800000<br>
+#                          ^ LT1 OFST<br>
+#                                   ^ LT2 OFST<br>
+#                                            ^ = -32732 (LT3)<br>
+#                                                     ^ -32728 (PAGE)<br>
+# RAW-NEXT:  {{[0-9a-f]+}} a8010000 00000000<br>
+#                          ^ LT4 OFST<br>
<br>
 # so.o<br>
 ---<br>
<br>
Modified: lld/trunk/test/elf/Mips/got-page-64-micro.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_elf_Mips_got-2Dpage-2D64-2Dmicro.test-3Frev-3D243626-26r1-3D243625-26r2-3D243626-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=N04kHssF1tVsg-Pi98pf1dv-nDh7ocDOX2KqhIoJW0Y&s=DLPoQHjTFcDjn19pteWx7_ro4OO9RIS50qadRBgbQLc&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/got-page-64-micro.test?rev=243626&r1=243625&r2=243626&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/elf/Mips/got-page-64-micro.test (original)<br>
+++ lld/trunk/test/elf/Mips/got-page-64-micro.test Thu Jul 30 02:45:55 2015<br>
@@ -11,13 +11,13 @@<br>
<br>
 # GOT:      Symbol {<br>
 # GOT:        Name: T0<br>
-# GOT-NEXT:   Value: 0x1200001F9<br>
+# GOT-NEXT:   Value: 0x{{[0-9A-F]+}}<br>
 # GOT:      Symbol {<br>
 # GOT:        Name: LT1<br>
-# GOT-NEXT:   Value: 0x120000221<br>
+# GOT-NEXT:   Value: 0x[[LT1:[0-9A-F]+]]<br>
 # GOT:      Symbol {<br>
 # GOT:        Name: LT2<br>
-# GOT-NEXT:   Value: 0x120000225<br>
+# GOT-NEXT:   Value: 0x{{[0-9A-F]+}}<br>
 # GOT:      Symbol {<br>
 # GOT:        Name: T1@<br>
 # GOT-NEXT:   Value: 0x0<br>
@@ -45,7 +45,7 @@<br>
 # GOT-NEXT:     Entry {<br>
 # GOT-NEXT:       Address: 0x120001010<br>
 # GOT-NEXT:       Access: -32736<br>
-# GOT-NEXT:       Initial: 0x120000221<br>
+# GOT-NEXT:       Initial: 0x[[LT1]]<br>
 # GOT-NEXT:     }<br>
 # GOT-NEXT:     Entry {<br>
 # GOT-NEXT:       Address: 0x120001018<br>
@@ -92,7 +92,7 @@<br>
 #                                   ^ -32720 (PAGE)<br>
 #                                            ^ T1 OFST<br>
 #                                                     ^ T2 OFST<br>
-# RAW-NEXT:  {{[0-9a-f]+}} 21020000 25020000 00000000 00000000<br>
+# RAW-NEXT:  {{[0-9a-f]+}} 59020000 5d020000 00000000 00000000<br>
 #                          ^ LT1 OFST<br>
 #                                   ^ LT2 OFST<br>
<br>
<br>
Modified: lld/trunk/test/elf/Mips/got-page-64.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_elf_Mips_got-2Dpage-2D64.test-3Frev-3D243626-26r1-3D243625-26r2-3D243626-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=N04kHssF1tVsg-Pi98pf1dv-nDh7ocDOX2KqhIoJW0Y&s=NbP-WTPQoAdKcSLO-kr1Xpl1owa7p9RS340pUc-HYkU&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/got-page-64.test?rev=243626&r1=243625&r2=243626&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/elf/Mips/got-page-64.test (original)<br>
+++ lld/trunk/test/elf/Mips/got-page-64.test Thu Jul 30 02:45:55 2015<br>
@@ -10,13 +10,13 @@<br>
<br>
 # GOT:      Symbol {<br>
 # GOT:        Name: T0 (1)<br>
-# GOT-NEXT:   Value: 0x1200001F0<br>
+# GOT-NEXT:   Value: 0x{{[0-9A-F]+}}<br>
 # GOT:      Symbol {<br>
 # GOT:        Name: LT1 (4)<br>
-# GOT-NEXT:   Value: 0x120000218<br>
+# GOT-NEXT:   Value: 0x[[LT1:[0-9A-F]+]]<br>
 # GOT:      Symbol {<br>
 # GOT:        Name: LT2 (8)<br>
-# GOT-NEXT:   Value: 0x12000021C<br>
+# GOT-NEXT:   Value: 0x{{[0-9A-F]+}}<br>
 # GOT:      Symbol {<br>
 # GOT:        Name: T1@ (1)<br>
 # GOT-NEXT:   Value: 0x0<br>
@@ -44,7 +44,7 @@<br>
 # GOT-NEXT:     Entry {<br>
 # GOT-NEXT:       Address: 0x120001010<br>
 # GOT-NEXT:       Access: -32736<br>
-# GOT-NEXT:       Initial: 0x120000218<br>
+# GOT-NEXT:       Initial: 0x[[LT1]]<br>
 # GOT-NEXT:     }<br>
 # GOT-NEXT:     Entry {<br>
 # GOT-NEXT:       Address: 0x120001018<br>
@@ -81,19 +81,19 @@<br>
 # GOT-NEXT: }<br>
<br>
 # RAW:      Contents of section .text:<br>
-# RAW-NEXT:  1200001f0 38800000 20800000 38800000 40800000  8... ...8...@...<br>
-#                      ^ = -32712 (T1)<br>
-#                               ^ = -32736 (LT1)<br>
-#                                        ^ -32712 (T1)<br>
-#                                                 ^ -32704 (T2)<br>
-# RAW-NEXT:  120000200 28800000 30800000 00000000 00000000  (...0...........<br>
-#                      ^ -32728 (PAGE)<br>
-#                               ^ -32720 (PAGE)<br>
-#                                        ^ T1 OFST<br>
-#                                                 ^ T2 OFST<br>
-# RAW-NEXT:  120000210 18020000 1c020000 00000000 00000000  ................<br>
-#                      ^ LT1 OFST<br>
-#                               ^ LT2 OFST<br>
+# RAW-NEXT:  {{[0-9a-f]+}} 38800000 20800000 38800000 40800000<br>
+#                          ^ = -32712 (T1)<br>
+#                                   ^ = -32736 (LT1)<br>
+#                                            ^ -32712 (T1)<br>
+#                                                     ^ -32704 (T2)<br>
+# RAW-NEXT:  {{[0-9a-f]+}} 28800000 30800000 00000000 00000000<br>
+#                          ^ -32728 (PAGE)<br>
+#                                   ^ -32720 (PAGE)<br>
+#                                            ^ T1 OFST<br>
+#                                                     ^ T2 OFST<br>
+# RAW-NEXT:  {{[0-9a-f]+}} 50020000 54020000 00000000 00000000<br>
+#                          ^ LT1 OFST<br>
+#                                   ^ LT2 OFST<br>
<br>
 # so.o<br>
 ---<br>
<br>
Modified: lld/trunk/test/elf/Mips/hilo16-1.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_elf_Mips_hilo16-2D1.test-3Frev-3D243626-26r1-3D243625-26r2-3D243626-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=N04kHssF1tVsg-Pi98pf1dv-nDh7ocDOX2KqhIoJW0Y&s=S90pSBCYB4-prPBFR3IqWNKJGqCdl37u2zo0fjLmIxc&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/hilo16-1.test?rev=243626&r1=243625&r2=243626&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/elf/Mips/hilo16-1.test (original)<br>
+++ lld/trunk/test/elf/Mips/hilo16-1.test Thu Jul 30 02:45:55 2015<br>
@@ -1,77 +1,40 @@<br>
+# REQUIRES: mips<br>
+<br>
 # Check handling multiple HI16 relocation followed by a single LO16 relocation.<br>
<br>
-# RUN: yaml2obj -format=elf %s > %t.o<br>
+# RUN: llvm-mc -arch=mipsel -filetype=obj -o=%t.o %s<br>
 # RUN: lld -flavor gnu -target mipsel -e T0 -o %t.exe %t.o<br>
-# RUN: llvm-objdump -s -t %t.exe | FileCheck %s<br>
+# RUN: llvm-objdump -d -t %t.exe | FileCheck %s<br>
<br>
-# CHECK: Contents of section .text:<br>
-# CHECK-NEXT: 400110 4000083c 4000083c 4000083c 4000083c<br>
-# CHECK-NEXT: 400120 4200083c 3e00083c 4002083c 40fe083c<br>
-# CHECK-NEXT: 400130 35010885 00000000<br>
+# CHECK: Disassembly of section .text:<br>
+# CHECK-NEXT: T0:<br>
+# CHECK-NEXT:        400180:   40 00 08 3c   lui   $8, 64<br>
+# CHECK-NEXT: {{[0-9a-f]+}}:   40 00 08 3c   lui   $8, 64<br>
+# CHECK-NEXT: {{[0-9a-f]+}}:   40 00 08 3c   lui   $8, 64<br>
+# CHECK-NEXT: {{[0-9a-f]+}}:   40 00 08 3c   lui   $8, 64<br>
+# CHECK-NEXT: {{[0-9a-f]+}}:   42 00 08 3c   lui   $8, 66<br>
+# CHECK-NEXT: {{[0-9a-f]+}}:   3e 00 08 3c   lui   $8, 62<br>
+# CHECK-NEXT: {{[0-9a-f]+}}:   40 02 08 3c   lui   $8, 576<br>
+# CHECK-NEXT: {{[0-9a-f]+}}:   40 fe 08 3c   lui   $8, 65088<br>
+# CHECK-NEXT: {{[0-9a-f]+}}:   a5 01 08 25   addiu $8, $8, 421<br>
<br>
 # CHECK: SYMBOL TABLE:<br>
-# CHECK: 00400110 g F .text  00000024 T0<br>
-# CHECK: 00400134 g F .text  00000004 T1<br>
+# CHECK: 00400180 g F .text  00000024 T0<br>
+# CHECK: 004001a4 g F .text  00000004 T1<br>
<br>
-FileHeader:<br>
-  Class:   ELFCLASS32<br>
-  Data:    ELFDATA2LSB<br>
-  Type:    ET_REL<br>
-  Machine: EM_MIPS<br>
-  Flags:   [EF_MIPS_CPIC, EF_MIPS_ABI_O32, EF_MIPS_ARCH_32R2]<br>
-<br>
-Sections:<br>
-- Name:         .text<br>
-  Type:         SHT_PROGBITS<br>
-  Content:      "0000083c0000083c0000083c0000083c0200083cfeff083c0002083c00fe083c0100088500000000"<br>
-#                ^ %hi(T1+1)     ^ %hi(T1+0x1ff) ^ %hi(T1+0x1ffff)       ^ %hi(T1-0x1ffffff)<br>
-#                        ^ %hi(T1-1)     ^ %hi(T1-0x1ff) ^ %hi(T1-0x1ffff)       ^ %lo(T1-0x1ffffff)<br>
-#                                                                ^ %hi(T1+0x1ffffff)<br>
-  AddressAlign: 16<br>
-  Flags:        [ SHF_ALLOC, SHF_EXECINSTR ]<br>
-<br>
-- Name:         .rel.text<br>
-  Type:         SHT_REL<br>
-  Info:         .text<br>
-  AddressAlign: 4<br>
-  Relocations:<br>
-    - Offset: 0x0<br>
-      Symbol: T1<br>
-      Type:   R_MIPS_HI16<br>
-    - Offset: 0x4<br>
-      Symbol: T1<br>
-      Type:   R_MIPS_HI16<br>
-    - Offset: 0x8<br>
-      Symbol: T1<br>
-      Type:   R_MIPS_HI16<br>
-    - Offset: 0xC<br>
-      Symbol: T1<br>
-      Type:   R_MIPS_HI16<br>
-    - Offset: 0x10<br>
-      Symbol: T1<br>
-      Type:   R_MIPS_HI16<br>
-    - Offset: 0x14<br>
-      Symbol: T1<br>
-      Type:   R_MIPS_HI16<br>
-    - Offset: 0x18<br>
-      Symbol: T1<br>
-      Type:   R_MIPS_HI16<br>
-    - Offset: 0x1C<br>
-      Symbol: T1<br>
-      Type:   R_MIPS_HI16<br>
-    - Offset: 0x20<br>
-      Symbol: T1<br>
-      Type:   R_MIPS_LO16<br>
-<br>
-Symbols:<br>
-  Global:<br>
-    - Name:    T0<br>
-      Section: .text<br>
-      Type:    STT_FUNC<br>
-      Value:   0<br>
-      Size:    36<br>
-    - Name:    T1<br>
-      Section: .text<br>
-      Type:    STT_FUNC<br>
-      Value:   36<br>
-      Size:    4<br>
+  .text<br>
+  .globl  T0<br>
+T0:<br>
+  lui     $8, %hi(T1+1)<br>
+  lui     $8, %hi(T1-1)<br>
+  lui     $8, %hi(T1+0x1ff)<br>
+  lui     $8, %hi(T1+(-0x1ff))<br>
+  lui     $8, %hi(T1+0x1ffff)<br>
+  lui     $8, %hi(T1+(-0x1ffff))<br>
+  lui     $8, %hi(T1+0x1ffffff)<br>
+  lui     $8, %hi(T1+(-0x1ffffff))<br>
+  addiu   $8, $8, %lo(T1+(-0x1ffffff))<br>
+<br>
+  .globl  T1<br>
+T1:<br>
+  nop<br>
<br>
Modified: lld/trunk/test/elf/Mips/hilo16-2.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_elf_Mips_hilo16-2D2.test-3Frev-3D243626-26r1-3D243625-26r2-3D243626-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=N04kHssF1tVsg-Pi98pf1dv-nDh7ocDOX2KqhIoJW0Y&s=camgF-TZ5e-4alEvhpoOmCUhGr6dRMj5tH-svp76ilU&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/hilo16-2.test?rev=243626&r1=243625&r2=243626&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/elf/Mips/hilo16-2.test (original)<br>
+++ lld/trunk/test/elf/Mips/hilo16-2.test Thu Jul 30 02:45:55 2015<br>
@@ -1,131 +1,70 @@<br>
+# REQUIRES: mips<br>
+<br>
 # Check handling of HI16 and LO16 relocations for regular symbol.<br>
 #<br>
 # R_MIPS_HI16: (AHL + S) - (short)(AHL + S)<br>
 # R_MIPS_LO16: AHL + S<br>
 #   where AHL = (AHI << 16) + ALO<br>
<br>
-# RUN: yaml2obj -format=elf %s > %t.o<br>
+# RUN: llvm-mc -arch=mipsel -filetype=obj -o=%t.o %s<br>
 # RUN: lld -flavor gnu -target mipsel -e T0 -o %t.exe %t.o<br>
-# RUN: llvm-objdump -s -t %t.exe | FileCheck %s<br>
+# RUN: llvm-objdump -d %t.exe | FileCheck %s<br>
+<br>
+# CHECK: Disassembly of section .text:<br>
+# CHECK-NEXT: T0:<br>
+# CHECK-NEXT:   400180:          40 00 08 3c   lui   $8, 64<br>
+# CHECK-NEXT:   {{[0-9a-f]+}}:   c1 01 08 25   addiu $8, $8, 449<br>
+# CHECK-NEXT:   {{[0-9a-f]+}}:   40 00 08 3c   lui   $8, 64<br>
+# CHECK-NEXT:   {{[0-9a-f]+}}:   bf 01 08 25   addiu $8, $8, 447<br>
+# CHECK-NEXT:   {{[0-9a-f]+}}:   40 00 08 3c   lui   $8, 64<br>
+# CHECK-NEXT:   {{[0-9a-f]+}}:   bf 03 08 25   addiu $8, $8, 959<br>
+# CHECK-NEXT:   {{[0-9a-f]+}}:   40 00 08 3c   lui   $8, 64<br>
+# CHECK-NEXT:   {{[0-9a-f]+}}:   c1 ff 08 25   addiu $8, $8, -63<br>
+#<br>
+# CHECK:      T1:<br>
+# CHECK-NEXT:   4001a0:          42 00 08 3c   lui   $8, 66<br>
+# CHECK-NEXT:   {{[0-9a-f]+}}:   bf 01 08 25   addiu $8, $8, 447<br>
+# CHECK-NEXT:   {{[0-9a-f]+}}:   3e 00 08 3c   lui   $8, 62<br>
+# CHECK-NEXT:   {{[0-9a-f]+}}:   c1 01 08 25   addiu $8, $8, 449<br>
+# CHECK-NEXT:   {{[0-9a-f]+}}:   40 02 08 3c   lui   $8, 576<br>
+# CHECK-NEXT:   {{[0-9a-f]+}}:   bf 01 08 25   addiu $8, $8, 447<br>
+# CHECK-NEXT:   {{[0-9a-f]+}}:   40 fe 08 3c   lui   $8, 65088<br>
+# CHECK-NEXT:   {{[0-9a-f]+}}:   c1 01 08 25   addiu $8, $8, 449<br>
+#<br>
+# CHECK:      T2:<br>
+# CHECK-NEXT:   4001c0:          00 00 00 00   nop<br>
<br>
-# CHECK: Contents of section .text:<br>
-# CHECK-NEXT: 400110 4000083c 51010885 4000083c 4f010885<br>
-# CHECK-NEXT: 400120 4000083c 4f030885 4000083c 51ff0885<br>
-# CHECK-NEXT: 400130 4200083c 4f010885 3e00083c 51010885<br>
-# CHECK-NEXT: 400140 4002083c 4f010885 40fe083c 51010885<br>
-# CHECK-NEXT: 400150 00000000<br>
-<br>
-# CHECK: SYMBOL TABLE:<br>
-# CHECK: 00400110 g F .text 00000020 T0<br>
-# CHECK: 00400130 g F .text 00000020 T1<br>
-# CHECK: 00400150 g F .text 00000004 T2<br>
-<br>
-FileHeader:<br>
-  Class:   ELFCLASS32<br>
-  Data:    ELFDATA2LSB<br>
-  Type:    ET_REL<br>
-  Machine: EM_MIPS<br>
-  Flags:   [EF_MIPS_CPIC, EF_MIPS_ABI_O32, EF_MIPS_ARCH_32R2]<br>
-<br>
-Sections:<br>
-- Name:         .text.1<br>
-  Type:         SHT_PROGBITS<br>
-  Content:      "0000083c010008850000083cffff08850000083cff0108850000083c01fe0885"<br>
-#                ^ %hi(T2+1)     ^ %hi(T2-1)     ^ %hi(T2+0x1ff) ^ %hi(T2-0x1ff)<br>
-#                        ^ %lo(T2+1)     ^ %lo(T2-1)     ^ %lo(T2+0x1ff) ^ %lo(T2-0x1ff)<br>
-  AddressAlign: 16<br>
-  Flags:        [ SHF_ALLOC, SHF_EXECINSTR ]<br>
-<br>
-- Name:         .rel.text.1<br>
-  Type:         SHT_REL<br>
-  Info:         .text.1<br>
-  AddressAlign: 4<br>
-  Relocations:<br>
-    - Offset: 0x0<br>
-      Symbol: T2<br>
-      Type:   R_MIPS_HI16<br>
-    - Offset: 0x4<br>
-      Symbol: T2<br>
-      Type:   R_MIPS_LO16<br>
-    - Offset: 0x8<br>
-      Symbol: T2<br>
-      Type:   R_MIPS_HI16<br>
-    - Offset: 0xC<br>
-      Symbol: T2<br>
-      Type:   R_MIPS_LO16<br>
-    - Offset: 0x10<br>
-      Symbol: T2<br>
-      Type:   R_MIPS_HI16<br>
-    - Offset: 0x14<br>
-      Symbol: T2<br>
-      Type:   R_MIPS_LO16<br>
-    - Offset: 0x18<br>
-      Symbol: T2<br>
-      Type:   R_MIPS_HI16<br>
-    - Offset: 0x1C<br>
-      Symbol: T2<br>
-      Type:   R_MIPS_LO16<br>
-<br>
-- Name:         .text.2<br>
-  Type:         SHT_PROGBITS<br>
-  Content:      "0200083cffff0885feff083c010008850002083cffff088500fe083c01000885"<br>
-#                ^ %hi(T2+0x1ffff)               ^ %hi(T2+0x1ffffff)<br>
-#                        ^ %lo(T2+0x1ffff)               ^ %lo(T2+0x1ffffff)<br>
-#                                ^ %hi(T2-0x1ffff)               ^ %hi(T2-0x1ffffff)<br>
-#                                        ^ %lo(T2-0x1ffff)               ^ %lo(T2-0x1ffffff)<br>
-  AddressAlign: 16<br>
-  Flags:        [ SHF_ALLOC, SHF_EXECINSTR ]<br>
-<br>
-- Name:         .rel.text.2<br>
-  Type:         SHT_REL<br>
-  Info:         .text.2<br>
-  AddressAlign: 4<br>
-  Relocations:<br>
-    - Offset: 0x0<br>
-      Symbol: T2<br>
-      Type:   R_MIPS_HI16<br>
-    - Offset: 0x4<br>
-      Symbol: T2<br>
-      Type:   R_MIPS_LO16<br>
-    - Offset: 0x8<br>
-      Symbol: T2<br>
-      Type:   R_MIPS_HI16<br>
-    - Offset: 0xC<br>
-      Symbol: T2<br>
-      Type:   R_MIPS_LO16<br>
-    - Offset: 0x10<br>
-      Symbol: T2<br>
-      Type:   R_MIPS_HI16<br>
-    - Offset: 0x14<br>
-      Symbol: T2<br>
-      Type:   R_MIPS_LO16<br>
-    - Offset: 0x18<br>
-      Symbol: T2<br>
-      Type:   R_MIPS_HI16<br>
-    - Offset: 0x1C<br>
-      Symbol: T2<br>
-      Type:   R_MIPS_LO16<br>
-<br>
-- Name:         .text.3<br>
-  Type:         SHT_PROGBITS<br>
-  Content:      "00000000"<br>
-  AddressAlign: 16<br>
-  Flags:        [ SHF_ALLOC, SHF_EXECINSTR ]<br>
-<br>
-Symbols:<br>
-  Global:<br>
-    - Name:    T0<br>
-      Section: .text.1<br>
-      Type:    STT_FUNC<br>
-      Value:   0<br>
-      Size:    64<br>
-    - Name:    T1<br>
-      Section: .text.2<br>
-      Type:    STT_FUNC<br>
-      Value:   0<br>
-      Size:    64<br>
-    - Name:    T2<br>
-      Section: .text.3<br>
-      Type:    STT_FUNC<br>
-      Value:   0<br>
-      Size:    4<br>
+  .section  .text.1,"ax",@progbits<br>
+  .align 4<br>
+  .globl  T0<br>
+T0:<br>
+  lui     $8, %hi(T2+1)<br>
+  addiu   $8, $8, %lo(T2+1)<br>
+  lui     $8, %hi(T2+(-1))<br>
+  addiu   $8, $8, %lo(T2+(-1))<br>
+  lui     $8, %hi(T2+0x1ff)<br>
+  addiu   $8, $8, %lo(T2+0x1ff)<br>
+  lui     $8, %hi(T2+(-0x1ff))<br>
+  addiu   $8, $8, %lo(T2+(-0x1ff))<br>
+  .size   T0, .-T0<br>
+<br>
+  .section  .text.2,"ax",@progbits<br>
+  .align 4<br>
+  .globl  T1<br>
+T1:<br>
+  lui     $8, %hi(T2+0x1ffff)<br>
+  addiu   $8, $8, %lo(T2+0x1ffff)<br>
+  lui     $8, %hi(T2+(-0x1ffff))<br>
+  addiu   $8, $8, %lo(T2+(-0x1ffff))<br>
+  lui     $8, %hi(T2+0x1ffffff)<br>
+  addiu   $8, $8, %lo(T2+0x1ffffff)<br>
+  lui     $8, %hi(T2+(-0x1ffffff))<br>
+  addiu   $8, $8, %lo(T2+(-0x1ffffff))<br>
+  .size   T1, .-T1<br>
+<br>
+  .section  .text.3,"ax",@progbits<br>
+  .align 4<br>
+  .globl  T2<br>
+T2:<br>
+  nop<br>
+  .size   T2, .-T2<br>
<br>
Modified: lld/trunk/test/elf/Mips/hilo16-8-micro.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_elf_Mips_hilo16-2D8-2Dmicro.test-3Frev-3D243626-26r1-3D243625-26r2-3D243626-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=N04kHssF1tVsg-Pi98pf1dv-nDh7ocDOX2KqhIoJW0Y&s=8HWRx2A--7YHIp5oH-sN0PXFfxqJXgBTtqk_1rNlse8&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/hilo16-8-micro.test?rev=243626&r1=243625&r2=243626&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/elf/Mips/hilo16-8-micro.test (original)<br>
+++ lld/trunk/test/elf/Mips/hilo16-8-micro.test Thu Jul 30 02:45:55 2015<br>
@@ -1,159 +1,81 @@<br>
+# REQUIRES: mips<br>
+<br>
 # Check calculation of AHL addendums for R_MICROMIPS_HI16 / R_MICROMIPS_LO16<br>
 # relocations for a regular symbol.<br>
<br>
-# RUN: yaml2obj -format=elf %s > %t.o<br>
+# RUN: llvm-mc -arch=mipsel -filetype=obj -mattr=micromips -o=%t.o %s<br>
 # RUN: lld -flavor gnu -target mipsel -e T0 -o %t.exe %t.o<br>
-# RUN: llvm-objdump -s -t %t.exe | FileCheck %s<br>
+# RUN: llvm-objdump -d -mattr=micromips %t.exe | FileCheck %s<br>
<br>
-# CHECK:      Contents of section .text:<br>
-# CHECK-NEXT:  400110 a8414000 083d5201 a8414100 083d5081<br>
-# CHECK-NEXT:  400120 a8414100 083dd181 a8414200 083d5181<br>
-# CHECK-NEXT:  400130 a8414040 083d5101 a8414080 083d5101<br>
-# CHECK-NEXT:  400140 a841c180 083dd181 00000000 00000000<br>
-# CHECK-NEXT:  400150 a8414000 a8414000 a8414100 a8414200<br>
-# CHECK-NEXT:  400160 a8414040 a8414080 a841c180 083d9181<br>
-<br>
-# CHECK: SYMBOL TABLE:<br>
-# CHECK: 00400110 g F .text 00000020 T0<br>
-# CHECK: 00400130 g F .text 00000018 T1<br>
-# CHECK: 00400150 g F .text 00000020 T2<br>
-<br>
-FileHeader:<br>
-  Class:   ELFCLASS32<br>
-  Data:    ELFDATA2LSB<br>
-  Type:    ET_REL<br>
-  Machine: EM_MIPS<br>
-  Flags:   [EF_MIPS_CPIC, EF_MIPS_ABI_O32, EF_MIPS_ARCH_32R2, EF_MIPS_MICROMIPS]<br>
-<br>
-Sections:<br>
-- Name:         .text.1<br>
-  Type:         SHT_PROGBITS<br>
-  Content:      "A8410000083D0100A8410000083DFF7FA8410100083D8080A8410200083D0080"<br>
-#                ^ %hi(T2+1)     ^ %hi(T2+0x7fff)        ^ %lo(T2+0x8080)<br>
-#                        ^ %lo(T2+1)     ^ %lo(T2+0x7fff)        ^ %hi(T2+0x18000)<br>
-#                                                ^ %hi(T2+0x8080)        ^ %lo(T2+0x18000)<br>
-  AddressAlign: 16<br>
-  Flags:        [ SHF_ALLOC, SHF_EXECINSTR ]<br>
-<br>
-- Name:         .rel.text.1<br>
-  Type:         SHT_REL<br>
-  Info:         .text.1<br>
-  AddressAlign: 4<br>
-  Relocations:<br>
-    - Offset: 0x0<br>
-      Symbol: T2<br>
-      Type:   R_MICROMIPS_HI16<br>
-    - Offset: 0x4<br>
-      Symbol: T2<br>
-      Type:   R_MICROMIPS_LO16<br>
-    - Offset: 0x8<br>
-      Symbol: T2<br>
-      Type:   R_MICROMIPS_HI16<br>
-    - Offset: 0xC<br>
-      Symbol: T2<br>
-      Type:   R_MICROMIPS_LO16<br>
-    - Offset: 0x10<br>
-      Symbol: T2<br>
-      Type:   R_MICROMIPS_HI16<br>
-    - Offset: 0x14<br>
-      Symbol: T2<br>
-      Type:   R_MICROMIPS_LO16<br>
-    - Offset: 0x18<br>
-      Symbol: T2<br>
-      Type:   R_MICROMIPS_HI16<br>
-    - Offset: 0x1C<br>
-      Symbol: T2<br>
-      Type:   R_MICROMIPS_LO16<br>
-<br>
-- Name:         .text.2<br>
-  Type:         SHT_PROGBITS<br>
-  Content:      "A8410040083D0000A8410080083D0000A8418180083D8080"<br>
-#                ^ %hi(T2+0x40000000)    ^ %lo(T2+0x80000000)<br>
-#                        ^ %lo(T2+0x40000000)    ^ %hi(T2+0x80808080)<br>
-#                                ^ %hi(T2+0x80000000)    ^ %lo(T2+0x80808080)<br>
-  AddressAlign: 16<br>
-  Flags:        [ SHF_ALLOC, SHF_EXECINSTR ]<br>
-<br>
-- Name:         .rel.text.2<br>
-  Type:         SHT_REL<br>
-  Info:         .text.2<br>
-  AddressAlign: 4<br>
-  Relocations:<br>
-    - Offset: 0x0<br>
-      Symbol: T2<br>
-      Type:   R_MICROMIPS_HI16<br>
-    - Offset: 0x4<br>
-      Symbol: T2<br>
-      Type:   R_MICROMIPS_LO16<br>
-    - Offset: 0x8<br>
-      Symbol: T2<br>
-      Type:   R_MICROMIPS_HI16<br>
-    - Offset: 0xC<br>
-      Symbol: T2<br>
-      Type:   R_MICROMIPS_LO16<br>
-    - Offset: 0x10<br>
-      Symbol: T2<br>
-      Type:   R_MICROMIPS_HI16<br>
-    - Offset: 0x14<br>
-      Symbol: T2<br>
-      Type:   R_MICROMIPS_LO16<br>
-<br>
-- Name:         .text.3<br>
-  Type:         SHT_PROGBITS<br>
-  Content:      "A8410000A8410000A8410100A8410200A8410040A8410080A8418180083D8080"<br>
-#                ^ %hi(T0+0x1)   ^ %hi(T0+0x8080)        ^ %hi(T0+0x80000000)<br>
-#                        ^ %hi(T0+0x7fff)        ^ %hi(T0+0x40000000)    ^ %lo(T0+0x80808080)<br>
-#                                        ^ %hi(T0+0x18000)       ^ %hi(T0+0x80808080)<br>
-  AddressAlign: 16<br>
-  Flags:        [ SHF_ALLOC, SHF_EXECINSTR ]<br>
-<br>
-- Name:         .rel.text.3<br>
-  Type:         SHT_REL<br>
-  Info:         .text.3<br>
-  AddressAlign: 4<br>
-  Relocations:<br>
-    - Offset: 0x0<br>
-      Symbol: T0<br>
-      Type:   R_MICROMIPS_HI16<br>
-    - Offset: 0x4<br>
-      Symbol: T0<br>
-      Type:   R_MICROMIPS_HI16<br>
-    - Offset: 0x8<br>
-      Symbol: T0<br>
-      Type:   R_MICROMIPS_HI16<br>
-    - Offset: 0xC<br>
-      Symbol: T0<br>
-      Type:   R_MICROMIPS_HI16<br>
-    - Offset: 0x10<br>
-      Symbol: T0<br>
-      Type:   R_MICROMIPS_HI16<br>
-    - Offset: 0x14<br>
-      Symbol: T0<br>
-      Type:   R_MICROMIPS_HI16<br>
-    - Offset: 0x18<br>
-      Symbol: T0<br>
-      Type:   R_MICROMIPS_HI16<br>
-    - Offset: 0x1C<br>
-      Symbol: T0<br>
-      Type:   R_MICROMIPS_LO16<br>
-<br>
-Symbols:<br>
-  Global:<br>
-    - Name:    T0<br>
-      Section: .text.1<br>
-      Type:    STT_FUNC<br>
-      Value:   0<br>
-      Size:    32<br>
-      Other:   [STO_MIPS_MICROMIPS]<br>
-    - Name:    T1<br>
-      Section: .text.2<br>
-      Type:    STT_FUNC<br>
-      Value:   0<br>
-      Size:    24<br>
-      Other:   [STO_MIPS_MICROMIPS]<br>
-    - Name:    T2<br>
-      Section: .text.3<br>
-      Type:    STT_FUNC<br>
-      Value:   0<br>
-      Size:    32<br>
-      Other:   [STO_MIPS_MICROMIPS]<br>
+# CHECK:      Disassembly of section .text:<br>
+# CHECK-NEXT: T0:<br>
+# CHECK-NEXT:   400180:       a8 41 40 00     lui     $8, 64<br>
+# CHECK-NEXT:   400184:       08 31 c1 01     addiu   $8, $8, 449<br>
+# CHECK-NEXT:   400188:       a8 41 41 00     lui     $8, 65<br>
+# CHECK-NEXT:   40018c:       08 31 bf 81     addiu   $8, $8, -32321<br>
+# CHECK-NEXT:   400190:       a8 41 41 00     lui     $8, 65<br>
+# CHECK-NEXT:   400194:       08 31 40 82     addiu   $8, $8, -32192<br>
+# CHECK-NEXT:   400198:       a8 41 42 00     lui     $8, 66<br>
+# CHECK-NEXT:   40019c:       08 31 c0 81     addiu   $8, $8, -32320<br>
+#<br>
+# CHECK:      T1:<br>
+# CHECK-NEXT:   4001a0:       a8 41 40 40     lui     $8, 16448<br>
+# CHECK-NEXT:   4001a4:       08 31 c0 01     addiu   $8, $8, 448<br>
+# CHECK-NEXT:   4001a8:       a8 41 40 80     lui     $8, 32832<br>
+# CHECK-NEXT:   4001ac:       08 31 c0 01     addiu   $8, $8, 448<br>
+# CHECK-NEXT:   4001b0:       a8 41 c1 80     lui     $8, 32961<br>
+# CHECK-NEXT:   4001b4:       08 31 40 82     addiu   $8, $8, -32192<br>
+# CHECK-NEXT:   4001b8:       00 00 00 00     nop<br>
+# CHECK-NEXT:   4001bc:       00 00 00 00     nop<br>
+#<br>
+# CHECK:      T2:<br>
+# CHECK-NEXT:   4001c0:       00 00 00 00     nop<br>
+# CHECK-NEXT:   4001c4:       a8 41 40 00     lui     $8, 64<br>
+# CHECK-NEXT:   4001c8:       a8 41 40 00     lui     $8, 64<br>
+# CHECK-NEXT:   4001cc:       a8 41 41 00     lui     $8, 65<br>
+# CHECK-NEXT:   4001d0:       a8 41 42 00     lui     $8, 66<br>
+# CHECK-NEXT:   4001d4:       a8 41 40 40     lui     $8, 16448<br>
+# CHECK-NEXT:   4001d8:       a8 41 40 80     lui     $8, 32832<br>
+# CHECK-NEXT:   4001dc:       a8 41 c1 80     lui     $8, 32961<br>
+# CHECK-NEXT:   4001e0:       08 31 00 82     addiu   $8, $8, -32256<br>
+<br>
+  .section  .text.1,"ax",@progbits<br>
+  .align 4<br>
+  .globl  T0<br>
+T0:<br>
+  lui     $8, %hi(T2+1)<br>
+  addiu   $8, $8, %lo(T2+1)<br>
+  lui     $8, %hi(T2+0x7fff)<br>
+  addiu   $8, $8, %lo(T2+0x7fff)<br>
+  lui     $8, %hi(T2+0x8080)<br>
+  addiu   $8, $8, %lo(T2+0x8080)<br>
+  lui     $8, %hi(T2+0x18000)<br>
+  addiu   $8, $8, %lo(T2+0x18000)<br>
+  .size   T0, .-T0<br>
+<br>
+  .section  .text.2,"ax",@progbits<br>
+  .align 4<br>
+  .globl  T1<br>
+T1:<br>
+  lui     $8, %hi(T2+0x40000000)<br>
+  addiu   $8, $8, %lo(T2+0x40000000)<br>
+  lui     $8, %hi(T2+0x80000000)<br>
+  addiu   $8, $8, %lo(T2+0x80000000)<br>
+  lui     $8, %hi(T2+0x80808080)<br>
+  addiu   $8, $8, %lo(T2+0x80808080)<br>
+  .size   T1, .-T1<br>
+<br>
+  .section  .text.3,"ax",@progbits<br>
+  .align 4<br>
+  .globl  T2<br>
+T2:<br>
+  nop<br>
+  lui     $8, %hi(T0+0x1)<br>
+  lui     $8, %hi(T0+0x7fff)<br>
+  lui     $8, %hi(T0+0x8080)<br>
+  lui     $8, %hi(T0+0x18000)<br>
+  lui     $8, %hi(T0+0x40000000)<br>
+  lui     $8, %hi(T0+0x80000000)<br>
+  lui     $8, %hi(T0+0x80808080)<br>
+  addiu   $8, $8, %lo(T0+0x80808080)<br>
+  .size   T2, .-T2<br>
<br>
Modified: lld/trunk/test/elf/Mips/jalx.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_elf_Mips_jalx.test-3Frev-3D243626-26r1-3D243625-26r2-3D243626-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=N04kHssF1tVsg-Pi98pf1dv-nDh7ocDOX2KqhIoJW0Y&s=Xpv4NDwGmN6_IK2Jj_osNKxGEGPhyZyJrbEU52wi3bM&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/jalx.test?rev=243626&r1=243625&r2=243626&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/elf/Mips/jalx.test (original)<br>
+++ lld/trunk/test/elf/Mips/jalx.test Thu Jul 30 02:45:55 2015<br>
@@ -6,12 +6,12 @@<br>
 # RUN: llvm-nm %t.exe | FileCheck -check-prefix=SYM %s<br>
<br>
 # RAW:      Contents of section .text:<br>
-# RAW-NEXT:  400110 00000000 44001074 10f04500 46001074<br>
+# RAW-NEXT:  400130 00000000 4c001074 10f04d00 4e001074<br>
<br>
-# SYM: 00400118 T M1<br>
-# SYM: 00400110 T M2<br>
-# SYM: 0040011c T T1<br>
-# SYM: 00400114 T T2<br>
+# SYM: 00400138 T M1<br>
+# SYM: 00400130 T M2<br>
+# SYM: 0040013c T T1<br>
+# SYM: 00400134 T T2<br>
<br>
 FileHeader:<br>
   Class:    ELFCLASS32<br>
<br>
Modified: lld/trunk/test/elf/Mips/la25-stub-be.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_elf_Mips_la25-2Dstub-2Dbe.test-3Frev-3D243626-26r1-3D243625-26r2-3D243626-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=N04kHssF1tVsg-Pi98pf1dv-nDh7ocDOX2KqhIoJW0Y&s=X4m7_jaPdHwxqATkVd2jDkVTBPKgsf_tp9yCIITCjzY&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/la25-stub-be.test?rev=243626&r1=243625&r2=243626&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/elf/Mips/la25-stub-be.test (original)<br>
+++ lld/trunk/test/elf/Mips/la25-stub-be.test Thu Jul 30 02:45:55 2015<br>
@@ -9,10 +9,10 @@<br>
<br>
 # RUN: llvm-objdump -disassemble %t.exe | FileCheck %s<br>
<br>
-# CHECK:       400150:   3c 19 00 40     lui     $25, 64<br>
-# CHECK-NEXT:  400154:   08 10 00 48     j       4194592<br>
-# CHECK-NEXT:  400158:   27 39 01 20     addiu   $25, $25, 288<br>
-# CHECK-NEXT:  40015c:   00 00 00 00     nop<br>
+# CHECK:       400170:   3c 19 00 40     lui     $25, 64<br>
+# CHECK-NEXT:  400174:   08 10 00 50     j       4194624<br>
+# CHECK-NEXT:  400178:   27 39 01 40     addiu   $25, $25, 320<br>
+# CHECK-NEXT:  40017c:   00 00 00 00     nop<br>
<br>
 # npic.o<br>
 ---<br>
<br>
Modified: lld/trunk/test/elf/Mips/la25-stub-micro-be.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_elf_Mips_la25-2Dstub-2Dmicro-2Dbe.test-3Frev-3D243626-26r1-3D243625-26r2-3D243626-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=N04kHssF1tVsg-Pi98pf1dv-nDh7ocDOX2KqhIoJW0Y&s=0UVy5ZEkr7c1wIpOvAb3Jv7tKDG_1qSVucNsa8yNiM4&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/la25-stub-micro-be.test?rev=243626&r1=243625&r2=243626&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/elf/Mips/la25-stub-micro-be.test (original)<br>
+++ lld/trunk/test/elf/Mips/la25-stub-micro-be.test Thu Jul 30 02:45:55 2015<br>
@@ -9,10 +9,10 @@<br>
<br>
 # RUN: llvm-objdump -disassemble -mattr=micromips %t.exe | FileCheck %s<br>
<br>
-# CHECK:       400150:   41 be 00 40     lui     $fp, 64<br>
-# CHECK-NEXT:  400154:   d4 20 00 90     j       4194592<br>
-# CHECK-NEXT:  400158:   33 39 01 21     addiu   $25, $25, 289<br>
-# CHECK-NEXT:  40015c:   00 00 00 00     nop<br>
+# CHECK:       400170:   41 be 00 40     lui     $fp, 64<br>
+# CHECK-NEXT:  400174:   d4 20 00 a0     j       4194624<br>
+# CHECK-NEXT:  400178:   33 39 01 41     addiu   $25, $25, 321<br>
+# CHECK-NEXT:  40017c:   00 00 00 00     nop<br>
<br>
 ---<br>
 FileHeader:<br>
<br>
Modified: lld/trunk/test/elf/Mips/la25-stub-micro.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_elf_Mips_la25-2Dstub-2Dmicro.test-3Frev-3D243626-26r1-3D243625-26r2-3D243626-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=N04kHssF1tVsg-Pi98pf1dv-nDh7ocDOX2KqhIoJW0Y&s=kzIkmBSx8JNY2yZrcxXbYLAS83mXAC28Kv8PpfJaI4Q&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/la25-stub-micro.test?rev=243626&r1=243625&r2=243626&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/elf/Mips/la25-stub-micro.test (original)<br>
+++ lld/trunk/test/elf/Mips/la25-stub-micro.test Thu Jul 30 02:45:55 2015<br>
@@ -8,29 +8,25 @@<br>
 # RUN: lld -flavor gnu -target mipsel -e glob -o %t.exe \<br>
 # RUN:         %t-npic.o %t-pic.o %t-main.o<br>
<br>
-# RUN: llvm-readobj -t %t.exe | FileCheck -check-prefix=SYM %s<br>
+# RUN: llvm-nm %t.exe | FileCheck -check-prefix=SYM %s<br>
 # RUN: llvm-objdump -s %t.exe | FileCheck -check-prefix=ASM %s<br>
<br>
-# SYM:      Name: loc (13)<br>
-# SYM-NEXT: Value: 0x400135<br>
-# SYM:      Name: T1N (1)<br>
-# SYM-NEXT: Value: 0x400111<br>
-# SYM:      Name: T1 (5)<br>
-# SYM-NEXT: Value: 0x400121<br>
-# SYM:      Name: glob (8)<br>
-# SYM-NEXT: Value: 0x400125<br>
+# SYM: 00400140 T T1<br>
+# SYM: 00400130 T T1N<br>
+# SYM: 00400144 T glob<br>
+# SYM: 00400154 t loc<br>
<br>
 # ASM:      Contents of section .text:<br>
-# ASM-NEXT:  400110 00000000 00000000 00000000 00000000<br>
-# ASM-NEXT:  400120 00000000 00000000 00000000 10f04900<br>
-#      0x100049 << 2 == 0x400125 (jalx glob) --^<br>
-# ASM-NEXT:  400130 00000000 20f49200 00000000 20f48800<br>
-#                            ^-- 0x100049 << 2 == 0x400124 (jal glob)<br>
-#        0x100044 << 2 == 0x400110 (jal T1N) --^<br>
-# ASM-NEXT:  400140 00000000 20f4a800 00000000 00000000<br>
-#                            ^-- 0x100054 << 2 == 0x400150 (jal T1 stub)<br>
-# ASM-NEXT:  400150 b9414000 20d49000 39332101 00000000<br>
-#                            ^-- j 0x400120 (T1)<br>
+# ASM-NEXT:  400130 00000000 00000000 00000000 00000000<br>
+# ASM-NEXT:  400140 00000000 00000000 00000000 10f05100<br>
+#      0x100055 << 2 == 0x400154 (jalx glob) --^<br>
+# ASM-NEXT:  400150 00000000 20f4a200 00000000 20f49800<br>
+#                            ^-- 0x100055 << 2 == 0x400154 (jal glob)<br>
+#        0x10004c << 2 == 0x400130 (jal T1N) --^<br>
+# ASM-NEXT:  400160 00000000 20f4b800 00000000 00000000<br>
+#                            ^-- 0x100054 << 2 == 0x400170 (jal T1 stub)<br>
+# ASM-NEXT:  400170 b9414000 20d4a000 39334101 00000000<br>
+#                            ^-- j 0x400140 (T1)<br>
<br>
 # npic.o<br>
 ---<br>
<br>
Modified: lld/trunk/test/elf/Mips/la25-stub-npic-01.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_elf_Mips_la25-2Dstub-2Dnpic-2D01.test-3Frev-3D243626-26r1-3D243625-26r2-3D243626-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=N04kHssF1tVsg-Pi98pf1dv-nDh7ocDOX2KqhIoJW0Y&s=xT5rM-9TWZzz-dsNMu3MPxG_fRCRmlqRyar9WTR4o1g&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/la25-stub-npic-01.test?rev=243626&r1=243625&r2=243626&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/elf/Mips/la25-stub-npic-01.test (original)<br>
+++ lld/trunk/test/elf/Mips/la25-stub-npic-01.test Thu Jul 30 02:45:55 2015<br>
@@ -11,26 +11,26 @@<br>
<br>
 # CHECK-NOT:  Contents of section .plt:<br>
 # CHECK:      Contents of section .text:<br>
-# CHECK-NEXT:  400110 54001000 0f000000 0e000000 0d000000<br>
-#              ^ T0   ^ .pic.T1 (0x400150)<br>
-#                              ^ 0x400114 + 0x3c = 0x400150<br>
+# CHECK-NEXT:  400130 5c001000 0f000000 0e000000 0d000000<br>
+#              ^ T0   ^ .pic.T1 (0x400170)<br>
+#                              ^ 0x400134 + 0x3c = 0x400170<br>
 #                                       ^ ...<br>
-# CHECK-NEXT:  400120 2000b000 1e000000 1c000000 00001a00<br>
+# CHECK-NEXT:  400140 2000c000 1e000000 1c000000 00001a00<br>
 #              ^ T3   ^ .pic.T2<br>
 #                              ^ ...<br>
-# CHECK-NEXT:  400130 00000c00 00000000 00000000 00000000<br>
-# CHECK-NEXT:  400140 00000000 00000000 00000000 00000000<br>
+# CHECK-NEXT:  400150 00000c00 00000000 00000000 00000000<br>
+# CHECK-NEXT:  400160 00000000 00000000 00000000 00000000<br>
 #                     ^ T1     ^ T2<br>
-# CHECK-NEXT:  400150 4000193c 50001008 40013927 00000000<br>
+# CHECK-NEXT:  400170 4000193c 58001008 60013927 00000000<br>
 #                     ^ .pic.T1<br>
-# CHECK-NEXT:  400160 b9414000 20d4a200 39334501 00000000<br>
+# CHECK-NEXT:  400180 b9414000 20d4b200 39336501 00000000<br>
 #                     ^ .pic.T2<br>
<br>
 # CHECK: SYMBOL TABLE:<br>
-# CHECK: 00400110 g F .text  00000010 T0<br>
-# CHECK: 00400120 g F .text  00000014 T3<br>
-# CHECK: 00400140 g F .text  00000004 T1<br>
-# CHECK: 00400144 g F .text  00000004 T2<br>
+# CHECK: 00400130 g F .text  00000010 T0<br>
+# CHECK: 00400140 g F .text  00000014 T3<br>
+# CHECK: 00400160 g F .text  00000004 T1<br>
+# CHECK: 00400164 g F .text  00000004 T2<br>
<br>
 # pic.o<br>
 ---<br>
<br>
Modified: lld/trunk/test/elf/Mips/la25-stub-npic-02.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_elf_Mips_la25-2Dstub-2Dnpic-2D02.test-3Frev-3D243626-26r1-3D243625-26r2-3D243626-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=N04kHssF1tVsg-Pi98pf1dv-nDh7ocDOX2KqhIoJW0Y&s=HabVOpfs7YMzMMAgoaPpsZ-gFQhEIeNcnFgbW2sGq0k&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/la25-stub-npic-02.test?rev=243626&r1=243625&r2=243626&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/elf/Mips/la25-stub-npic-02.test (original)<br>
+++ lld/trunk/test/elf/Mips/la25-stub-npic-02.test Thu Jul 30 02:45:55 2015<br>
@@ -10,21 +10,21 @@<br>
<br>
 # CHECK-NOT:  Contents of section .plt:<br>
 # CHECK:      Contents of section .text:<br>
-# CHECK-NEXT:  400110 00000000 00000000 50001000 09000000<br>
-#                     ^ T1     ^ T2     ^ .pic.T1 (0x400140)<br>
-# CHECK-NEXT:  400120 08000000 07000000 2000a800 12000000<br>
-#                                       ^ .pic.T2 (0x400150)<br>
-# CHECK-NEXT:  400130 10000000 00000e00 00000600 00000000<br>
-# CHECK-NEXT:  400140 4000193c 44001008 10013927 00000000<br>
+# CHECK-NEXT:  400130 00000000 00000000 58001000 09000000<br>
+#                     ^ T1     ^ T2     ^ .pic.T1 (0x400160)<br>
+# CHECK-NEXT:  400140 08000000 07000000 2000b800 12000000<br>
+#                                       ^ .pic.T2 (0x400170)<br>
+# CHECK-NEXT:  400150 10000000 00000e00 00000600 00000000<br>
+# CHECK-NEXT:  400160 4000193c 4c001008 30013927 00000000<br>
 #                     ^ .pic.T1<br>
-# CHECK-NEXT:  400150 b9414000 20d48a00 39331501 00000000<br>
+# CHECK-NEXT:  400170 b9414000 20d49a00 39333501 00000000<br>
 #                     ^ .pic.T2<br>
<br>
 # CHECK: SYMBOL TABLE:<br>
-# CHECK: 00400110 g F .text  00000004 T1<br>
-# CHECK: 00400114 g F .text  00000004 T2<br>
-# CHECK: 00400118 g F .text  00000010 T0<br>
-# CHECK: 00400128 g F .text  00000014 T3<br>
+# CHECK: 00400130 g F .text  00000004 T1<br>
+# CHECK: 00400134 g F .text  00000004 T2<br>
+# CHECK: 00400138 g F .text  00000010 T0<br>
+# CHECK: 00400148 g F .text  00000014 T3<br>
<br>
 # 1.o<br>
 ---<br>
<br>
Modified: lld/trunk/test/elf/Mips/la25-stub-pic.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_elf_Mips_la25-2Dstub-2Dpic.test-3Frev-3D243626-26r1-3D243625-26r2-3D243626-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=N04kHssF1tVsg-Pi98pf1dv-nDh7ocDOX2KqhIoJW0Y&s=-FNFlVEESmJXZxR4ThR6QbT3D0SAy9JulRcX6DwPL8Y&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/la25-stub-pic.test?rev=243626&r1=243625&r2=243626&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/elf/Mips/la25-stub-pic.test (original)<br>
+++ lld/trunk/test/elf/Mips/la25-stub-pic.test Thu Jul 30 02:45:55 2015<br>
@@ -10,17 +10,17 @@<br>
<br>
 # CHECK-NOT:  Contents of section .plt:<br>
 # CHECK:      Contents of section .text:<br>
-# CHECK-NEXT:  400110 00000000 00000000 44001000 fdff0000<br>
-#                     ^ T1     ^ T2     ^ T1 (0x400110)<br>
-#                                                ^ 0x40011c - 12 = 0x0x400110<br>
-# CHECK-NEXT:  400120 fcff1f00 fbffff03 20008a00 74000000<br>
-#                                       ^ T2 (0x400114)<br>
+# CHECK-NEXT:  400130 00000000 00000000 4c001000 fdff0000<br>
+#                     ^ T1     ^ T2     ^ T1 (0x400130)<br>
+#                                                ^ 0x40013c - 12 = 0x0x400130<br>
+# CHECK-NEXT:  400140 fcff1f00 fbffff03 20009a00 74000000<br>
+#                                       ^ T2 (0x400134)<br>
<br>
 # CHECK: SYMBOL TABLE:<br>
-# CHECK: 00400110 g F .text  00000004 T1<br>
-# CHECK: 00400114 g F .text  00000004 T2<br>
-# CHECK: 00400118 g F .text  00000010 T0<br>
-# CHECK: 00400128 g F .text  00000014 T3<br>
+# CHECK: 00400130 g F .text  00000004 T1<br>
+# CHECK: 00400134 g F .text  00000004 T2<br>
+# CHECK: 00400138 g F .text  00000010 T0<br>
+# CHECK: 00400148 g F .text  00000014 T3<br>
<br>
 # pic.o<br>
 ---<br>
<br>
Modified: lld/trunk/test/elf/Mips/la25-stub.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_elf_Mips_la25-2Dstub.test-3Frev-3D243626-26r1-3D243625-26r2-3D243626-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=N04kHssF1tVsg-Pi98pf1dv-nDh7ocDOX2KqhIoJW0Y&s=jAWN_JzQZz-d8b-Z3o06Pi89tXmcJClrkJ85m-a1rv0&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/la25-stub.test?rev=243626&r1=243625&r2=243626&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/elf/Mips/la25-stub.test (original)<br>
+++ lld/trunk/test/elf/Mips/la25-stub.test Thu Jul 30 02:45:55 2015<br>
@@ -11,25 +11,25 @@<br>
 # RUN: llvm-objdump -s %t.exe | FileCheck -check-prefix=ASM %s<br>
<br>
 # SYM:      Name: loc (13)<br>
-# SYM-NEXT: Value: 0x400134<br>
+# SYM-NEXT: Value: 0x400154<br>
 # SYM:      Name: T1N (1)<br>
-# SYM-NEXT: Value: 0x400110<br>
+# SYM-NEXT: Value: 0x400130<br>
 # SYM:      Name: T1 (5)<br>
-# SYM-NEXT: Value: 0x400120<br>
+# SYM-NEXT: Value: 0x400140<br>
 # SYM:      Name: glob (8)<br>
-# SYM-NEXT: Value: 0x400124<br>
+# SYM-NEXT: Value: 0x400144<br>
<br>
 # ASM:      Contents of section .text:<br>
-# ASM-NEXT:  400110 00000000 00000000 00000000 00000000<br>
-# ASM-NEXT:  400120 00000000 00000000 00000000 49001000<br>
-#           0x100049 << 2 == 0x400124 (glob) --^<br>
-# ASM-NEXT:  400130 00000000 49001000 00000000 44001000<br>
-#                            ^-- 0x100049 << 2 == 0x400124 (glob)<br>
+# ASM-NEXT:  400130 00000000 00000000 00000000 00000000<br>
+# ASM-NEXT:  400140 00000000 00000000 00000000 51001000<br>
+#           0x100051 << 2 == 0x400144 (glob) --^<br>
+# ASM-NEXT:  400150 00000000 51001000 00000000 4c001000<br>
+#                            ^-- 0x100051 << 2 == 0x400144 (glob)<br>
 #               0x100044 << 2 == 0x400110 (T1N) --^<br>
-# ASM-NEXT:  400140 00000000 54001000 00000000 00000000<br>
-#                            ^-- 0x100054 << 2 == 0x400150 (T1 stub)<br>
-# ASM-NEXT:  400150 4000193c 48001008 20013927 00000000<br>
-#                            ^-- j 0x400120 (T1)<br>
+# ASM-NEXT:  400160 00000000 5c001000 00000000 00000000<br>
+#                            ^-- 0x10005c << 2 == 0x400170 (T1 stub)<br>
+# ASM-NEXT:  400170 4000193c 50001008 40013927 00000000<br>
+#                            ^-- j 0x400140 (T1)<br>
<br>
 # npic.o<br>
 ---<br>
<br>
Modified: lld/trunk/test/elf/Mips/n64-rel-chain.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_elf_Mips_n64-2Drel-2Dchain.test-3Frev-3D243626-26r1-3D243625-26r2-3D243626-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=N04kHssF1tVsg-Pi98pf1dv-nDh7ocDOX2KqhIoJW0Y&s=ZqtCcr08aUgLX9M4IF6nA0WpLaf9ggs11MQAAtlUfpA&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/n64-rel-chain.test?rev=243626&r1=243625&r2=243626&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/elf/Mips/n64-rel-chain.test (original)<br>
+++ lld/trunk/test/elf/Mips/n64-rel-chain.test Thu Jul 30 02:45:55 2015<br>
@@ -15,11 +15,11 @@<br>
 # SYM-NEXT:   Flags [<br>
 # SYM-NEXT:     SHF_ALLOC<br>
 # SYM-NEXT:   ]<br>
-# SYM-NEXT:   Address: 0x1200001F0<br>
+# SYM-NEXT:   Address: 0x120000230<br>
 #<br>
 # SYM:      Symbol {<br>
 # SYM:        Name: LT1<br>
-# SYM-NEXT:   Value: 0x1200001D0<br>
+# SYM-NEXT:   Value: 0x120000210<br>
 # SYM-NEXT:   Size: 16<br>
 # SYM-NEXT:   Binding: Global<br>
 # SYM-NEXT:   Type: Function<br>
@@ -28,7 +28,7 @@<br>
 # SYM-NEXT: }<br>
 # SYM:      Symbol {<br>
 # SYM:        Name: T0<br>
-# SYM-NEXT:   Value: 0x1200001E0<br>
+# SYM-NEXT:   Value: 0x120000220<br>
 # SYM-NEXT:   Size: 16<br>
 # SYM-NEXT:   Binding: Global<br>
 # SYM-NEXT:   Type: Function<br>
@@ -48,14 +48,14 @@<br>
 # SYM:      Canonical gp value: 0x120008FF0<br>
 # SYM:      Local entries [<br>
 # SYM-NEXT:   Entry {<br>
-# SYM-NEXT:     Address: 0x120001010<br>
+# SYM-NEXT:     Address: 0x{{[0-9A-F]+}}<br>
 # SYM-NEXT:     Access: -32736<br>
 # SYM-NEXT:     Initial: 0x120000000<br>
 # SYM-NEXT:   }<br>
 # SYM-NEXT: ]<br>
 # SYM-NEXT: Global entries [<br>
 # SYM-NEXT:   Entry {<br>
-# SYM-NEXT:     Address: 0x120001018<br>
+# SYM-NEXT:     Address: 0x{{[0-9A-F]+}}<br>
 # SYM-NEXT:     Access: -32728<br>
 # SYM-NEXT:     Initial: 0x0<br>
 # SYM-NEXT:     Value: 0x0<br>
@@ -66,21 +66,21 @@<br>
 # SYM-NEXT: ]<br>
<br>
 # RAW:      Contents of section .text:<br>
-# RAW-NEXT:  1200001d0 01000000 00000000 208e0000 00000000<br>
+# RAW-NEXT:  120000210 01000000 00000000 e08d0000 00000000<br>
 #                      ^<br>
-#                      S - GP = 0x1200001d0 - 0x120008ff0 = -36384<br>
-#                      S - A = 0 - (-36384) = 36384<br>
+#                      S - GP = 0x120000210 - 0x120008ff0 = -36320<br>
+#                      S - A = 0 - (-36320) = 36320<br>
 #                      (AHL + S + 0x8000) >> 16 = 1<br>
 #                                        ^<br>
-#                      S - GP = 0x1200001d0 - 0x120008ff0 = -36384<br>
-#                      S - A = 0 - (-36384) = 36384<br>
-#                      AHL + S = 0x8E20<br>
-# RAW-NEXT:  1200001e0 20800000 f8010000 28800000 00000000<br>
+#                      S - GP = 0x120000210 - 0x120008ff0 = -36320<br>
+#                      S - A = 0 - (-36320) = 36320<br>
+#                      AHL + S = 0x8DE0<br>
+# RAW-NEXT:  120000220 20800000 38020000 28800000 00000000<br>
 #                      ^ 0x8020 = -32736 GOT<br>
-#                               ^ (0x1200001F0 + 8 - page) = 0x1f8<br>
+#                               ^ (0x120000230 + 8 - page) = 0x238<br>
 #                                        ^ 0x8028 = -32728<br>
 # RAW:      Contents of section .pdr:<br>
-# RAW-NEXT:  0000 d0010020 e0010020<br>
+# RAW-NEXT:  0000 10020020 20020020<br>
<br>
 ---<br>
 FileHeader:<br>
<br>
Modified: lld/trunk/test/elf/Mips/r26-2-micro.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_elf_Mips_r26-2D2-2Dmicro.test-3Frev-3D243626-26r1-3D243625-26r2-3D243626-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=N04kHssF1tVsg-Pi98pf1dv-nDh7ocDOX2KqhIoJW0Y&s=7CqHCPoajm-kP5aN2zwFJfeRGkvsxUjvbBGexcGLb7w&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/r26-2-micro.test?rev=243626&r1=243625&r2=243626&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/elf/Mips/r26-2-micro.test (original)<br>
+++ lld/trunk/test/elf/Mips/r26-2-micro.test Thu Jul 30 02:45:55 2015<br>
@@ -1,88 +1,31 @@<br>
 # REQUIRES: mips<br>
<br>
 # Check reading addendum for R_MICROMIPS_26_S1 relocation.<br>
-# RUN: yaml2obj -format=elf %s > %t-obj<br>
-# RUN: lld -flavor gnu -target mipsel -o %t-exe %t-obj<br>
-# RUN: llvm-objdump -d -mattr=micromips %t-exe | FileCheck -check-prefix=DIS %s<br>
-# RUN: llvm-objdump -t %t-exe | FileCheck %s<br>
+# RUN: llvm-mc -arch=mipsel -filetype=obj -mattr=micromips -o=%t.o %s<br>
+# RUN: lld -flavor gnu -target mipsel -o %t.exe %t.o<br>
+# RUN: llvm-objdump -d -mattr=micromips %t.exe | FileCheck %s<br>
+<br>
+# CHECK:      Disassembly of section .text:<br>
+# CHECK-NEXT: __start:<br>
+# CHECK-NEXT:   400180:   10 f0 60 70   jalx    2154688<br>
+# CHECK-NEXT:   400184:   00 00 00 00   nop<br>
+# CHECK-NEXT:   400188:   10 f0 68 70   jalx    2154704<br>
+# CHECK-NEXT:   40018c:   00 00 00 00   nop<br>
+# CHECK-NEXT:   400190:   10 f0 58 00   jalx    2097328<br>
+# CHECK-NEXT:   400194:   00 00 00 00   nop<br>
+# CHECK-NEXT:   400198:   10 f0 62 00   jalx    2097348<br>
+# CHECK-NEXT:   40019c:   00 00 00 00   nop<br>
+#<br>
+# CHECK:      loc:<br>
+# CHECK-NEXT:   4001a0:   00 00 00 00   nop<br>
+<br>
+  .text<br>
+  .globl  __start<br>
+__start:<br>
+  jal __start + 0x1C000<br>
+  jal loc + 0x1C000<br>
+  jal __start + 0x7ffffe2<br>
+  jal loc + 0x7ffffea<br>
<br>
-# DIS: Disassembly of section .text:<br>
-# DIS-NEXT: loc0:<br>
-# DIS-NEXT:   400110:  00 00 00 00   nop<br>
-<br>
-# DIS:      __start:<br>
-# DIS-NEXT:   400114:  20 f4 8e e0   jal     4309276<br>
-# DIS-NEXT:   400118:  00 00 00 00   nop<br>
-# DIS-NEXT:   40011c:  20 f4 9a e0   jal     4309300<br>
-# DIS-NEXT:   400120:  00 00 00 00   nop<br>
-<br>
-# DIS:      loc1:<br>
-# DIS-NEXT:   400124:  20 f4 89 00   jal     4194578<br>
-# DIS-NEXT:   400128:  00 00 00 00   nop<br>
-# DIS-NEXT:   40012c:  20 f4 91 00   jal     4194594<br>
-# DIS-NEXT:   400130:  00 00 00 00   nop<br>
-<br>
-# CHECK: SYMBOL TABLE:<br>
-# CHECK: 00400124 l  F .text  00000010 loc1<br>
-# CHECK: 00400114 g  F .text  00000010 __start<br>
-<br>
-!ELF<br>
-FileHeader: !FileHeader<br>
-  Class:   ELFCLASS32<br>
-  Data:    ELFDATA2LSB<br>
-  Type:    ET_REL<br>
-  Machine: EM_MIPS<br>
-  Flags:   [EF_MIPS_CPIC, EF_MIPS_ABI_O32, EF_MIPS_ARCH_32R2, EF_MIPS_MICROMIPS]<br>
-<br>
-Sections:<br>
-- Name: .text<br>
-  Type: SHT_PROGBITS<br>
-# nop<br>
-# jal __start + 0x1C000<br>
-# nop<br>
-# jal loc + 0x1C000<br>
-# nop<br>
-# jal __start + 7FFFFE2<br>
-# nop<br>
-# jal loc + 7FFFFEA<br>
-# nop<br>
-  Content:  "0000000000f404e00000000000f408e000000000FFF7FFFF00000000FFF7FFFF00000000"<br>
-  AddressAlign: 16<br>
-  Flags: [SHF_EXECINSTR, SHF_ALLOC]<br>
-<br>
-- Name: .rel.text<br>
-  Type: SHT_REL<br>
-  Info: .text<br>
-  AddressAlign: 4<br>
-  Relocations:<br>
-    - Offset: 0x4<br>
-      Symbol: __start<br>
-      Type: R_MICROMIPS_26_S1<br>
-    - Offset: 0xC<br>
-      Symbol: loc1<br>
-      Type: R_MICROMIPS_26_S1<br>
-    - Offset: 0x14<br>
-      Symbol: __start<br>
-      Type: R_MICROMIPS_26_S1<br>
-    - Offset: 0x1C<br>
-      Symbol: loc1<br>
-      Type: R_MICROMIPS_26_S1<br>
-<br>
-Symbols:<br>
-  Global:<br>
-    - Name:    __start<br>
-      Section: .text<br>
-      Value:   0x4<br>
-      Size:    8<br>
-      Other:   [ STO_MIPS_MICROMIPS ]<br>
-  Local:<br>
-    - Name:    loc0<br>
-      Section: .text<br>
-      Value:   0<br>
-      Size:    4<br>
-      Other:   [ STO_MIPS_MICROMIPS ]<br>
-    - Name:    loc1<br>
-      Section: .text<br>
-      Value:   0x14<br>
-      Size:    8<br>
-      Other:   [ STO_MIPS_MICROMIPS ]<br>
+loc:<br>
+  nop<br>
<br>
Modified: lld/trunk/test/elf/Mips/r26-2.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_elf_Mips_r26-2D2.test-3Frev-3D243626-26r1-3D243625-26r2-3D243626-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=N04kHssF1tVsg-Pi98pf1dv-nDh7ocDOX2KqhIoJW0Y&s=yL3j9p47pPuMlII5-wu33DXqzUf1b7vor97p4DN8Lh4&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/r26-2.test?rev=243626&r1=243625&r2=243626&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/elf/Mips/r26-2.test (original)<br>
+++ lld/trunk/test/elf/Mips/r26-2.test Thu Jul 30 02:45:55 2015<br>
@@ -1,82 +1,31 @@<br>
 # REQUIRES: mips<br>
<br>
 # Check reading addendum for R_MIPS_26 relocation.<br>
-# RUN: yaml2obj -format=elf %s > %t-obj<br>
-# RUN: lld -flavor gnu -target mipsel -o %t-exe %t-obj<br>
-# RUN: llvm-objdump -t -disassemble %t-exe | FileCheck %s<br>
+# RUN: llvm-mc -arch=mipsel -filetype=obj -o=%t.o %s<br>
+# RUN: lld -flavor gnu -target mipsel -o %t.exe %t.o<br>
+# RUN: llvm-objdump -d %t.exe | FileCheck %s<br>
<br>
 # CHECK: Disassembly of section .text:<br>
 # CHECK-NEXT: __start:<br>
-# CHECK-NEXT:   400110:  00 00 00 00   nop<br>
-# CHECK-NEXT:   400114:  44 70 10 0c  jal  4309264<br>
-#   0x107044 << 2 = 0x41C110 = _start  + (0x7000 << 2)<br>
-# CHECK-NEXT:   400118:  00 00 00 00  nop<br>
+# CHECK-NEXT:   400180:  60 70 10 0c  jal  4309376<br>
+# CHECK-NEXT:   400184:  00 00 00 00  nop<br>
+# CHECK-NEXT:   400188:  68 70 10 0c  jal  4309408<br>
+# CHECK-NEXT:   40018c:  00 00 00 00  nop<br>
+# CHECK-NEXT:   400190:  5f 00 10 0c  jal  4194684<br>
+# CHECK-NEXT:   400194:  00 00 00 00  nop<br>
+# CHECK-NEXT:   400198:  67 00 10 0c  jal  4194716<br>
+# CHECK-NEXT:   40019c:  00 00 00 00  nop<br>
 #<br>
-# CHECK: loc:<br>
-# CHECK-NEXT:   40011c:  47 70 10 0c  jal  4309276<br>
-#   0x107047 << 2 = 0x41C11C = loc  + (0x7000 << 2)<br>
-# CHECK-NEXT:   400120:  00 00 00 00  nop<br>
-# CHECK-NEXT:   400124:  43 00 10 0c  jal  4194572<br>
-#   0x100043 << 2 = 0x40010C = _start - 4<br>
-# CHECK-NEXT:   400128:  00 00 00 00  nop<br>
-# CHECK-NEXT:   40012c:  46 00 10 0c  jal  4194584<br>
-#   0x100046 << 2 = 0x400118 = loc - 4<br>
-# CHECK-NEXT:   400130:  00 00 00 00  nop<br>
+# CHECK:      loc:<br>
+# CHECK-NEXT:   4001a0:  00 00 00 00  nop<br>
<br>
-# CHECK: SYMBOL TABLE:<br>
-# CHECK: 0040011c l  F .text  00000018 loc<br>
-# CHECK: 00400110 g  F .text  0000000c __start<br>
+  .text<br>
+  .globl  __start<br>
+__start:<br>
+  jal __start + 0x1C000<br>
+  jal loc + 0x1C000<br>
+  jal __start + (-1)<br>
+  jal loc + (-1)<br>
<br>
-!ELF<br>
-FileHeader: !FileHeader<br>
-  Class: ELFCLASS32<br>
-  Data: ELFDATA2LSB<br>
-  Type: ET_REL<br>
-  Machine: EM_MIPS<br>
-  Flags:   [EF_MIPS_CPIC, EF_MIPS_ABI_O32, EF_MIPS_ARCH_32]<br>
-<br>
-Sections:<br>
-- Name: .text<br>
-  Type: SHT_PROGBITS<br>
-# nop<br>
-# jal __start + 0x1C000<br>
-# nop<br>
-# jal loc + 0x1C000<br>
-# nop<br>
-# jal __start - 1<br>
-# nop<br>
-# jal loc - 1<br>
-# nop<br>
-  Content:  "000000000070000C000000000070000C00000000FFFFFF0F00000000FFFFFF0F00000000"<br>
-  AddressAlign: 16<br>
-  Flags: [SHF_EXECINSTR, SHF_ALLOC]<br>
-<br>
-- Name: .rel.text<br>
-  Type: SHT_REL<br>
-  Info: .text<br>
-  AddressAlign: 4<br>
-  Relocations:<br>
-    - Offset: 0x4<br>
-      Symbol: __start<br>
-      Type: R_MIPS_26<br>
-    - Offset: 0xC<br>
-      Symbol: loc<br>
-      Type: R_MIPS_26<br>
-    - Offset: 0x14<br>
-      Symbol: __start<br>
-      Type: R_MIPS_26<br>
-    - Offset: 0x1C<br>
-      Symbol: loc<br>
-      Type: R_MIPS_26<br>
-<br>
-Symbols:<br>
-  Global:<br>
-    - Name: __start<br>
-      Section: .text<br>
-      Value: 0x0<br>
-      Size: 4<br>
-  Local:<br>
-    - Name: loc<br>
-      Section: .text<br>
-      Value: 0xc<br>
-      Size: 4<br>
+loc:<br>
+  nop<br>
<br>
Modified: lld/trunk/test/elf/Mips/rel-copy-micro.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_elf_Mips_rel-2Dcopy-2Dmicro.test-3Frev-3D243626-26r1-3D243625-26r2-3D243626-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=N04kHssF1tVsg-Pi98pf1dv-nDh7ocDOX2KqhIoJW0Y&s=RpA1NR5y9bRll6nEYLTh3uVtxrkEIRPdr0C2fpmp1CQ&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/rel-copy-micro.test?rev=243626&r1=243625&r2=243626&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/elf/Mips/rel-copy-micro.test (original)<br>
+++ lld/trunk/test/elf/Mips/rel-copy-micro.test Thu Jul 30 02:45:55 2015<br>
@@ -33,7 +33,7 @@<br>
 # CHECK-NEXT:     Binding: Global (0x1)<br>
 # CHECK-NEXT:     Type: Object (0x1)<br>
 # CHECK-NEXT:     Other: 0<br>
-# CHECK-NEXT:     Section: .bss (0xA)<br>
+# CHECK-NEXT:     Section: .bss<br>
 # CHECK-NEXT:   }<br>
 # CHECK-NEXT:   Symbol {<br>
 # CHECK-NEXT:     Name: D2@ (4)<br>
@@ -42,7 +42,7 @@<br>
 # CHECK-NEXT:     Binding: Global (0x1)<br>
 # CHECK-NEXT:     Type: Object (0x1)<br>
 # CHECK-NEXT:     Other: 0<br>
-# CHECK-NEXT:     Section: .bss (0xA)<br>
+# CHECK-NEXT:     Section: .bss<br>
 # CHECK-NEXT:   }<br>
 # CHECK-NEXT: ]<br>
<br>
<br>
Modified: lld/trunk/test/elf/Mips/rel-copy-pc.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_elf_Mips_rel-2Dcopy-2Dpc.test-3Frev-3D243626-26r1-3D243625-26r2-3D243626-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=N04kHssF1tVsg-Pi98pf1dv-nDh7ocDOX2KqhIoJW0Y&s=kO_paFiSniYgE4bnxrZp-_WrMT1UUFjQUViMgSk2MWM&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/rel-copy-pc.test?rev=243626&r1=243625&r2=243626&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/elf/Mips/rel-copy-pc.test (original)<br>
+++ lld/trunk/test/elf/Mips/rel-copy-pc.test Thu Jul 30 02:45:55 2015<br>
@@ -30,7 +30,7 @@<br>
 # CHECK-NEXT:     Binding: Global (0x1)<br>
 # CHECK-NEXT:     Type: Object (0x1)<br>
 # CHECK-NEXT:     Other: 0<br>
-# CHECK-NEXT:     Section: .bss (0xA)<br>
+# CHECK-NEXT:     Section: .bss<br>
 # CHECK-NEXT:   }<br>
 # CHECK-NEXT: ]<br>
<br>
<br>
Modified: lld/trunk/test/elf/Mips/rel-copy.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_elf_Mips_rel-2Dcopy.test-3Frev-3D243626-26r1-3D243625-26r2-3D243626-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=N04kHssF1tVsg-Pi98pf1dv-nDh7ocDOX2KqhIoJW0Y&s=0QiAtbqvkVU7XkERJ78WrAjlW6JIyMYezTAj8UCNPyU&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/rel-copy.test?rev=243626&r1=243625&r2=243626&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/elf/Mips/rel-copy.test (original)<br>
+++ lld/trunk/test/elf/Mips/rel-copy.test Thu Jul 30 02:45:55 2015<br>
@@ -29,21 +29,21 @@<br>
 # CHECK-NEXT:   }<br>
 # CHECK-NEXT:   Symbol {<br>
 # CHECK-NEXT:     Name: D1@ (1)<br>
-# CHECK-NEXT:     Value: 0x402010<br>
+# CHECK-NEXT:     Value: 0x{{[0-9A-F]+}}<br>
 # CHECK-NEXT:     Size: 4<br>
 # CHECK-NEXT:     Binding: Global (0x1)<br>
 # CHECK-NEXT:     Type: Object (0x1)<br>
 # CHECK-NEXT:     Other: 0<br>
-# CHECK-NEXT:     Section: .bss (0xA)<br>
+# CHECK-NEXT:     Section: .bss<br>
 # CHECK-NEXT:   }<br>
 # CHECK-NEXT:   Symbol {<br>
 # CHECK-NEXT:     Name: D3@ (4)<br>
-# CHECK-NEXT:     Value: 0x402018<br>
+# CHECK-NEXT:     Value: 0x{{[0-9A-F]+}}<br>
 # CHECK-NEXT:     Size: 4<br>
 # CHECK-NEXT:     Binding: Global (0x1)<br>
 # CHECK-NEXT:     Type: Object (0x1)<br>
 # CHECK-NEXT:     Other: 0<br>
-# CHECK-NEXT:     Section: .bss (0xA)<br>
+# CHECK-NEXT:     Section: .bss<br>
 # CHECK-NEXT:   }<br>
 # CHECK-NEXT:   Symbol {<br>
 # CHECK-NEXT:     Name: D2@ (7)<br>
<br>
Modified: lld/trunk/test/elf/Mips/rel-dynamic-01-micro.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_elf_Mips_rel-2Ddynamic-2D01-2Dmicro.test-3Frev-3D243626-26r1-3D243625-26r2-3D243626-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=N04kHssF1tVsg-Pi98pf1dv-nDh7ocDOX2KqhIoJW0Y&s=pN1jWFgJUSexwddTfQ6AlOYZ54HG65BM5aUQfQt1YuM&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/rel-dynamic-01-micro.test?rev=243626&r1=243625&r2=243626&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/elf/Mips/rel-dynamic-01-micro.test (original)<br>
+++ lld/trunk/test/elf/Mips/rel-dynamic-01-micro.test Thu Jul 30 02:45:55 2015<br>
@@ -40,7 +40,7 @@<br>
<br>
 # PLT-SYM:      Relocations [<br>
 # PLT-SYM-NEXT:   Section (5) .rel.dyn {<br>
-# PLT-SYM-NEXT:     0x402018 R_MIPS_COPY D1 0x0<br>
+# PLT-SYM-NEXT:     0x402020 R_MIPS_COPY D1 0x0<br>
 # PLT-SYM-NEXT:   }<br>
 # PLT-SYM-NEXT:   Section (6) .rel.plt {<br>
 # PLT-SYM-NEXT:     0x402008 R_MIPS_JUMP_SLOT T3 0x0<br>
@@ -60,16 +60,16 @@<br>
 # PLT-SYM-NEXT:   }<br>
 # PLT-SYM-NEXT:   Symbol {<br>
 # PLT-SYM-NEXT:     Name: D1@ (1)<br>
-# PLT-SYM-NEXT:     Value: 0x402018<br>
+# PLT-SYM-NEXT:     Value: 0x{{[0-9A-F]+}}<br>
 # PLT-SYM-NEXT:     Size: 8<br>
 # PLT-SYM-NEXT:     Binding: Global (0x1)<br>
 # PLT-SYM-NEXT:     Type: Object (0x1)<br>
 # PLT-SYM-NEXT:     Other: 0<br>
-# PLT-SYM-NEXT:     Section: .bss (0xD)<br>
+# PLT-SYM-NEXT:     Section: .bss<br>
 # PLT-SYM-NEXT:   }<br>
 # PLT-SYM-NEXT:   Symbol {<br>
 # PLT-SYM-NEXT:     Name: T1@ (4)<br>
-# PLT-SYM-NEXT:     Value: 0x4001D5<br>
+# PLT-SYM-NEXT:     Value: 0x{{[0-9A-F]+}}<br>
 # PLT-SYM-NEXT:     Size: 0<br>
 # PLT-SYM-NEXT:     Binding: Global (0x1)<br>
 # PLT-SYM-NEXT:     Type: Function (0x2)<br>
<br>
Modified: lld/trunk/test/elf/Mips/rel-dynamic-01.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_elf_Mips_rel-2Ddynamic-2D01.test-3Frev-3D243626-26r1-3D243625-26r2-3D243626-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=N04kHssF1tVsg-Pi98pf1dv-nDh7ocDOX2KqhIoJW0Y&s=IOZxaWFb2zF8zUm3bwbVr-Fx1oy014XiYdnQgg-RwlA&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/rel-dynamic-01.test?rev=243626&r1=243625&r2=243626&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/elf/Mips/rel-dynamic-01.test (original)<br>
+++ lld/trunk/test/elf/Mips/rel-dynamic-01.test Thu Jul 30 02:45:55 2015<br>
@@ -42,7 +42,7 @@<br>
 # PLT-SYM-NEXT:   Section (5) .rel.dyn {<br>
 # PLT-SYM-NEXT:     0x402014 R_MIPS_REL32 T2 0x0<br>
 # PLT-SYM-NEXT:     0x402014 R_MIPS_REL32 D2 0x0<br>
-# PLT-SYM-NEXT:     0x402018 R_MIPS_COPY D1 0x0<br>
+# PLT-SYM-NEXT:     0x402020 R_MIPS_COPY D1 0x0<br>
 # PLT-SYM-NEXT:   }<br>
 # PLT-SYM-NEXT:   Section (6) .rel.plt {<br>
 # PLT-SYM-NEXT:     0x402008 R_MIPS_JUMP_SLOT T3 0x0<br>
@@ -62,16 +62,16 @@<br>
 # PLT-SYM-NEXT:   }<br>
 # PLT-SYM-NEXT:   Symbol {<br>
 # PLT-SYM-NEXT:     Name: D1@ (1)<br>
-# PLT-SYM-NEXT:     Value: 0x402018<br>
+# PLT-SYM-NEXT:     Value: 0x{{[0-9A-F]+}}<br>
 # PLT-SYM-NEXT:     Size: 4<br>
 # PLT-SYM-NEXT:     Binding: Global (0x1)<br>
 # PLT-SYM-NEXT:     Type: Object (0x1)<br>
 # PLT-SYM-NEXT:     Other: 0<br>
-# PLT-SYM-NEXT:     Section: .bss (0xD)<br>
+# PLT-SYM-NEXT:     Section: .bss<br>
 # PLT-SYM-NEXT:   }<br>
 # PLT-SYM-NEXT:   Symbol {<br>
 # PLT-SYM-NEXT:     Name: T1@ (4)<br>
-# PLT-SYM-NEXT:     Value: 0x400220<br>
+# PLT-SYM-NEXT:     Value: 0x{{[0-9A-F]+}}<br>
 # PLT-SYM-NEXT:     Size: 0<br>
 # PLT-SYM-NEXT:     Binding: Global (0x1)<br>
 # PLT-SYM-NEXT:     Type: Function (0x2)<br>
@@ -111,7 +111,7 @@<br>
 # GOT-NEXT: ]<br>
 # GOT-NEXT: Global entries [<br>
 # GOT-NEXT:   Entry {<br>
-# GOT-NEXT:     Address: 0x401008<br>
+# GOT-NEXT:     Address: 0x{{[0-9A-F]+}}<br>
 # GOT-NEXT:     Access: -32744<br>
 # GOT-NEXT:     Initial: 0x0<br>
 # GOT-NEXT:     Value: 0x0<br>
@@ -120,7 +120,7 @@<br>
 # GOT-NEXT:     Name: T2@ (7)<br>
 # GOT-NEXT:   }<br>
 # GOT-NEXT:   Entry {<br>
-# GOT-NEXT:     Address: 0x40100C<br>
+# GOT-NEXT:     Address: 0x{{[0-9A-F]+}}<br>
 # GOT-NEXT:     Access: -32740<br>
 # GOT-NEXT:     Initial: 0x0<br>
 # GOT-NEXT:     Value: 0x0<br>
<br>
Modified: lld/trunk/test/elf/Mips/rel-dynamic-12.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_elf_Mips_rel-2Ddynamic-2D12.test-3Frev-3D243626-26r1-3D243625-26r2-3D243626-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=N04kHssF1tVsg-Pi98pf1dv-nDh7ocDOX2KqhIoJW0Y&s=6vf4b6JDdTvPngSvtuNVJ5Yakf3NUiIBMOIQU_GGwCw&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/rel-dynamic-12.test?rev=243626&r1=243625&r2=243626&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/elf/Mips/rel-dynamic-12.test (original)<br>
+++ lld/trunk/test/elf/Mips/rel-dynamic-12.test Thu Jul 30 02:45:55 2015<br>
@@ -18,7 +18,7 @@<br>
 # PLT-SYM-NEXT:   Section (5) .rel.dyn {<br>
 # PLT-SYM-NEXT:     0x402014 R_MIPS_REL32 T2 0x0<br>
 # PLT-SYM-NEXT:     0x402014 R_MIPS_REL32 D2 0x0<br>
-# PLT-SYM-NEXT:     0x402018 R_MIPS_COPY D1 0x0<br>
+# PLT-SYM-NEXT:     0x402020 R_MIPS_COPY D1 0x0<br>
 # PLT-SYM-NEXT:   }<br>
 # PLT-SYM-NEXT:   Section (6) .rel.plt {<br>
 # PLT-SYM-NEXT:     0x402008 R_MIPS_JUMP_SLOT T3 0x0<br>
@@ -38,16 +38,16 @@<br>
 # PLT-SYM-NEXT:   }<br>
 # PLT-SYM-NEXT:   Symbol {<br>
 # PLT-SYM-NEXT:     Name: D1@ (1)<br>
-# PLT-SYM-NEXT:     Value: 0x402018<br>
+# PLT-SYM-NEXT:     Value: 0x{{[0-9A-F]+}}<br>
 # PLT-SYM-NEXT:     Size: 4<br>
 # PLT-SYM-NEXT:     Binding: Global (0x1)<br>
 # PLT-SYM-NEXT:     Type: Object (0x1)<br>
 # PLT-SYM-NEXT:     Other: 0<br>
-# PLT-SYM-NEXT:     Section: .bss (0xD)<br>
+# PLT-SYM-NEXT:     Section: .bss<br>
 # PLT-SYM-NEXT:   }<br>
 # PLT-SYM-NEXT:   Symbol {<br>
 # PLT-SYM-NEXT:     Name: T1@ (4)<br>
-# PLT-SYM-NEXT:     Value: 0x400220<br>
+# PLT-SYM-NEXT:     Value: 0x{{[0-9A-F]+}}<br>
 # PLT-SYM-NEXT:     Size: 0<br>
 # PLT-SYM-NEXT:     Binding: Global (0x1)<br>
 # PLT-SYM-NEXT:     Type: Function (0x2)<br>
@@ -87,7 +87,7 @@<br>
 # GOT-NEXT: ]<br>
 # GOT-NEXT: Global entries [<br>
 # GOT-NEXT:   Entry {<br>
-# GOT-NEXT:     Address: 0x401008<br>
+# GOT-NEXT:     Address: 0x{{[0-9A-F]+}}<br>
 # GOT-NEXT:     Access: -32744<br>
 # GOT-NEXT:     Initial: 0x0<br>
 # GOT-NEXT:     Value: 0x0<br>
@@ -96,7 +96,7 @@<br>
 # GOT-NEXT:     Name: T2@ (7)<br>
 # GOT-NEXT:   }<br>
 # GOT-NEXT:   Entry {<br>
-# GOT-NEXT:     Address: 0x40100C<br>
+# GOT-NEXT:     Address: 0x{{[0-9A-F]+}}<br>
 # GOT-NEXT:     Access: -32740<br>
 # GOT-NEXT:     Initial: 0x0<br>
 # GOT-NEXT:     Value: 0x0<br>
<br>
Modified: lld/trunk/test/elf/Mips/rel-gprel32-64.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_elf_Mips_rel-2Dgprel32-2D64.test-3Frev-3D243626-26r1-3D243625-26r2-3D243626-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=N04kHssF1tVsg-Pi98pf1dv-nDh7ocDOX2KqhIoJW0Y&s=4qsvuc8LVdCIVpFLKcPNXfuYF8zvB8wJSQn918n6pso&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/rel-gprel32-64.test?rev=243626&r1=243625&r2=243626&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/elf/Mips/rel-gprel32-64.test (original)<br>
+++ lld/trunk/test/elf/Mips/rel-gprel32-64.test Thu Jul 30 02:45:55 2015<br>
@@ -10,10 +10,10 @@<br>
 # REL-EXE-NEXT: ]<br>
<br>
 # CHECK:      Contents of section .text:<br>
-# CHECK-NEXT:  1200001a0 c871ffff ffffffff c871ffff c871ffff<br>
-# CHECK-NEXT:  1200001b0 c871ffff ffffffff 00000000 00000000<br>
+# CHECK-NEXT:  1200001d0 f871ffff ffffffff f871ffff f871ffff<br>
+# CHECK-NEXT:  1200001e0 f871ffff ffffffff 00000000 00000000<br>
<br>
-# SYM: 00000001200001b8 t LT1<br>
+# SYM: 00000001200001e8 t LT1<br>
 # SYM: 0000000120001000 N _GLOBAL_OFFSET_TABLE_<br>
<br>
 # RUN: lld -flavor gnu -target mips64el -shared -o %t.so %t.o<br>
<br>
Modified: lld/trunk/test/elf/Mips/rel-gprel32.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_elf_Mips_rel-2Dgprel32.test-3Frev-3D243626-26r1-3D243625-26r2-3D243626-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=N04kHssF1tVsg-Pi98pf1dv-nDh7ocDOX2KqhIoJW0Y&s=px9_pSCK2MLmSIz5X0d_4sBU_BAHAAOj8O3Rshi8AQI&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/rel-gprel32.test?rev=243626&r1=243625&r2=243626&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/elf/Mips/rel-gprel32.test (original)<br>
+++ lld/trunk/test/elf/Mips/rel-gprel32.test Thu Jul 30 02:45:55 2015<br>
@@ -6,7 +6,7 @@<br>
 # RUN: llvm-objdump -s %t-exe | FileCheck -check-prefix=SEC %s<br>
<br>
 # SYM:      Name: $L1<br>
-# SYM-NEXT: Value: 0x400140<br>
+# SYM-NEXT: Value: 0x400160<br>
 # SYM-NEXT: Size: 4<br>
 # SYM-NEXT: Binding: Local (0x0)<br>
 # SYM-NEXT: Type: Function (0x2)<br>
@@ -24,7 +24,7 @@<br>
 # 0x08ff7153 == 0x8000001 (addend) + 0x400140 ($L1) +<br>
 #               0x1000002 (GP0) - 0x408FF0 (_gp)<br>
 # SEC:      Contents of section .rodata:<br>
-# SEC-NEXT:  400150 5371ff08 00000000 00000000 00000000<br>
+# SEC-NEXT:  400170 7371ff08 00000000 00000000 00000000<br>
<br>
 !ELF<br>
 FileHeader:<br>
<br>
Modified: lld/trunk/test/elf/Mips/rel-high-01.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_elf_Mips_rel-2Dhigh-2D01.test-3Frev-3D243626-26r1-3D243625-26r2-3D243626-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=N04kHssF1tVsg-Pi98pf1dv-nDh7ocDOX2KqhIoJW0Y&s=lS_a8rfHFYNbL4iP4_90kKHGrl-lDuZp6c1c_ZlzYbg&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/rel-high-01.test?rev=243626&r1=243625&r2=243626&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/elf/Mips/rel-high-01.test (original)<br>
+++ lld/trunk/test/elf/Mips/rel-high-01.test Thu Jul 30 02:45:55 2015<br>
@@ -1,55 +1,25 @@<br>
+# REQUIRES: mips<br>
+<br>
 # Check handling R_MIPS_HIGHER / R_MIPS_HIGHEST relocations.<br>
<br>
-# RUN: yaml2obj -format=elf %s > %t.o<br>
+# RUN: llvm-mc -arch=mips64el -filetype=obj -o=%t.o %s<br>
 # RUN: lld -flavor gnu -target mips64el -e T0 -o %t.exe %t.o<br>
-# RUN: llvm-nm %t.exe | FileCheck -check-prefix=SYM %s<br>
-# RUN: llvm-objdump -s %t.exe | FileCheck -check-prefix=RAW %s<br>
-<br>
-# SYM: 00000001200001a0 T T0<br>
-# SYM: 00000001200001a8 T T1<br>
-<br>
-# RAW:      Contents of section .text:<br>
-# RAW-NEXT:  1200001a0 02800000 00000000 01400000 00000000<br>
-<br>
-FileHeader:<br>
-  Class:    ELFCLASS64<br>
-  Data:     ELFDATA2LSB<br>
-  Type:     ET_REL<br>
-  Machine:  EM_MIPS<br>
-  Flags:    [EF_MIPS_PIC, EF_MIPS_CPIC, EF_MIPS_ARCH_64]<br>
-<br>
-Sections:<br>
-  - Name:          .text<br>
-    Type:          SHT_PROGBITS<br>
-    Flags:         [ SHF_ALLOC, SHF_EXECINSTR ]<br>
-    AddressAlign:  16<br>
-    Size:          16<br>
-<br>
-  - Name:          .rela.text<br>
-    Type:          SHT_RELA<br>
-    Flags:         [ SHF_INFO_LINK ]<br>
-    Link:          .symtab<br>
-    AddressAlign:  8<br>
-    Info:          .text<br>
-    Relocations:<br>
-      - Offset:  0<br>
-        Symbol:  T1<br>
-        Type:    R_MIPS_HIGHER<br>
-        Addend:  0x0000800100000000<br>
-      - Offset:  8<br>
-        Symbol:  T1<br>
-        Type:    R_MIPS_HIGHEST<br>
-        Addend:  0x4001000000000000<br>
+# RUN: llvm-objdump -d %t.exe | FileCheck %s<br>
<br>
-Symbols:<br>
-  Global:<br>
-    - Name:     T0<br>
-      Type:     STT_FUNC<br>
-      Section:  .text<br>
-      Value:    0<br>
-      Size:     8<br>
-    - Name:     T1<br>
-      Type:     STT_FUNC<br>
-      Section:  .text<br>
-      Value:    8<br>
-      Size:     8<br>
+# CHECK: Disassembly of section .text:<br>
+# CHECK-NEXT: T0:<br>
+# CHECK-NEXT: 120000250:   01 00 62 64   daddiu  $2, $3, 1<br>
+# CHECK-NEXT: 120000254:   00 00 62 64   daddiu  $2, $3, 0<br>
+#<br>
+# CHECK:      T1:<br>
+# CHECK-NEXT: 120000258:   00 00 00 00   nop<br>
+<br>
+  .text<br>
+  .globl  T0<br>
+T0:<br>
+  daddiu $2, $3, %higher(T1)<br>
+  daddiu $2, $3, %highest(T1)<br>
+<br>
+  .globl  T1<br>
+T1:<br>
+  nop<br>
<br>
Modified: lld/trunk/test/elf/Mips/rel-high-02.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_elf_Mips_rel-2Dhigh-2D02.test-3Frev-3D243626-26r1-3D243625-26r2-3D243626-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=N04kHssF1tVsg-Pi98pf1dv-nDh7ocDOX2KqhIoJW0Y&s=gDrC1hEsKsJ6fPmiNuvpPG04xcf5B6CaWcUBHveyK-A&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/rel-high-02.test?rev=243626&r1=243625&r2=243626&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/elf/Mips/rel-high-02.test (original)<br>
+++ lld/trunk/test/elf/Mips/rel-high-02.test Thu Jul 30 02:45:55 2015<br>
@@ -1,55 +1,25 @@<br>
+# REQUIRES: mips<br>
+<br>
 # Check handling R_MICROMIPS_HIGHER / R_MICROMIPS_HIGHEST relocations.<br>
<br>
-# RUN: yaml2obj -format=elf %s > %t.o<br>
+# RUN: llvm-mc -arch=mips64el -filetype=obj -o=%t.o %s<br>
 # RUN: lld -flavor gnu -target mips64el -e T0 -o %t.exe %t.o<br>
-# RUN: llvm-nm %t.exe | FileCheck -check-prefix=SYM %s<br>
-# RUN: llvm-objdump -s %t.exe | FileCheck -check-prefix=RAW %s<br>
-<br>
-# SYM: 00000001200001a0 T T0<br>
-# SYM: 00000001200001a8 T T1<br>
-<br>
-# RAW:      Contents of section .text:<br>
-# RAW-NEXT:  1200001a0 00000280 00000000 00000140 00000000<br>
-<br>
-FileHeader:<br>
-  Class:    ELFCLASS64<br>
-  Data:     ELFDATA2LSB<br>
-  Type:     ET_REL<br>
-  Machine:  EM_MIPS<br>
-  Flags:    [EF_MIPS_PIC, EF_MIPS_CPIC, EF_MIPS_ARCH_64]<br>
-<br>
-Sections:<br>
-  - Name:          .text<br>
-    Type:          SHT_PROGBITS<br>
-    Flags:         [ SHF_ALLOC, SHF_EXECINSTR ]<br>
-    AddressAlign:  16<br>
-    Size:          16<br>
-<br>
-  - Name:          .rela.text<br>
-    Type:          SHT_RELA<br>
-    Flags:         [ SHF_INFO_LINK ]<br>
-    Link:          .symtab<br>
-    AddressAlign:  8<br>
-    Info:          .text<br>
-    Relocations:<br>
-      - Offset:  0<br>
-        Symbol:  T1<br>
-        Type:    R_MICROMIPS_HIGHER<br>
-        Addend:  0x0000800100000000<br>
-      - Offset:  8<br>
-        Symbol:  T1<br>
-        Type:    R_MICROMIPS_HIGHEST<br>
-        Addend:  0x4001000000000000<br>
+# RUN: llvm-objdump -d %t.exe | FileCheck %s<br>
<br>
-Symbols:<br>
-  Global:<br>
-    - Name:     T0<br>
-      Type:     STT_FUNC<br>
-      Section:  .text<br>
-      Value:    0<br>
-      Size:     8<br>
-    - Name:     T1<br>
-      Type:     STT_FUNC<br>
-      Section:  .text<br>
-      Value:    8<br>
-      Size:     8<br>
+# CHECK: Disassembly of section .text:<br>
+# CHECK-NEXT: T0:<br>
+# CHECK-NEXT: 120000250:   01 00 62 64   daddiu  $2, $3, 1<br>
+# CHECK-NEXT: 120000254:   00 00 62 64   daddiu  $2, $3, 0<br>
+#<br>
+# CHECK:      T1:<br>
+# CHECK-NEXT: 120000258:   00 00 00 00   nop<br>
+<br>
+  .text<br>
+  .globl  T0<br>
+T0:<br>
+  daddiu $2, $3, %higher(T1+0x0000800100000000)<br>
+  daddiu $2, $3, %highest(T1+0x4001000000000000)<br>
+<br>
+  .globl  T1<br>
+T1:<br>
+  nop<br>
<br>
Added: lld/trunk/test/elf/Mips/rld_map.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_elf_Mips_rld-5Fmap.test-3Frev-3D243626-26view-3Dauto&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=N04kHssF1tVsg-Pi98pf1dv-nDh7ocDOX2KqhIoJW0Y&s=7iMJ0YiA1QaXjseyGBtNXOwFmJ836875Fjv6aT6jicE&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/rld_map.test?rev=243626&view=auto</a><br>
==============================================================================<br>
--- lld/trunk/test/elf/Mips/rld_map.test (added)<br>
+++ lld/trunk/test/elf/Mips/rld_map.test Thu Jul 30 02:45:55 2015<br>
@@ -0,0 +1,41 @@<br>
+# REQUIRES: mips<br>
+<br>
+# Check definition of DT_MIPS_RLD_MAP dynamic tag,<br>
+# .rld_map section, and __RLD_MAP symbol.<br>
+<br>
+# RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux %s -o %t.o<br>
+# RUN: lld -flavor gnu -target mips %t.o -o %t.exe<br>
+# RUN: llvm-readobj -dynamic-table -s -st %t.exe \<br>
+# RUN:   | FileCheck -check-prefix=EXE-DYN %s<br>
+<br>
+# EXE-DYN:      Name: .rld_map<br>
+# EXE-DYN-NEXT: Type: SHT_PROGBITS<br>
+# EXE-DYN-NEXT: Flags [<br>
+# EXE-DYN-NEXT:   SHF_ALLOC<br>
+# EXE-DYN-NEXT:   SHF_WRITE<br>
+# EXE-DYN-NEXT: ]<br>
+# EXE-DYN-NEXT: Address: 0x[[ADDR:[0-9A-F]+]]<br>
+# EXE-DYN:      Size: 4<br>
+# EXE-DYN:      AddressAlignment: 4<br>
+# EXE-DYN:      Symbols [<br>
+# EXE-DYN-NEXT:   Symbol {<br>
+# EXE-DYN-NEXT:     Name: __RLD_MAP<br>
+# EXE-DYN-NEXT:     Value: 0x[[ADDR]]<br>
+# EXE-DYN-NEXT:     Size: 4<br>
+# EXE-DYN-NEXT:     Binding: Global<br>
+# EXE-DYN-NEXT:     Type: Object<br>
+#<br>
+# EXE-DYN: 0x70000016  MIPS_RLD_MAP  0x402000<br>
+<br>
+# RUN: lld -flavor gnu -target mips -static %t.o -o %t.exe<br>
+# RUN: llvm-nm -just-symbol-name %t.exe | FileCheck -check-prefix=EXE-STATIC %s<br>
+<br>
+# EXE-STATIC-NOT: __RLD_MAP<br>
+<br>
+# RUN: lld -flavor gnu -target mips -shared %t.o -o %t.so<br>
+# RUN: llvm-nm -just-symbol-name %t.so | FileCheck -check-prefix=DYNLIB %s<br>
+<br>
+# DYNLIB-NOT: __RLD_MAP<br>
+<br>
+  .globl __start;<br>
+__start:<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br></div>