[lld] r190608 - [lld][LayoutPass] Order the atoms that are in the same chain

Shankar Easwaran shankare at codeaurora.org
Thu Sep 12 08:43:09 PDT 2013


Author: shankare
Date: Thu Sep 12 10:43:09 2013
New Revision: 190608

URL: http://llvm.org/viewvc/llvm-project?rev=190608&view=rev
Log:
[lld][LayoutPass] Order the atoms that are in the same chain

We need to order atoms that exist in the same chain. This is to make sure that
the command line order is preserved when we emit the atoms to the output file.

Credits: BigCheese for finding the bug.

Adds a test which otherwise would fail.

Added:
    lld/trunk/test/elf/X86_64/Inputs/layoutpass/
    lld/trunk/test/elf/X86_64/Inputs/layoutpass/1.c
    lld/trunk/test/elf/X86_64/Inputs/layoutpass/1.o
    lld/trunk/test/elf/X86_64/Inputs/layoutpass/2.c
    lld/trunk/test/elf/X86_64/Inputs/layoutpass/2.o
    lld/trunk/test/elf/X86_64/Inputs/layoutpass/3.c
    lld/trunk/test/elf/X86_64/Inputs/layoutpass/3.o
    lld/trunk/test/elf/X86_64/Inputs/layoutpass/lib2.a
    lld/trunk/test/elf/X86_64/layoutpass-order.test
Modified:
    lld/trunk/lib/Passes/LayoutPass.cpp
    lld/trunk/test/elf/Hexagon/dynlib-gotoff.test
    lld/trunk/test/elf/X86_64/dontignorezerosize-sections.test
    lld/trunk/test/elf/X86_64/multi-weak-syms-order.test
    lld/trunk/test/elf/X86_64/nmagic.test
    lld/trunk/test/elf/X86_64/omagic.test
    lld/trunk/test/elf/X86_64/orderatoms-by-override.test
    lld/trunk/test/elf/X86_64/undef.test
    lld/trunk/test/elf/check.test
    lld/trunk/test/elf/checkrodata.test
    lld/trunk/test/elf/dynamic.test
    lld/trunk/test/elf/gotpcrel.test
    lld/trunk/test/elf/hexagon-quickdata-sort.test
    lld/trunk/test/elf/hexagon-quickdata-sortcommon.test
    lld/trunk/test/elf/ifunc.test
    lld/trunk/test/elf/quickdata.test
    lld/trunk/test/elf/tls.test
    lld/trunk/test/elf/x86-64-dynamic.test
    lld/trunk/test/pecoff/importlib.test

Modified: lld/trunk/lib/Passes/LayoutPass.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/Passes/LayoutPass.cpp?rev=190608&r1=190607&r2=190608&view=diff
==============================================================================
--- lld/trunk/lib/Passes/LayoutPass.cpp (original)
+++ lld/trunk/lib/Passes/LayoutPass.cpp Thu Sep 12 10:43:09 2013
@@ -52,22 +52,15 @@ bool LayoutPass::CompareAtoms::operator(
   AtomToOrdinalT::const_iterator lPos = _layout._ordinalOverrideMap.find(left);
   AtomToOrdinalT::const_iterator rPos = _layout._ordinalOverrideMap.find(right);
   AtomToOrdinalT::const_iterator end = _layout._ordinalOverrideMap.end();
-  if (lPos != end) {
-    if (rPos != end) {
-      // both left and right are overridden, so compare overridden ordinals
-      if (lPos->second != rPos->second)
-        return lPos->second < rPos->second;
-    } else {
-      // left is overridden and right is not, so left < right
-      return true;
-    }
-  } else {
-    if (rPos != end) {
-      // right is overridden and left is not, so right < left
-      return false;
-    } else {
-      // neither are overridden,
-      // fall into default sorting below
+
+  // Sort atoms by their ordinal overrides only if they fall in the same
+  // chain.
+  const DefinedAtom *leftAtom = _layout._followOnRoots.find(left)->second;
+  const DefinedAtom *rightAtom = _layout._followOnRoots.find(right)->second;
+
+  if (leftAtom == rightAtom) {
+    if ((lPos != end) && (rPos != end)) {
+      return lPos->second < rPos->second;
     }
   }
 
@@ -91,8 +84,6 @@ bool LayoutPass::CompareAtoms::operator(
   if (leftType != rightType)
     return leftType < rightType;
 
-  // TO DO: Sort atoms in customs sections together.
-
   // Sort by .o order.
   const File *leftFile = &left->file();
   const File *rightFile = &right->file();
@@ -393,8 +384,6 @@ void LayoutPass::buildOrdinalOverrideMap
           _ordinalOverrideMap[nextAtom] = index++;
         }
       }
-    } else {
-      _ordinalOverrideMap[atom] = index++;
     }
   }
 }

Modified: lld/trunk/test/elf/Hexagon/dynlib-gotoff.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Hexagon/dynlib-gotoff.test?rev=190608&r1=190607&r2=190608&view=diff
==============================================================================
--- lld/trunk/test/elf/Hexagon/dynlib-gotoff.test (original)
+++ lld/trunk/test/elf/Hexagon/dynlib-gotoff.test Thu Sep 12 10:43:09 2013
@@ -3,85 +3,72 @@ RUN: lld -flavor gnu -target hexagon %p/
 RUN:   -o %t -emit-yaml -shared --noinhibit-exec
 RUN: FileCheck -check-prefix=CHECKGOTPLT %s < %t
 
-CHECKGOTPLT:  - ref-name:            {{[0-9A-Z]+}}
+              - name:            __got0
+CHECKGOTPLT:    type:            got
+CHECKGOTPLT:    content:         [ 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 
+CHECKGOTPLT:                       00, 00, 00, 00 ]
+CHECKGOTPLT:    alignment:       2^3
+CHECKGOTPLT:    section-name:    .got.plt
+CHECKGOTPLT:    permissions:     rw-
+              - name:            __got_c
+CHECKGOTPLT:    type:            got
+CHECKGOTPLT:    content:         [ 00, 00, 00, 00 ]
 CHECKGOTPLT:    alignment:       2^2
-CHECKGOTPLT:    section-name:    .text
+CHECKGOTPLT:    section-name:    .got
+CHECKGOTPLT:    permissions:     rw-
 CHECKGOTPLT:    references:      
-CHECKGOTPLT:      - kind:            layout-after
+CHECKGOTPLT:      - kind:            R_HEX_GLOB_DAT
 CHECKGOTPLT:        offset:          0
-CHECKGOTPLT:        target:          fn2
-CHECKGOTPLT:  - name:            fn2
-CHECKGOTPLT:    scope:           global
-CHECKGOTPLT:    content:         [ 00, C0, 9D, A0, 00, C0, 00, 78, 1E, C0, 1E, 96 ]
+CHECKGOTPLT:        target:          c
+              - name:            __got_shankar
+CHECKGOTPLT:    type:            got
+CHECKGOTPLT:    content:         [ 00, 00, 00, 00 ]
 CHECKGOTPLT:    alignment:       2^2
-CHECKGOTPLT:    section-name:    .text
-CHECKGOTPLT:  - name:            fn1
-CHECKGOTPLT:    scope:           global
-CHECKGOTPLT:    content:         [ 00, C0, 9D, A0, 00, C0, 00, 78, 1E, C0, 1E, 96 ]
+CHECKGOTPLT:    section-name:    .got
+CHECKGOTPLT:    permissions:     rw-
+CHECKGOTPLT:    references:      
+CHECKGOTPLT:      - kind:            R_HEX_GLOB_DAT
+CHECKGOTPLT:        offset:          0
+CHECKGOTPLT:        target:          shankar
+              - name:            __got_fn
+CHECKGOTPLT:    type:            got
+CHECKGOTPLT:    content:         [ 00, 00, 00, 00 ]
 CHECKGOTPLT:    alignment:       2^2
-CHECKGOTPLT:    section-name:    .text
-CHECKGOTPLT:  - name:            fn
-CHECKGOTPLT:    scope:           global
-CHECKGOTPLT:    content:         [ 01, C0, 9D, A0, 01, D8, 9D, A1, 00, 40, 00, 00, 
-CHECKGOTPLT:                       18, C0, 49, 6A, 00, 40, 00, 00, 00, C0, 49, 6A, 
-CHECKGOTPLT:                       0A, C0, 40, 3C, 00, 40, 00, 00, 00, C0, 49, 6A, 
-CHECKGOTPLT:                       14, C0, 40, 3C, 00, 40, 00, 00, 00, C0, 98, 91, 
-CHECKGOTPLT:                       0A, C0, 40, 3C, 00, 40, 00, 00, 00, C0, 98, 91, 
-CHECKGOTPLT:                       14, C0, 40, 3C, 00, C0, 00, 78, 38, C0, 9D, 91, 
-CHECKGOTPLT:                       1E, C0, 1E, 96 ]
+CHECKGOTPLT:    section-name:    .got.plt
+CHECKGOTPLT:    permissions:     rw-
+CHECKGOTPLT:    references:      
+CHECKGOTPLT:      - kind:            R_HEX_JMP_SLOT
+CHECKGOTPLT:        offset:          0
+CHECKGOTPLT:        target:          fn
+CHECKGOTPLT:      - kind:            R_HEX_32
+CHECKGOTPLT:        offset:          0
+CHECKGOTPLT:        target:          .PLT0
+              - name:            __got_fn1
+CHECKGOTPLT:    type:            got
+CHECKGOTPLT:    content:         [ 00, 00, 00, 00 ]
 CHECKGOTPLT:    alignment:       2^2
-CHECKGOTPLT:    section-name:    .text
+CHECKGOTPLT:    section-name:    .got.plt
+CHECKGOTPLT:    permissions:     rw-
 CHECKGOTPLT:    references:      
-CHECKGOTPLT:      - kind:            R_HEX_B32_PCREL_X
-CHECKGOTPLT:        offset:          8
-CHECKGOTPLT:        target:          _GLOBAL_OFFSET_TABLE_
-CHECKGOTPLT:      - kind:            R_HEX_6_PCREL_X
-CHECKGOTPLT:        offset:          12
-CHECKGOTPLT:        target:          _GLOBAL_OFFSET_TABLE_
-CHECKGOTPLT:        addend:          4
-CHECKGOTPLT:      - kind:            R_HEX_B32_PCREL_X
-CHECKGOTPLT:        offset:          16
-CHECKGOTPLT:        target:          [[SBSS:[-a-zA-Z0-9_]+]]
-CHECKGOTPLT:      - kind:            R_HEX_6_PCREL_X
-CHECKGOTPLT:        offset:          20
-CHECKGOTPLT:        target:          [[SBSS]]
-CHECKGOTPLT:        addend:          4
-CHECKGOTPLT:      - kind:            R_HEX_B32_PCREL_X
-CHECKGOTPLT:        offset:          28
-CHECKGOTPLT:        target:          [[SBSS]]
-CHECKGOTPLT:        addend:          4
-CHECKGOTPLT:      - kind:            R_HEX_6_PCREL_X
-CHECKGOTPLT:        offset:          32
-CHECKGOTPLT:        target:          [[SBSS]]
-CHECKGOTPLT:        addend:          8
-CHECKGOTPLT:      - kind:            R_HEX_GOT_32_6_X
-CHECKGOTPLT:        offset:          40
-                    target:          __got_c
-CHECKGOTPLT:      - kind:            R_HEX_GOT_11_X
-CHECKGOTPLT:        offset:          44
-                    target:          __got_c
-CHECKGOTPLT:      - kind:            R_HEX_GOT_32_6_X
-CHECKGOTPLT:        offset:          52
-                    target:          __got_shankar
-CHECKGOTPLT:      - kind:            R_HEX_GOT_11_X
-CHECKGOTPLT:        offset:          56
-                    target:          __got_shankar
-CHECKGOTPLT:  - name:            fn3
-CHECKGOTPLT:    scope:           global
-CHECKGOTPLT:    content:         [ 00, C0, 9D, A0, 00, C0, 00, 5A, 00, C0, 00, 5A, 
-CHECKGOTPLT:                       00, C0, 00, 5A, 00, C0, 00, 78, 1E, C0, 1E, 96 ]
+CHECKGOTPLT:      - kind:            R_HEX_JMP_SLOT
+CHECKGOTPLT:        offset:          0
+CHECKGOTPLT:        target:          fn1
+CHECKGOTPLT:      - kind:            R_HEX_32
+CHECKGOTPLT:        offset:          0
+CHECKGOTPLT:        target:          .PLT0
+              - name:            __got_fn2
+CHECKGOTPLT:    type:            got
+CHECKGOTPLT:    content:         [ 00, 00, 00, 00 ]
 CHECKGOTPLT:    alignment:       2^2
-CHECKGOTPLT:    section-name:    .text
+CHECKGOTPLT:    section-name:    .got.plt
+CHECKGOTPLT:    permissions:     rw-
 CHECKGOTPLT:    references:      
-CHECKGOTPLT:      - kind:            R_HEX_B22_PCREL
-CHECKGOTPLT:        offset:          4
-                    target:          __plt_fn
-CHECKGOTPLT:      - kind:            R_HEX_B22_PCREL
-CHECKGOTPLT:        offset:          8
-                    target:          __plt_fn1
-CHECKGOTPLT:      - kind:            R_HEX_B22_PCREL
-CHECKGOTPLT:        offset:          12
-                    target:          __plt_fn2
+CHECKGOTPLT:      - kind:            R_HEX_JMP_SLOT
+CHECKGOTPLT:        offset:          0
+CHECKGOTPLT:        target:          fn2
+CHECKGOTPLT:      - kind:            R_HEX_32
+CHECKGOTPLT:        offset:          0
+CHECKGOTPLT:        target:          .PLT0
               - name:            .PLT0
 CHECKGOTPLT:    type:            stub
 CHECKGOTPLT:    content:         [ 00, 40, 00, 00, 1C, C0, 49, 6A, 0E, 42, 9C, E2, 
@@ -96,6 +83,7 @@ CHECKGOTPLT:        offset:          0
 CHECKGOTPLT:      - kind:            R_HEX_6_PCREL_X
 CHECKGOTPLT:        offset:          4
                     target:          __got0
+CHECKGOTPLT:        addend:          4
               - name:            __plt_fn
 CHECKGOTPLT:    type:            stub
 CHECKGOTPLT:    content:         [ 00, 40, 00, 00, 0E, C0, 49, 6A, 1C, C0, 8E, 91, 
@@ -138,68 +126,3 @@ CHECKGOTPLT:      - kind:            R_H
 CHECKGOTPLT:        offset:          4
                     target:          __got_fn2
 CHECKGOTPLT:        addend:          4
-              - name:            __got0
-CHECKGOTPLT:    type:            got
-CHECKGOTPLT:    content:         [ 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 
-CHECKGOTPLT:                       00, 00, 00, 00 ]
-CHECKGOTPLT:    alignment:       2^3
-CHECKGOTPLT:    section-name:    .got.plt
-              - name:            __got_c
-CHECKGOTPLT:    type:            got
-CHECKGOTPLT:    content:         [ 00, 00, 00, 00 ]
-CHECKGOTPLT:    alignment:       2^2
-CHECKGOTPLT:    section-name:    .got
-CHECKGOTPLT:    permissions:     rw-
-CHECKGOTPLT:    references:      
-CHECKGOTPLT:      - kind:            R_HEX_GLOB_DAT
-CHECKGOTPLT:        offset:          0
-CHECKGOTPLT:        target:          c
-              - name:            __got_shankar
-CHECKGOTPLT:    type:            got
-CHECKGOTPLT:    content:         [ 00, 00, 00, 00 ]
-CHECKGOTPLT:    alignment:       2^2
-CHECKGOTPLT:    section-name:    .got
-CHECKGOTPLT:    permissions:     rw-
-CHECKGOTPLT:    references:      
-CHECKGOTPLT:      - kind:            R_HEX_GLOB_DAT
-CHECKGOTPLT:        offset:          0
-CHECKGOTPLT:        target:          shankar
-              - name:            __got_fn
-CHECKGOTPLT:    type:            got
-CHECKGOTPLT:    content:         [ 00, 00, 00, 00 ]
-CHECKGOTPLT:    alignment:       2^2
-CHECKGOTPLT:    section-name:    .got.plt
-CHECKGOTPLT:    permissions:     rw-
-CHECKGOTPLT:    references:      
-CHECKGOTPLT:      - kind:            R_HEX_JMP_SLOT
-CHECKGOTPLT:        offset:          0
-CHECKGOTPLT:        target:          fn
-CHECKGOTPLT:      - kind:            R_HEX_32
-CHECKGOTPLT:        offset:          0
-                    target:          .PLT0
-              - name:            __got_fn1
-CHECKGOTPLT:    type:            got
-CHECKGOTPLT:    content:         [ 00, 00, 00, 00 ]
-CHECKGOTPLT:    alignment:       2^2
-CHECKGOTPLT:    section-name:    .got.plt
-CHECKGOTPLT:    permissions:     rw-
-CHECKGOTPLT:    references:      
-CHECKGOTPLT:      - kind:            R_HEX_JMP_SLOT
-CHECKGOTPLT:        offset:          0
-CHECKGOTPLT:        target:          fn1
-CHECKGOTPLT:      - kind:            R_HEX_32
-CHECKGOTPLT:        offset:          0
-                    target:          .PLT0
-              - name:            __got_fn2
-CHECKGOTPLT:    type:            got
-CHECKGOTPLT:    content:         [ 00, 00, 00, 00 ]
-CHECKGOTPLT:    alignment:       2^2
-CHECKGOTPLT:    section-name:    .got.plt
-CHECKGOTPLT:    permissions:     rw-
-CHECKGOTPLT:    references:      
-CHECKGOTPLT:      - kind:            R_HEX_JMP_SLOT
-CHECKGOTPLT:        offset:          0
-CHECKGOTPLT:        target:          fn2
-CHECKGOTPLT:      - kind:            R_HEX_32
-CHECKGOTPLT:        offset:          0
-                    target:          .PLT0

Added: lld/trunk/test/elf/X86_64/Inputs/layoutpass/1.c
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/X86_64/Inputs/layoutpass/1.c?rev=190608&view=auto
==============================================================================
--- lld/trunk/test/elf/X86_64/Inputs/layoutpass/1.c (added)
+++ lld/trunk/test/elf/X86_64/Inputs/layoutpass/1.c Thu Sep 12 10:43:09 2013
@@ -0,0 +1,8 @@
+int main() {
+  a();
+  return 0;
+}
+
+int b() {
+  return 0;
+}

Added: lld/trunk/test/elf/X86_64/Inputs/layoutpass/1.o
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/X86_64/Inputs/layoutpass/1.o?rev=190608&view=auto
==============================================================================
Binary files lld/trunk/test/elf/X86_64/Inputs/layoutpass/1.o (added) and lld/trunk/test/elf/X86_64/Inputs/layoutpass/1.o Thu Sep 12 10:43:09 2013 differ

Added: lld/trunk/test/elf/X86_64/Inputs/layoutpass/2.c
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/X86_64/Inputs/layoutpass/2.c?rev=190608&view=auto
==============================================================================
--- lld/trunk/test/elf/X86_64/Inputs/layoutpass/2.c (added)
+++ lld/trunk/test/elf/X86_64/Inputs/layoutpass/2.c Thu Sep 12 10:43:09 2013
@@ -0,0 +1,7 @@
+int a() {
+  return 0;
+}
+
+int c() {
+  return 0;
+}

Added: lld/trunk/test/elf/X86_64/Inputs/layoutpass/2.o
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/X86_64/Inputs/layoutpass/2.o?rev=190608&view=auto
==============================================================================
Binary files lld/trunk/test/elf/X86_64/Inputs/layoutpass/2.o (added) and lld/trunk/test/elf/X86_64/Inputs/layoutpass/2.o Thu Sep 12 10:43:09 2013 differ

Added: lld/trunk/test/elf/X86_64/Inputs/layoutpass/3.c
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/X86_64/Inputs/layoutpass/3.c?rev=190608&view=auto
==============================================================================
--- lld/trunk/test/elf/X86_64/Inputs/layoutpass/3.c (added)
+++ lld/trunk/test/elf/X86_64/Inputs/layoutpass/3.c Thu Sep 12 10:43:09 2013
@@ -0,0 +1,3 @@
+int d() {
+  return 0;
+}

Added: lld/trunk/test/elf/X86_64/Inputs/layoutpass/3.o
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/X86_64/Inputs/layoutpass/3.o?rev=190608&view=auto
==============================================================================
Binary files lld/trunk/test/elf/X86_64/Inputs/layoutpass/3.o (added) and lld/trunk/test/elf/X86_64/Inputs/layoutpass/3.o Thu Sep 12 10:43:09 2013 differ

Added: lld/trunk/test/elf/X86_64/Inputs/layoutpass/lib2.a
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/X86_64/Inputs/layoutpass/lib2.a?rev=190608&view=auto
==============================================================================
Binary files lld/trunk/test/elf/X86_64/Inputs/layoutpass/lib2.a (added) and lld/trunk/test/elf/X86_64/Inputs/layoutpass/lib2.a Thu Sep 12 10:43:09 2013 differ

Modified: lld/trunk/test/elf/X86_64/dontignorezerosize-sections.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/X86_64/dontignorezerosize-sections.test?rev=190608&r1=190607&r2=190608&view=diff
==============================================================================
--- lld/trunk/test/elf/X86_64/dontignorezerosize-sections.test (original)
+++ lld/trunk/test/elf/X86_64/dontignorezerosize-sections.test Thu Sep 12 10:43:09 2013
@@ -3,9 +3,9 @@ RUN: lld -flavor gnu -target x86_64-linu
 RUN: --noinhibit-exec -emit-yaml -o %t
 RUN: FileCheck %s < %t
 
-CHECK:    section-name:    .text
 CHECK:    section-name:    .data
 CHECK:    references:      
 CHECK:      - kind:            R_X86_64_16
 CHECK:        offset:          0
 CHECK:        target:          L000
+CHECK:    section-name:    .text

Added: lld/trunk/test/elf/X86_64/layoutpass-order.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/X86_64/layoutpass-order.test?rev=190608&view=auto
==============================================================================
--- lld/trunk/test/elf/X86_64/layoutpass-order.test (added)
+++ lld/trunk/test/elf/X86_64/layoutpass-order.test Thu Sep 12 10:43:09 2013
@@ -0,0 +1,14 @@
+# This test checks that we follow the command line order of layouting
+# symbols in the output file 
+
+RUN: lld -flavor gnu -target x86_64 %p/Inputs/layoutpass/1.o \
+RUN: %p/Inputs/layoutpass/lib2.a %p/Inputs/layoutpass/3.o -o %t \
+RUN: --noinhibit-exec -static
+
+RUN: llvm-nm -n %t | FileCheck -check-prefix=SYMBOLSORDER %s
+
+SYMBOLSORDER: 004000b0 T main
+SYMBOLSORDER: 004000c5 T b
+SYMBOLSORDER: 004000d0 T a
+SYMBOLSORDER: 004000db T c
+SYMBOLSORDER: 004000e8 T d

Modified: lld/trunk/test/elf/X86_64/multi-weak-syms-order.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/X86_64/multi-weak-syms-order.test?rev=190608&r1=190607&r2=190608&view=diff
==============================================================================
--- lld/trunk/test/elf/X86_64/multi-weak-syms-order.test (original)
+++ lld/trunk/test/elf/X86_64/multi-weak-syms-order.test Thu Sep 12 10:43:09 2013
@@ -10,8 +10,4 @@ WEAKORDER: {{[0-9a-f]+}} T g
 WEAKORDER: {{[0-9a-f]+}} T main
 
 WEAKATOMSORDER:  - name:            f
-WEAKATOMSORDER:  - ref-name:        {{[A-Z0-9]+}}
 WEAKATOMSORDER:  - name:            g
-WEAKATOMSORDER:  - ref-name:        {{[A-Z0-9]+}}
-
-

Modified: lld/trunk/test/elf/X86_64/nmagic.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/X86_64/nmagic.test?rev=190608&r1=190607&r2=190608&view=diff
==============================================================================
--- lld/trunk/test/elf/X86_64/nmagic.test (original)
+++ lld/trunk/test/elf/X86_64/nmagic.test Thu Sep 12 10:43:09 2013
@@ -6,207 +6,71 @@ RUN: --noinhibit-exec -o %t --nmagic -st
 RUN: llvm-readobj -sections %t | FileCheck -check-prefix=NMAGICSECTIONS %s
 RUN: llvm-readobj -program-headers %t | FileCheck -check-prefix=NMAGICPROGRAMHEADERS %s
 
-NMAGICSECTIONS: Sections [
 NMAGICSECTIONS:   Section {
 NMAGICSECTIONS:     Index: 0
 NMAGICSECTIONS:     Name:  (0)
 NMAGICSECTIONS:     Type: SHT_NULL (0x0)
-NMAGICSECTIONS:     Flags [ (0x0)
-NMAGICSECTIONS:     ]
-NMAGICSECTIONS:     Address: 0x0
-NMAGICSECTIONS:     Offset: 0x0
-NMAGICSECTIONS:     Size: 0
-NMAGICSECTIONS:     Link: 0
-NMAGICSECTIONS:     Info: 0
-NMAGICSECTIONS:     AddressAlignment: 0
-NMAGICSECTIONS:     EntrySize: 0
 NMAGICSECTIONS:   }
 NMAGICSECTIONS:   Section {
 NMAGICSECTIONS:     Index: 1
-NMAGICSECTIONS:     Name: .text (1)
+NMAGICSECTIONS:     Name: .note.GNU-stack (1)
 NMAGICSECTIONS:     Type: SHT_PROGBITS (0x1)
-NMAGICSECTIONS:     Flags [ (0x6)
-NMAGICSECTIONS:       SHF_ALLOC (0x2)
-NMAGICSECTIONS:       SHF_EXECINSTR (0x4)
-NMAGICSECTIONS:     ]
-NMAGICSECTIONS:     Address: 0x4000B0
-NMAGICSECTIONS:     Offset: 0xB0
-NMAGICSECTIONS:     Size: 11
-NMAGICSECTIONS:     Link: 0
-NMAGICSECTIONS:     Info: 0
-NMAGICSECTIONS:     AddressAlignment: 4
-NMAGICSECTIONS:     EntrySize: 0
 NMAGICSECTIONS:   }
 NMAGICSECTIONS:   Section {
 NMAGICSECTIONS:     Index: 2
-NMAGICSECTIONS:     Name: .note.GNU-stack (7)
+NMAGICSECTIONS:     Name: .text (17)
 NMAGICSECTIONS:     Type: SHT_PROGBITS (0x1)
-NMAGICSECTIONS:     Flags [ (0x2)
-NMAGICSECTIONS:       SHF_ALLOC (0x2)
-NMAGICSECTIONS:     ]
-NMAGICSECTIONS:     Address: 0x4000BB
-NMAGICSECTIONS:     Offset: 0xBB
-NMAGICSECTIONS:     Size: 0
-NMAGICSECTIONS:     Link: 0
-NMAGICSECTIONS:     Info: 0
-NMAGICSECTIONS:     AddressAlignment: 1
-NMAGICSECTIONS:     EntrySize: 0
 NMAGICSECTIONS:   }
 NMAGICSECTIONS:   Section {
 NMAGICSECTIONS:     Index: 3
 NMAGICSECTIONS:     Name: .comment (23)
 NMAGICSECTIONS:     Type: SHT_PROGBITS (0x1)
-NMAGICSECTIONS:     Flags [ (0x2)
-NMAGICSECTIONS:       SHF_ALLOC (0x2)
-NMAGICSECTIONS:     ]
-NMAGICSECTIONS:     Address: 0x4000BB
-NMAGICSECTIONS:     Offset: 0xBB
-NMAGICSECTIONS:     Size: 43
-NMAGICSECTIONS:     Link: 0
-NMAGICSECTIONS:     Info: 0
-NMAGICSECTIONS:     AddressAlignment: 1
-NMAGICSECTIONS:     EntrySize: 0
 NMAGICSECTIONS:   }
 NMAGICSECTIONS:   Section {
 NMAGICSECTIONS:     Index: 4
 NMAGICSECTIONS:     Name: .eh_frame (32)
 NMAGICSECTIONS:     Type: SHT_PROGBITS (0x1)
-NMAGICSECTIONS:     Flags [ (0x2)
-NMAGICSECTIONS:       SHF_ALLOC (0x2)
-NMAGICSECTIONS:     ]
-NMAGICSECTIONS:     Address: 0x4000E8
-NMAGICSECTIONS:     Offset: 0xE8
-NMAGICSECTIONS:     Size: 56
-NMAGICSECTIONS:     Link: 0
-NMAGICSECTIONS:     Info: 0
-NMAGICSECTIONS:     AddressAlignment: 8
-NMAGICSECTIONS:     EntrySize: 0
 NMAGICSECTIONS:   }
 NMAGICSECTIONS:   Section {
 NMAGICSECTIONS:     Index: 5
 NMAGICSECTIONS:     Name: .tdata (42)
 NMAGICSECTIONS:     Type: SHT_PROGBITS (0x1)
-NMAGICSECTIONS:     Flags [ (0x403)
-NMAGICSECTIONS:       SHF_ALLOC (0x2)
-NMAGICSECTIONS:       SHF_TLS (0x400)
-NMAGICSECTIONS:       SHF_WRITE (0x1)
-NMAGICSECTIONS:     ]
-NMAGICSECTIONS:     Address: 0x401000
-NMAGICSECTIONS:     Offset: 0x1000
-NMAGICSECTIONS:     Size: 4
-NMAGICSECTIONS:     Link: 0
-NMAGICSECTIONS:     Info: 0
-NMAGICSECTIONS:     AddressAlignment: 4
-NMAGICSECTIONS:     EntrySize: 0
 NMAGICSECTIONS:   }
 NMAGICSECTIONS:   Section {
 NMAGICSECTIONS:     Index: 6
 NMAGICSECTIONS:     Name: .tbss (49)
 NMAGICSECTIONS:     Type: SHT_NOBITS (0x8)
-NMAGICSECTIONS:     Flags [ (0x403)
-NMAGICSECTIONS:       SHF_ALLOC (0x2)
-NMAGICSECTIONS:       SHF_TLS (0x400)
-NMAGICSECTIONS:       SHF_WRITE (0x1)
-NMAGICSECTIONS:     ]
-NMAGICSECTIONS:     Address: 0x401004
-NMAGICSECTIONS:     Offset: 0x1004
-NMAGICSECTIONS:     Size: 8
-NMAGICSECTIONS:     Link: 0
-NMAGICSECTIONS:     Info: 0
-NMAGICSECTIONS:     AddressAlignment: 4
-NMAGICSECTIONS:     EntrySize: 0
 NMAGICSECTIONS:   }
 NMAGICSECTIONS:   Section {
 NMAGICSECTIONS:     Index: 7
 NMAGICSECTIONS:     Name: .got.plt (55)
 NMAGICSECTIONS:     Type: SHT_PROGBITS (0x1)
-NMAGICSECTIONS:     Flags [ (0x3)
-NMAGICSECTIONS:       SHF_ALLOC (0x2)
-NMAGICSECTIONS:       SHF_WRITE (0x1)
-NMAGICSECTIONS:     ]
-NMAGICSECTIONS:     Address: 0x401008
-NMAGICSECTIONS:     Offset: 0x1008
-NMAGICSECTIONS:     Size: 0
-NMAGICSECTIONS:     Link: 0
-NMAGICSECTIONS:     Info: 0
-NMAGICSECTIONS:     AddressAlignment: 8
-NMAGICSECTIONS:     EntrySize: 0
 NMAGICSECTIONS:   }
 NMAGICSECTIONS:   Section {
 NMAGICSECTIONS:     Index: 8
 NMAGICSECTIONS:     Name: .data (64)
 NMAGICSECTIONS:     Type: SHT_PROGBITS (0x1)
-NMAGICSECTIONS:     Flags [ (0x3)
-NMAGICSECTIONS:       SHF_ALLOC (0x2)
-NMAGICSECTIONS:       SHF_WRITE (0x1)
-NMAGICSECTIONS:     ]
-NMAGICSECTIONS:     Address: 0x401008
-NMAGICSECTIONS:     Offset: 0x1008
-NMAGICSECTIONS:     Size: 4
-NMAGICSECTIONS:     Link: 0
-NMAGICSECTIONS:     Info: 0
-NMAGICSECTIONS:     AddressAlignment: 4
-NMAGICSECTIONS:     EntrySize: 0
 NMAGICSECTIONS:   }
 NMAGICSECTIONS:   Section {
 NMAGICSECTIONS:     Index: 9
 NMAGICSECTIONS:     Name: .bss (70)
 NMAGICSECTIONS:     Type: SHT_NOBITS (0x8)
-NMAGICSECTIONS:     Flags [ (0x3)
-NMAGICSECTIONS:       SHF_ALLOC (0x2)
-NMAGICSECTIONS:       SHF_WRITE (0x1)
-NMAGICSECTIONS:     ]
-NMAGICSECTIONS:     Address: 0x40100C
-NMAGICSECTIONS:     Offset: 0x100C
-NMAGICSECTIONS:     Size: 0
-NMAGICSECTIONS:     Link: 0
-NMAGICSECTIONS:     Info: 0
-NMAGICSECTIONS:     AddressAlignment: 4
-NMAGICSECTIONS:     EntrySize: 0
 NMAGICSECTIONS:   }
 NMAGICSECTIONS:   Section {
 NMAGICSECTIONS:     Index: 10
 NMAGICSECTIONS:     Name: .shstrtab (75)
 NMAGICSECTIONS:     Type: SHT_STRTAB (0x3)
-NMAGICSECTIONS:     Flags [ (0x0)
-NMAGICSECTIONS:     ]
-NMAGICSECTIONS:     Address: 0x0
-NMAGICSECTIONS:     Offset: 0x100C
-NMAGICSECTIONS:     Size: 101
-NMAGICSECTIONS:     Link: 0
-NMAGICSECTIONS:     Info: 0
-NMAGICSECTIONS:     AddressAlignment: 1
-NMAGICSECTIONS:     EntrySize: 0
 NMAGICSECTIONS:   }
 NMAGICSECTIONS:   Section {
 NMAGICSECTIONS:     Index: 11
 NMAGICSECTIONS:     Name: .symtab (85)
 NMAGICSECTIONS:     Type: SHT_SYMTAB (0x2)
-NMAGICSECTIONS:     Flags [ (0x0)
-NMAGICSECTIONS:     ]
-NMAGICSECTIONS:     Address: 0x0
-NMAGICSECTIONS:     Offset: 0x1078
-NMAGICSECTIONS:     Size: 528
-NMAGICSECTIONS:     Link: 12
-NMAGICSECTIONS:     Info: 2
-NMAGICSECTIONS:     AddressAlignment: 8
-NMAGICSECTIONS:     EntrySize: 24
 NMAGICSECTIONS:   }
 NMAGICSECTIONS:   Section {
 NMAGICSECTIONS:     Index: 12
 NMAGICSECTIONS:     Name: .strtab (93)
 NMAGICSECTIONS:     Type: SHT_STRTAB (0x3)
-NMAGICSECTIONS:     Flags [ (0x0)
-NMAGICSECTIONS:     ]
-NMAGICSECTIONS:     Address: 0x0
-NMAGICSECTIONS:     Offset: 0x1288
-NMAGICSECTIONS:     Size: 246
-NMAGICSECTIONS:     Link: 0
-NMAGICSECTIONS:     Info: 0
-NMAGICSECTIONS:     AddressAlignment: 1
-NMAGICSECTIONS:     EntrySize: 0
 NMAGICSECTIONS:   }
-NMAGICSECTIONS: ]
 
 NMAGICPROGRAMHEADERS: ProgramHeaders [
 NMAGICPROGRAMHEADERS:   ProgramHeader {

Modified: lld/trunk/test/elf/X86_64/omagic.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/X86_64/omagic.test?rev=190608&r1=190607&r2=190608&view=diff
==============================================================================
--- lld/trunk/test/elf/X86_64/omagic.test (original)
+++ lld/trunk/test/elf/X86_64/omagic.test Thu Sep 12 10:43:09 2013
@@ -6,207 +6,205 @@ RUN: --noinhibit-exec -o %t --omagic -st
 RUN: llvm-readobj -sections %t | FileCheck -check-prefix=OMAGICSECTIONS %s
 RUN: llvm-readobj -program-headers %t | FileCheck -check-prefix=OMAGICPROGRAMHEADERS %s
 
-OMAGICSECTIONS: Sections [
-OMAGICSECTIONS:   Section {
-OMAGICSECTIONS:     Index: 0
-OMAGICSECTIONS:     Name:  (0)
-OMAGICSECTIONS:     Type: SHT_NULL (0x0)
-OMAGICSECTIONS:     Flags [ (0x0)
-OMAGICSECTIONS:     ]
-OMAGICSECTIONS:     Address: 0x0
-OMAGICSECTIONS:     Offset: 0x0
-OMAGICSECTIONS:     Size: 0
-OMAGICSECTIONS:     Link: 0
-OMAGICSECTIONS:     Info: 0
-OMAGICSECTIONS:     AddressAlignment: 0
-OMAGICSECTIONS:     EntrySize: 0
-OMAGICSECTIONS:   }
-OMAGICSECTIONS:   Section {
-OMAGICSECTIONS:     Index: 1
-OMAGICSECTIONS:     Name: .text (1)
-OMAGICSECTIONS:     Type: SHT_PROGBITS (0x1)
-OMAGICSECTIONS:     Flags [ (0x6)
-OMAGICSECTIONS:       SHF_ALLOC (0x2)
-OMAGICSECTIONS:       SHF_EXECINSTR (0x4)
-OMAGICSECTIONS:     ]
-OMAGICSECTIONS:     Address: 0x4000B0
-OMAGICSECTIONS:     Offset: 0xB0
-OMAGICSECTIONS:     Size: 11
-OMAGICSECTIONS:     Link: 0
-OMAGICSECTIONS:     Info: 0
-OMAGICSECTIONS:     AddressAlignment: 4
-OMAGICSECTIONS:     EntrySize: 0
-OMAGICSECTIONS:   }
-OMAGICSECTIONS:   Section {
-OMAGICSECTIONS:     Index: 2
-OMAGICSECTIONS:     Name: .note.GNU-stack (7)
-OMAGICSECTIONS:     Type: SHT_PROGBITS (0x1)
-OMAGICSECTIONS:     Flags [ (0x2)
-OMAGICSECTIONS:       SHF_ALLOC (0x2)
-OMAGICSECTIONS:     ]
-OMAGICSECTIONS:     Address: 0x4000BB
-OMAGICSECTIONS:     Offset: 0xBB
-OMAGICSECTIONS:     Size: 0
-OMAGICSECTIONS:     Link: 0
-OMAGICSECTIONS:     Info: 0
-OMAGICSECTIONS:     AddressAlignment: 1
-OMAGICSECTIONS:     EntrySize: 0
-OMAGICSECTIONS:   }
-OMAGICSECTIONS:   Section {
-OMAGICSECTIONS:     Index: 3
-OMAGICSECTIONS:     Name: .comment (23)
-OMAGICSECTIONS:     Type: SHT_PROGBITS (0x1)
-OMAGICSECTIONS:     Flags [ (0x2)
-OMAGICSECTIONS:       SHF_ALLOC (0x2)
-OMAGICSECTIONS:     ]
-OMAGICSECTIONS:     Address: 0x4000BB
-OMAGICSECTIONS:     Offset: 0xBB
-OMAGICSECTIONS:     Size: 43
-OMAGICSECTIONS:     Link: 0
-OMAGICSECTIONS:     Info: 0
-OMAGICSECTIONS:     AddressAlignment: 1
-OMAGICSECTIONS:     EntrySize: 0
-OMAGICSECTIONS:   }
-OMAGICSECTIONS:   Section {
-OMAGICSECTIONS:     Index: 4
-OMAGICSECTIONS:     Name: .eh_frame (32)
-OMAGICSECTIONS:     Type: SHT_PROGBITS (0x1)
-OMAGICSECTIONS:     Flags [ (0x2)
-OMAGICSECTIONS:       SHF_ALLOC (0x2)
-OMAGICSECTIONS:     ]
-OMAGICSECTIONS:     Address: 0x4000E8
-OMAGICSECTIONS:     Offset: 0xE8
-OMAGICSECTIONS:     Size: 56
-OMAGICSECTIONS:     Link: 0
-OMAGICSECTIONS:     Info: 0
-OMAGICSECTIONS:     AddressAlignment: 8
-OMAGICSECTIONS:     EntrySize: 0
-OMAGICSECTIONS:   }
-OMAGICSECTIONS:   Section {
-OMAGICSECTIONS:     Index: 5
-OMAGICSECTIONS:     Name: .tdata (42)
-OMAGICSECTIONS:     Type: SHT_PROGBITS (0x1)
-OMAGICSECTIONS:     Flags [ (0x403)
-OMAGICSECTIONS:       SHF_ALLOC (0x2)
-OMAGICSECTIONS:       SHF_TLS (0x400)
-OMAGICSECTIONS:       SHF_WRITE (0x1)
-OMAGICSECTIONS:     ]
-OMAGICSECTIONS:     Address: 0x400120
-OMAGICSECTIONS:     Offset: 0x120
-OMAGICSECTIONS:     Size: 4
-OMAGICSECTIONS:     Link: 0
-OMAGICSECTIONS:     Info: 0
-OMAGICSECTIONS:     AddressAlignment: 4
-OMAGICSECTIONS:     EntrySize: 0
-OMAGICSECTIONS:   }
-OMAGICSECTIONS:   Section {
-OMAGICSECTIONS:     Index: 6
-OMAGICSECTIONS:     Name: .tbss (49)
-OMAGICSECTIONS:     Type: SHT_NOBITS (0x8)
-OMAGICSECTIONS:     Flags [ (0x403)
-OMAGICSECTIONS:       SHF_ALLOC (0x2)
-OMAGICSECTIONS:       SHF_TLS (0x400)
-OMAGICSECTIONS:       SHF_WRITE (0x1)
-OMAGICSECTIONS:     ]
-OMAGICSECTIONS:     Address: 0x400124
-OMAGICSECTIONS:     Offset: 0x124
-OMAGICSECTIONS:     Size: 8
-OMAGICSECTIONS:     Link: 0
-OMAGICSECTIONS:     Info: 0
-OMAGICSECTIONS:     AddressAlignment: 4
-OMAGICSECTIONS:     EntrySize: 0
-OMAGICSECTIONS:   }
-OMAGICSECTIONS:   Section {
-OMAGICSECTIONS:     Index: 7
-OMAGICSECTIONS:     Name: .got.plt (55)
-OMAGICSECTIONS:     Type: SHT_PROGBITS (0x1)
-OMAGICSECTIONS:     Flags [ (0x3)
-OMAGICSECTIONS:       SHF_ALLOC (0x2)
-OMAGICSECTIONS:       SHF_WRITE (0x1)
-OMAGICSECTIONS:     ]
-OMAGICSECTIONS:     Address: 0x400128
-OMAGICSECTIONS:     Offset: 0x128
-OMAGICSECTIONS:     Size: 0
-OMAGICSECTIONS:     Link: 0
-OMAGICSECTIONS:     Info: 0
-OMAGICSECTIONS:     AddressAlignment: 8
-OMAGICSECTIONS:     EntrySize: 0
-OMAGICSECTIONS:   }
-OMAGICSECTIONS:   Section {
-OMAGICSECTIONS:     Index: 8
-OMAGICSECTIONS:     Name: .data (64)
-OMAGICSECTIONS:     Type: SHT_PROGBITS (0x1)
-OMAGICSECTIONS:     Flags [ (0x3)
-OMAGICSECTIONS:       SHF_ALLOC (0x2)
-OMAGICSECTIONS:       SHF_WRITE (0x1)
-OMAGICSECTIONS:     ]
-OMAGICSECTIONS:     Address: 0x400128
-OMAGICSECTIONS:     Offset: 0x128
-OMAGICSECTIONS:     Size: 4
-OMAGICSECTIONS:     Link: 0
-OMAGICSECTIONS:     Info: 0
-OMAGICSECTIONS:     AddressAlignment: 4
-OMAGICSECTIONS:     EntrySize: 0
-OMAGICSECTIONS:   }
-OMAGICSECTIONS:   Section {
-OMAGICSECTIONS:     Index: 9
-OMAGICSECTIONS:     Name: .bss (70)
-OMAGICSECTIONS:     Type: SHT_NOBITS (0x8)
-OMAGICSECTIONS:     Flags [ (0x3)
-OMAGICSECTIONS:       SHF_ALLOC (0x2)
-OMAGICSECTIONS:       SHF_WRITE (0x1)
-OMAGICSECTIONS:     ]
-OMAGICSECTIONS:     Address: 0x40012C
-OMAGICSECTIONS:     Offset: 0x12C
-OMAGICSECTIONS:     Size: 0
-OMAGICSECTIONS:     Link: 0
-OMAGICSECTIONS:     Info: 0
-OMAGICSECTIONS:     AddressAlignment: 4
-OMAGICSECTIONS:     EntrySize: 0
-OMAGICSECTIONS:   }
-OMAGICSECTIONS:   Section {
-OMAGICSECTIONS:     Index: 10
-OMAGICSECTIONS:     Name: .shstrtab (75)
-OMAGICSECTIONS:     Type: SHT_STRTAB (0x3)
-OMAGICSECTIONS:     Flags [ (0x0)
-OMAGICSECTIONS:     ]
-OMAGICSECTIONS:     Address: 0x0
-OMAGICSECTIONS:     Offset: 0x12C
-OMAGICSECTIONS:     Size: 101
-OMAGICSECTIONS:     Link: 0
-OMAGICSECTIONS:     Info: 0
-OMAGICSECTIONS:     AddressAlignment: 1
-OMAGICSECTIONS:     EntrySize: 0
-OMAGICSECTIONS:   }
-OMAGICSECTIONS:   Section {
-OMAGICSECTIONS:     Index: 11
-OMAGICSECTIONS:     Name: .symtab (85)
-OMAGICSECTIONS:     Type: SHT_SYMTAB (0x2)
-OMAGICSECTIONS:     Flags [ (0x0)
-OMAGICSECTIONS:     ]
-OMAGICSECTIONS:     Address: 0x0
-OMAGICSECTIONS:     Offset: 0x198
-OMAGICSECTIONS:     Size: 528
-OMAGICSECTIONS:     Link: 12
-OMAGICSECTIONS:     Info: 2
-OMAGICSECTIONS:     AddressAlignment: 8
-OMAGICSECTIONS:     EntrySize: 24
-OMAGICSECTIONS:   }
-OMAGICSECTIONS:   Section {
-OMAGICSECTIONS:     Index: 12
-OMAGICSECTIONS:     Name: .strtab (93)
-OMAGICSECTIONS:     Type: SHT_STRTAB (0x3)
-OMAGICSECTIONS:     Flags [ (0x0)
-OMAGICSECTIONS:     ]
-OMAGICSECTIONS:     Address: 0x0
-OMAGICSECTIONS:     Offset: 0x3A8
-OMAGICSECTIONS:     Size: 246
-OMAGICSECTIONS:     Link: 0
-OMAGICSECTIONS:     Info: 0
-OMAGICSECTIONS:     AddressAlignment: 1
-OMAGICSECTIONS:     EntrySize: 0
-OMAGICSECTIONS:   }
-OMAGICSECTIONS: ]
+OMAGICSECTIONS:  Section {
+OMAGICSECTIONS:    Index: 0
+OMAGICSECTIONS:    Name:  (0)
+OMAGICSECTIONS:    Type: SHT_NULL (0x0)
+OMAGICSECTIONS:    Flags [ (0x0)
+OMAGICSECTIONS:    ]
+OMAGICSECTIONS:    Address: 0x0
+OMAGICSECTIONS:    Offset: 0x0
+OMAGICSECTIONS:    Size: 0
+OMAGICSECTIONS:    Link: 0
+OMAGICSECTIONS:    Info: 0
+OMAGICSECTIONS:    AddressAlignment: 0
+OMAGICSECTIONS:    EntrySize: 0
+OMAGICSECTIONS:  }
+OMAGICSECTIONS:  Section {
+OMAGICSECTIONS:    Index: 1
+OMAGICSECTIONS:    Name: .note.GNU-stack (1)
+OMAGICSECTIONS:    Type: SHT_PROGBITS (0x1)
+OMAGICSECTIONS:    Flags [ (0x2)
+OMAGICSECTIONS:      SHF_ALLOC (0x2)
+OMAGICSECTIONS:    ]
+OMAGICSECTIONS:    Address: 0x4000B0
+OMAGICSECTIONS:    Offset: 0xB0
+OMAGICSECTIONS:    Size: 0
+OMAGICSECTIONS:    Link: 0
+OMAGICSECTIONS:    Info: 0
+OMAGICSECTIONS:    AddressAlignment: 1
+OMAGICSECTIONS:    EntrySize: 0
+OMAGICSECTIONS:  }
+OMAGICSECTIONS:  Section {
+OMAGICSECTIONS:    Index: 2
+OMAGICSECTIONS:    Name: .text (17)
+OMAGICSECTIONS:    Type: SHT_PROGBITS (0x1)
+OMAGICSECTIONS:    Flags [ (0x6)
+OMAGICSECTIONS:      SHF_ALLOC (0x2)
+OMAGICSECTIONS:      SHF_EXECINSTR (0x4)
+OMAGICSECTIONS:    ]
+OMAGICSECTIONS:    Address: 0x4000B0
+OMAGICSECTIONS:    Offset: 0xB0
+OMAGICSECTIONS:    Size: 11
+OMAGICSECTIONS:    Link: 0
+OMAGICSECTIONS:    Info: 0
+OMAGICSECTIONS:    AddressAlignment: 4
+OMAGICSECTIONS:    EntrySize: 0
+OMAGICSECTIONS:  }
+OMAGICSECTIONS:  Section {
+OMAGICSECTIONS:    Index: 3
+OMAGICSECTIONS:    Name: .comment (23)
+OMAGICSECTIONS:    Type: SHT_PROGBITS (0x1)
+OMAGICSECTIONS:    Flags [ (0x2)
+OMAGICSECTIONS:      SHF_ALLOC (0x2)
+OMAGICSECTIONS:    ]
+OMAGICSECTIONS:    Address: 0x4000BB
+OMAGICSECTIONS:    Offset: 0xBB
+OMAGICSECTIONS:    Size: 43
+OMAGICSECTIONS:    Link: 0
+OMAGICSECTIONS:    Info: 0
+OMAGICSECTIONS:    AddressAlignment: 1
+OMAGICSECTIONS:    EntrySize: 0
+OMAGICSECTIONS:  }
+OMAGICSECTIONS:  Section {
+OMAGICSECTIONS:    Index: 4
+OMAGICSECTIONS:    Name: .eh_frame (32)
+OMAGICSECTIONS:    Type: SHT_PROGBITS (0x1)
+OMAGICSECTIONS:    Flags [ (0x2)
+OMAGICSECTIONS:      SHF_ALLOC (0x2)
+OMAGICSECTIONS:    ]
+OMAGICSECTIONS:    Address: 0x4000E8
+OMAGICSECTIONS:    Offset: 0xE8
+OMAGICSECTIONS:    Size: 56
+OMAGICSECTIONS:    Link: 0
+OMAGICSECTIONS:    Info: 0
+OMAGICSECTIONS:    AddressAlignment: 8
+OMAGICSECTIONS:    EntrySize: 0
+OMAGICSECTIONS:  }
+OMAGICSECTIONS:  Section {
+OMAGICSECTIONS:    Index: 5
+OMAGICSECTIONS:    Name: .tdata (42)
+OMAGICSECTIONS:    Type: SHT_PROGBITS (0x1)
+OMAGICSECTIONS:    Flags [ (0x403)
+OMAGICSECTIONS:      SHF_ALLOC (0x2)
+OMAGICSECTIONS:      SHF_TLS (0x400)
+OMAGICSECTIONS:      SHF_WRITE (0x1)
+OMAGICSECTIONS:    ]
+OMAGICSECTIONS:    Address: 0x400120
+OMAGICSECTIONS:    Offset: 0x120
+OMAGICSECTIONS:    Size: 4
+OMAGICSECTIONS:    Link: 0
+OMAGICSECTIONS:    Info: 0
+OMAGICSECTIONS:    AddressAlignment: 4
+OMAGICSECTIONS:    EntrySize: 0
+OMAGICSECTIONS:  }
+OMAGICSECTIONS:  Section {
+OMAGICSECTIONS:    Index: 6
+OMAGICSECTIONS:    Name: .tbss (49)
+OMAGICSECTIONS:    Type: SHT_NOBITS (0x8)
+OMAGICSECTIONS:    Flags [ (0x403)
+OMAGICSECTIONS:      SHF_ALLOC (0x2)
+OMAGICSECTIONS:      SHF_TLS (0x400)
+OMAGICSECTIONS:      SHF_WRITE (0x1)
+OMAGICSECTIONS:    ]
+OMAGICSECTIONS:    Address: 0x400124
+OMAGICSECTIONS:    Offset: 0x124
+OMAGICSECTIONS:    Size: 8
+OMAGICSECTIONS:    Link: 0
+OMAGICSECTIONS:    Info: 0
+OMAGICSECTIONS:    AddressAlignment: 4
+OMAGICSECTIONS:    EntrySize: 0
+OMAGICSECTIONS:  }
+OMAGICSECTIONS:  Section {
+OMAGICSECTIONS:    Index: 7
+OMAGICSECTIONS:    Name: .got.plt (55)
+OMAGICSECTIONS:    Type: SHT_PROGBITS (0x1)
+OMAGICSECTIONS:    Flags [ (0x3)
+OMAGICSECTIONS:      SHF_ALLOC (0x2)
+OMAGICSECTIONS:      SHF_WRITE (0x1)
+OMAGICSECTIONS:    ]
+OMAGICSECTIONS:    Address: 0x400128
+OMAGICSECTIONS:    Offset: 0x128
+OMAGICSECTIONS:    Size: 0
+OMAGICSECTIONS:    Link: 0
+OMAGICSECTIONS:    Info: 0
+OMAGICSECTIONS:    AddressAlignment: 8
+OMAGICSECTIONS:    EntrySize: 0
+OMAGICSECTIONS:  }
+OMAGICSECTIONS:  Section {
+OMAGICSECTIONS:    Index: 8
+OMAGICSECTIONS:    Name: .data (64)
+OMAGICSECTIONS:    Type: SHT_PROGBITS (0x1)
+OMAGICSECTIONS:    Flags [ (0x3)
+OMAGICSECTIONS:      SHF_ALLOC (0x2)
+OMAGICSECTIONS:      SHF_WRITE (0x1)
+OMAGICSECTIONS:    ]
+OMAGICSECTIONS:    Address: 0x400128
+OMAGICSECTIONS:    Offset: 0x128
+OMAGICSECTIONS:    Size: 4
+OMAGICSECTIONS:    Link: 0
+OMAGICSECTIONS:    Info: 0
+OMAGICSECTIONS:    AddressAlignment: 4
+OMAGICSECTIONS:    EntrySize: 0
+OMAGICSECTIONS:  }
+OMAGICSECTIONS:  Section {
+OMAGICSECTIONS:    Index: 9
+OMAGICSECTIONS:    Name: .bss (70)
+OMAGICSECTIONS:    Type: SHT_NOBITS (0x8)
+OMAGICSECTIONS:    Flags [ (0x3)
+OMAGICSECTIONS:      SHF_ALLOC (0x2)
+OMAGICSECTIONS:      SHF_WRITE (0x1)
+OMAGICSECTIONS:    ]
+OMAGICSECTIONS:    Address: 0x40012C
+OMAGICSECTIONS:    Offset: 0x12C
+OMAGICSECTIONS:    Size: 0
+OMAGICSECTIONS:    Link: 0
+OMAGICSECTIONS:    Info: 0
+OMAGICSECTIONS:    AddressAlignment: 4
+OMAGICSECTIONS:    EntrySize: 0
+OMAGICSECTIONS:  }
+OMAGICSECTIONS:  Section {
+OMAGICSECTIONS:    Index: 10
+OMAGICSECTIONS:    Name: .shstrtab (75)
+OMAGICSECTIONS:    Type: SHT_STRTAB (0x3)
+OMAGICSECTIONS:    Flags [ (0x0)
+OMAGICSECTIONS:    ]
+OMAGICSECTIONS:    Address: 0x0
+OMAGICSECTIONS:    Offset: 0x12C
+OMAGICSECTIONS:    Size: 101
+OMAGICSECTIONS:    Link: 0
+OMAGICSECTIONS:    Info: 0
+OMAGICSECTIONS:    AddressAlignment: 1
+OMAGICSECTIONS:    EntrySize: 0
+OMAGICSECTIONS:  }
+OMAGICSECTIONS:  Section {
+OMAGICSECTIONS:    Index: 11
+OMAGICSECTIONS:    Name: .symtab (85)
+OMAGICSECTIONS:    Type: SHT_SYMTAB (0x2)
+OMAGICSECTIONS:    Flags [ (0x0)
+OMAGICSECTIONS:    ]
+OMAGICSECTIONS:    Address: 0x0
+OMAGICSECTIONS:    Offset: 0x198
+OMAGICSECTIONS:    Size: 528
+OMAGICSECTIONS:    Link: 12
+OMAGICSECTIONS:    Info: 2
+OMAGICSECTIONS:    AddressAlignment: 8
+OMAGICSECTIONS:    EntrySize: 24
+OMAGICSECTIONS:  }
+OMAGICSECTIONS:  Section {
+OMAGICSECTIONS:    Index: 12
+OMAGICSECTIONS:    Name: .strtab (93)
+OMAGICSECTIONS:    Type: SHT_STRTAB (0x3)
+OMAGICSECTIONS:    Flags [ (0x0)
+OMAGICSECTIONS:    ]
+OMAGICSECTIONS:    Address: 0x0
+OMAGICSECTIONS:    Offset: 0x3A8
+OMAGICSECTIONS:    Size: 246
+OMAGICSECTIONS:    Link: 0
+OMAGICSECTIONS:    Info: 0
+OMAGICSECTIONS:    AddressAlignment: 1
+OMAGICSECTIONS:    EntrySize: 0
+OMAGICSECTIONS:  }
 
 OMAGICPROGRAMHEADERS: ProgramHeaders [
 OMAGICPROGRAMHEADERS:   ProgramHeader {

Modified: lld/trunk/test/elf/X86_64/orderatoms-by-override.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/X86_64/orderatoms-by-override.test?rev=190608&r1=190607&r2=190608&view=diff
==============================================================================
--- lld/trunk/test/elf/X86_64/orderatoms-by-override.test (original)
+++ lld/trunk/test/elf/X86_64/orderatoms-by-override.test Thu Sep 12 10:43:09 2013
@@ -4,5 +4,5 @@ RUN: lld -flavor gnu -target x86_64 %p/I
 RUN:     %p/Inputs/constint.o -emit-yaml -o %t --noinhibit-exec
 RUN: FileCheck %s -check-prefix=CHECKORDER < %t
 
-CHECKORDER:  - name:            a
 CHECKORDER:  - name:            b
+CHECKORDER:  - name:            a

Modified: lld/trunk/test/elf/X86_64/undef.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/X86_64/undef.test?rev=190608&r1=190607&r2=190608&view=diff
==============================================================================
--- lld/trunk/test/elf/X86_64/undef.test (original)
+++ lld/trunk/test/elf/X86_64/undef.test Thu Sep 12 10:43:09 2013
@@ -7,13 +7,12 @@ RUN: lld -flavor gnu -target x86_64 %p/I
 RUN: llvm-readobj -symbols %t | FileCheck %s
 
 SYMFROMARCHIVE:  Symbol {
-SYMFROMARCHIVE:    Name: fn (16)
-SYMFROMARCHIVE:    Value: 0x4001A4
+SYMFROMARCHIVE:    Name: fn (1)
 SYMFROMARCHIVE:    Size: 11
 SYMFROMARCHIVE:    Binding: Global (0x1)
 SYMFROMARCHIVE:    Type: Function (0x2)
 SYMFROMARCHIVE:    Other: 0
-SYMFROMARCHIVE:    Section: .text (0x5)
+SYMFROMARCHIVE:    Section: .text (0x6)
 SYMFROMARCHIVE:  }
 
 CHECK-NOT: Name: fn

Modified: lld/trunk/test/elf/check.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/check.test?rev=190608&r1=190607&r2=190608&view=diff
==============================================================================
--- lld/trunk/test/elf/check.test (original)
+++ lld/trunk/test/elf/check.test Thu Sep 12 10:43:09 2013
@@ -4,110 +4,40 @@ RUN: lld -flavor gnu -target i386 -e glo
 RUN:    %p/Inputs/object-test.elf-i386  -o %t 
 RUN: FileCheck %s -check-prefix ELF-i386 < %t
 RUN: lld -flavor gnu -target hexagon -e global_func --noinhibit-exec -emit-yaml \
-RUN:    %p/Inputs/object-test.elf-hexagon | FileCheck %s -check-prefix ELF-hexagon
+RUN:    %p/Inputs/object-test.elf-hexagon -o %t1 
+RUN: FileCheck %s -check-prefix ELF-hexagon < %t1
 
-ELF-i386:defined-atoms:
-ELF-i386:    - name:              common_symbol
-ELF-i386:      scope:             global
-ELF-i386:      type:              zero-fill
-ELF-i386:      merge:             as-tentative
-
-ELF-i386:    - name:              tentative
-ELF-i386:      scope:             global
-ELF-i386:      type:              zero-fill
-ELF-i386:      merge:             as-tentative
-
-ELF-i386:    - name:              global_func
-ELF-i386:      scope:             global
-ELF-i386:      content:           [ 55, 89, E5, 83, EC, 18, C7, 04, 24, 00, 00, 00,
-ELF-i386:                           00, E8, FC, FF, FF, FF, C9, C3 ]
-
-ELF-i386:    - name:              static_func
-ELF-i386:      content:           [ 55, 89, E5, 83, EC, 18, C7, 04, 24, 07, 00, 00,
-ELF-i386:                           00, E8, FC, FF, FF, FF, C9, C3 ]
-
-ELF-i386:    - name:              weak_func
-ELF-i386:      scope:             global
-ELF-i386:      merge:             as-weak
-ELF-i386:      content:           [ 55, 89, E5, 83, EC, 18, C7, 04, 24, 0E, 00, 00,
-ELF-i386:                           00, E8, FC, FF, FF, FF, C9, C3 ]
-
-ELF-i386:    - name:              hidden_func
-ELF-i386:      scope:             hidden
-ELF-i386:      content:           [ 55, 89, E5, 83, EC, 18, C7, 04, 24, 13, 00, 00,
-ELF-i386:                           00, E8, FC, FF, FF, FF, C9, C3 ]
-
-ELF-i386:    - name:              no_dead_strip
-ELF-i386:      scope:             global
-ELF-i386:      content:           [ 55, 89, E5, 5D, C3 ]
-
-ELF-i386:    - name:              no_special_section_func
-ELF-i386:      scope:             global
-ELF-i386:      content:           [ 55, 89, E5, 5D, C3 ]
-
-ELF-i386:    - name:              special_section_func
-ELF-i386:      scope:             global
-ELF-i386:      content:           [ 55, 89, E5, 5D, C3 ]
-ELF-i386:      section-choice:    custom-required
-ELF-i386:      section-name:      special_section
-
-
-ELF-i386:undefined-atoms:
-ELF-i386:    - name:              puts
-
-ELF-i386:absolute-atoms:
-ELF-i386:    - name:              sample.c
-ELF-i386:      value:             0x0
-
-ELF-hexagon:defined-atoms:
-
-ELF-hexagon:    - name:              common_symbol
-ELF-hexagon:      scope:             global
-ELF-hexagon:      type:              zero-fill
-ELF-hexagon:      merge:             as-tentative
-
-ELF-hexagon:    - name:              tentative
-ELF-hexagon:      scope:             global
-ELF-hexagon:      type:              zero-fill
-ELF-hexagon:      merge:             as-tentative
-
-ELF-hexagon:    - name:              global_func
-ELF-hexagon:      scope:             global
-ELF-hexagon:      content:           [ 00, C0, 9D, A0, 00, 40, 00, 00, 00, C0, 00, 78,
-ELF-hexagon:                           00, C0, 00, 5A, 1E, C0, 1E, 96 ]
-
-ELF-hexagon:    - name:              static_func
-ELF-hexagon:      content:           [ 00, C0, 9D, A0, 00, 40, 00, 00, 00, C0, 00, 78,
-ELF-hexagon:                           00, C0, 00, 5A, 1E, C0, 1E, 96 ]
-
-ELF-hexagon:    - name:              weak_func
-ELF-hexagon:      scope:             global
-ELF-hexagon:      merge:             as-weak
-ELF-hexagon:      content:           [ 00, C0, 9D, A0, 00, 40, 00, 00, 00, C0, 00, 78,
-ELF-hexagon:                           00, C0, 00, 5A, 1E, C0, 1E, 96 ]
-
-ELF-hexagon:    - name:              hidden_func
-ELF-hexagon:      scope:             hidden
-ELF-hexagon:      content:           [ 00, C0, 9D, A0, 00, 40, 00, 00, 00, C0, 00, 78,
-ELF-hexagon:                           00, C0, 00, 5A, 1E, C0, 1E, 96 ]
-
-ELF-hexagon:    - name:              no_dead_strip
-ELF-hexagon:      scope:             global
-ELF-hexagon:      content:           [ 00, C0, 9D, A0, 1E, C0, 1E, 96 ]
-
-ELF-hexagon:    - name:              no_special_section_func
-ELF-hexagon:      scope:             global
-ELF-hexagon:      content:           [ 00, C0, 9D, A0, 1E, C0, 1E, 96 ]
-
-ELF-hexagon:    - name:              special_section_func
-ELF-hexagon:      scope:             global
-ELF-hexagon:      content:           [ 00, C0, 9D, A0, 1E, C0, 1E, 96 ]
-ELF-hexagon:      section-choice:    custom-required
-ELF-hexagon:      section-name:      special_section
-
-ELF-hexagon: undefined-atoms:
-ELF-hexagon:    - name:              puts
-
-ELF-hexagon: absolute-atoms:
-ELF-hexagon:    - name:              sample.c
-ELF-hexagon:      value:             0x0
+ELF-i386: defined-atoms:   
+ELF-i386:   - name:            global_variable
+ELF-i386:   - name:            common_symbol
+ELF-i386:   - name:            tentative
+ELF-i386:   - name:            uninitialized_static_variable
+ELF-i386:   - name:            global_func
+ELF-i386:   - name:            static_func
+ELF-i386:   - name:            weak_func
+ELF-i386:   - name:            hidden_func
+ELF-i386:   - name:            no_dead_strip
+ELF-i386:   - name:            no_special_section_func
+ELF-i386:   - name:            special_section_func
+ELF-i386: undefined-atoms: 
+ELF-i386:   - name:            puts
+ELF-i386: absolute-atoms:  
+ELF-i386:   - name:            sample.c
+
+ELF-hexagon:   - name:            global_variable
+ELF-hexagon:   - name:            tentative
+ELF-hexagon:   - name:            common_symbol
+ELF-hexagon:   - name:            uninitialized_static_variable
+ELF-hexagon:   - name:            global_func
+ELF-hexagon:   - name:            static_func
+ELF-hexagon:   - name:            weak_func
+ELF-hexagon:   - name:            hidden_func
+ELF-hexagon:   - name:            no_dead_strip
+ELF-hexagon:   - name:            no_special_section_func
+ELF-hexagon:   - name:            special_section_func
+ELF-hexagon: undefined-atoms: 
+ELF-hexagon:   - name:            puts
+ELF-hexagon: absolute-atoms:  
+ELF-hexagon:   - name:            sample.c
+ELF-hexagon:     scope:           static
+ELF-hexagon:     value:           0x0000000000000000

Modified: lld/trunk/test/elf/checkrodata.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/checkrodata.test?rev=190608&r1=190607&r2=190608&view=diff
==============================================================================
--- lld/trunk/test/elf/checkrodata.test (original)
+++ lld/trunk/test/elf/checkrodata.test Thu Sep 12 10:43:09 2013
@@ -4,6 +4,6 @@ RUN: llvm-objdump -section-headers %t1 |
 RUN: lld -flavor gnu -target hexagon -o %t2 %p/Inputs/rodata-test.hexagon --noinhibit-exec
 RUN: llvm-objdump -section-headers %t2 |  FileCheck -check-prefix=hexagon %s
 
-i386:  .rodata       00000004 0000000000000114 DATA
+i386:  .rodata       00000004 0000000000000111 DATA
 
-hexagon:  .rodata       00000004 0000000000000114 DATA
+hexagon:  .rodata       00000004 0000000000000111 DATA

Modified: lld/trunk/test/elf/dynamic.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/dynamic.test?rev=190608&r1=190607&r2=190608&view=diff
==============================================================================
--- lld/trunk/test/elf/dynamic.test (original)
+++ lld/trunk/test/elf/dynamic.test Thu Sep 12 10:43:09 2013
@@ -9,6 +9,10 @@ RUN: llvm-objdump -p %t >> %t2
 RUN: llvm-readobj -s -dyn-symbols -dynamic-table %t >> %t2
 RUN: FileCheck %s < %t2
 
+CHECK: type: got
+CHECK: references:
+CHECK:   kind: R_X86_64_JUMP_SLOT
+
 CHECK: name: main
 CHECK: kind: R_X86_64_PC32
 CHECK:  offset: 18
@@ -17,10 +21,6 @@ CHECK:  target: [[PLTNAME:[-a-zA-Z0-9_]+
 CHECK: name: [[PLTNAME]]
 CHECK: type: stub
 
-CHECK: type: got
-CHECK: references:
-CHECK:   kind: R_X86_64_JUMP_SLOT
-
 CHECK: shared-library-atoms:
 CHECK:  name: foo
 CHECK:  load-name: shared.so-x86-64

Modified: lld/trunk/test/elf/gotpcrel.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/gotpcrel.test?rev=190608&r1=190607&r2=190608&view=diff
==============================================================================
--- lld/trunk/test/elf/gotpcrel.test (original)
+++ lld/trunk/test/elf/gotpcrel.test Thu Sep 12 10:43:09 2013
@@ -3,19 +3,20 @@ RUN: lld -flavor gnu -target x86_64-linu
 RUN:   --noinhibit-exec %p/Inputs/gotpcrel.x86-64  \
 RUN:   | FileCheck %s -check-prefix=YAML
 
+YAML: name: [[NULLGOT:[a-zA-Z0-9_]+]]
+YAML: content: [ 00, 00, 00, 00, 00, 00, 00, 00 ]
+YAML-NOT: references:
+
+YAML: name: [[MAINGOT:[a-zA-Z0-9_]+]]
+YAML: kind: R_X86_64_64
+YAML: target: main
+
 YAML: name: main
 YAML: references:      
 YAML:   kind:    R_X86_64_PC32
 YAML:   offset:  3
-YAML:   target:  [[NULLGOT:[a-zA-Z0-9_]+]]
+YAML:   target:  [[NULLGOT]]
 YAML:   kind:    R_X86_64_PC32
 YAML:   offset:  10
-YAML:   target:  [[MAINGOT:[a-zA-Z0-9_]+]]
+YAML:   target:  [[MAINGOT]]
 
-YAML: name: [[NULLGOT]]
-YAML: content: [ 00, 00, 00, 00, 00, 00, 00, 00 ]
-YAML-NOT: references:
-
-YAML: name: [[MAINGOT]]
-YAML: kind: R_X86_64_64
-YAML: target: main

Modified: lld/trunk/test/elf/hexagon-quickdata-sort.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/hexagon-quickdata-sort.test?rev=190608&r1=190607&r2=190608&view=diff
==============================================================================
--- lld/trunk/test/elf/hexagon-quickdata-sort.test (original)
+++ lld/trunk/test/elf/hexagon-quickdata-sort.test Thu Sep 12 10:43:09 2013
@@ -1,12 +1,12 @@
 RUN: lld -flavor gnu -target hexagon %p/Inputs/quickdata-sort-test.o.elf-hexagon -o %t1 --noinhibit-exec
 RUN: llvm-nm -n %t1 | FileCheck %s -check-prefix=quickdataSort 
 
-quickdataSort: 00002000 D A1
-quickdataSort: 00002001 D AA1
-quickdataSort: 00002002 D B1
-quickdataSort: 00002004 D BB1
-quickdataSort: 00002008 D C1
-quickdataSort: 0000200c D CC1
-quickdataSort: 00002010 D D1
-quickdataSort: 00002018 D DD1
+quickdataSort: 00002000 D AA1
+quickdataSort: 00002001 D A1
+quickdataSort: 00002002 D BB1
+quickdataSort: 00002004 D B1
+quickdataSort: 00002008 D CC1
+quickdataSort: 0000200c D C1
+quickdataSort: 00002010 D DD1
+quickdataSort: 00002018 D D1
 

Modified: lld/trunk/test/elf/hexagon-quickdata-sortcommon.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/hexagon-quickdata-sortcommon.test?rev=190608&r1=190607&r2=190608&view=diff
==============================================================================
--- lld/trunk/test/elf/hexagon-quickdata-sortcommon.test (original)
+++ lld/trunk/test/elf/hexagon-quickdata-sortcommon.test Thu Sep 12 10:43:09 2013
@@ -2,16 +2,15 @@ RUN: lld -flavor gnu -target hexagon -o
 RUN:     %p/Inputs/quickdata-sortcommon-test.o.elf-hexagon 
 RUN: llvm-nm -n %t1 | FileCheck %s -check-prefix=quickdataSortCommon
 
-quickdataSortCommon: 00002000 D A1
-quickdataSortCommon: 00002001 D AA1
+quickdataSortCommon: 00002000 D AA1
+quickdataSortCommon: 00002001 D A1
 quickdataSortCommon: 00002002 D AAA1
-quickdataSortCommon: 00002004 D B1
-quickdataSortCommon: 00002006 D BB1
+quickdataSortCommon: 00002004 D BB1
+quickdataSortCommon: 00002006 D B1
 quickdataSortCommon: 00002008 D BBB1
-quickdataSortCommon: 0000200c D C1
-quickdataSortCommon: 00002010 D CC1
+quickdataSortCommon: 0000200c D CC1
+quickdataSortCommon: 00002010 D C1
 quickdataSortCommon: 00002014 D CCC1
-quickdataSortCommon: 00002018 D D1
-quickdataSortCommon: 00002020 D DD1
+quickdataSortCommon: 00002018 D DD1
+quickdataSortCommon: 00002020 D D1
 quickdataSortCommon: 00002028 D DDD1
-

Modified: lld/trunk/test/elf/ifunc.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/ifunc.test?rev=190608&r1=190607&r2=190608&view=diff
==============================================================================
--- lld/trunk/test/elf/ifunc.test (original)
+++ lld/trunk/test/elf/ifunc.test Thu Sep 12 10:43:09 2013
@@ -14,6 +14,12 @@ RUN: llvm-readobj -r %t | FileCheck %s -
 
 PLT: defined-atoms:
 
+// Make sure there's a got entry with a IRELATIVE relocation.
+PLT: type: got
+PLT: references:
+PLT:  kind: R_X86_64_IRELATIVE
+PLT:  target: hey
+
 PLT: name:  plt
 PLT: scope: global
 PLT: references:
@@ -36,12 +42,6 @@ PLT: type: stub
 PLT: references
 PLT:   kind: R_X86_64_PC32
 
-// Make sure there's a got entry with a IRELATIVE relocation.
-PLT: type: got
-PLT: references:
-PLT:  kind: R_X86_64_IRELATIVE
-PLT:  target: hey
-
 CHECK: name: hey
 CHECK: scope: global
 CHECK: type: resolver

Modified: lld/trunk/test/elf/quickdata.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/quickdata.test?rev=190608&r1=190607&r2=190608&view=diff
==============================================================================
--- lld/trunk/test/elf/quickdata.test (original)
+++ lld/trunk/test/elf/quickdata.test Thu Sep 12 10:43:09 2013
@@ -1,14 +1,14 @@
 RUN: lld -flavor gnu -target hexagon -emit-yaml %p/Inputs/quickdata-test.elf-hexagon \
 RUN: --noinhibit-exec | FileCheck %s -check-prefix hexagon
 
+hexagon:  - name:            init
+hexagon:    scope:           global
+hexagon:    type:            quick-data
 hexagon:  - name:            ac1
 hexagon:    scope:           global
 hexagon:    type:            zero-fill-quick
 hexagon:    size:            1
 hexagon:    merge:           as-tentative
-hexagon:  - name:            init
-hexagon:    scope:           global
-hexagon:    type:            quick-data
 hexagon:  - name:            bss1
 hexagon:    scope:           global
 hexagon:    type:            zero-fill-quick

Modified: lld/trunk/test/elf/tls.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/tls.test?rev=190608&r1=190607&r2=190608&view=diff
==============================================================================
--- lld/trunk/test/elf/tls.test (original)
+++ lld/trunk/test/elf/tls.test Thu Sep 12 10:43:09 2013
@@ -7,6 +7,11 @@ RUN:   --noinhibit-exec -e main -static
 
 // Verify that the TLS accesses have the correct offsets.
 
+YAML:  type: got
+YAML:  references:      
+YAML:   kind: R_X86_64_TPOFF64
+YAML:   target: tls2
+
 YAML:  name: main
 YAML:  references:      
 YAML:    kind: R_X86_64_TPOFF32
@@ -23,11 +28,6 @@ YAML:  name: GOTTPOFF
 YAML:  kind: R_X86_64_PC32
 YAML:  target: [[GOTNAME:[a-zA-Z0-9_]+]]
 
-YAML:  type: got
-YAML:  references:      
-YAML:   kind: R_X86_64_TPOFF64
-YAML:   target: tls2
-
 
 // main
 CHECK: addl %fs:-4

Modified: lld/trunk/test/elf/x86-64-dynamic.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/x86-64-dynamic.test?rev=190608&r1=190607&r2=190608&view=diff
==============================================================================
--- lld/trunk/test/elf/x86-64-dynamic.test (original)
+++ lld/trunk/test/elf/x86-64-dynamic.test Thu Sep 12 10:43:09 2013
@@ -5,6 +5,15 @@ RUN:   %p/Inputs/shared.so-x86-64 -emit-
 RUN: FileCheck %s < %t1
 
 // Don't check the GOT and PLT names as they are only present in assert builds.
+CHECK:    type:            got
+CHECK:    content:         [ 00, 00, 00, 00, 00, 00, 00, 00 ]
+CHECK:    section-choice:  custom-required
+CHECK:    section-name:    .got.dyn
+CHECK:    permissions:     rw-
+CHECK:    references:
+CHECK:      - kind:            R_X86_64_GLOB_DAT
+CHECK:        offset:          0
+CHECK:        target:          i
 
 CHECK:  - name:            main
 CHECK:    scope:           global
@@ -53,16 +62,6 @@ CHECK:      - kind:            R_X86_64_
 CHECK:        offset:          12
               target:          .PLT0
 CHECK:        addend:          -4
-CHECK:    name:            [[GOTNAME]]
-CHECK:    type:            got
-CHECK:    content:         [ 00, 00, 00, 00, 00, 00, 00, 00 ]
-CHECK:    section-choice:  custom-required
-CHECK:    section-name:    .got.dyn
-CHECK:    permissions:     rw-
-CHECK:    references:
-CHECK:      - kind:            R_X86_64_GLOB_DAT
-CHECK:        offset:          0
-CHECK:        target:          i
 
 
 

Modified: lld/trunk/test/pecoff/importlib.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/pecoff/importlib.test?rev=190608&r1=190607&r2=190608&view=diff
==============================================================================
--- lld/trunk/test/pecoff/importlib.test (original)
+++ lld/trunk/test/pecoff/importlib.test Thu Sep 12 10:43:09 2013
@@ -27,11 +27,11 @@ CHECK-NEXT: .text:
 CHECK-NEXT:     1000:       55                   pushl   %ebp
 CHECK-NEXT:     1001:       8b ec                movl    %esp, %ebp
 CHECK-NEXT:     1003:       56                   pushl   %esi
-CHECK-NEXT:     1004:       ff 15 78 20 40 00    calll   *4202616
-CHECK-NEXT:     100a:       8b 0d 7c 20 40 00    movl    4202620, %ecx
+CHECK-NEXT:     1004:       ff 15 22 20 40 00    calll *4202530
+CHECK-NEXT:     100a:       8b 0d 26 20 40 00    movl 4202534, %ecx
 CHECK-NEXT:     1010:       8b 31                movl    (%ecx), %esi
 CHECK-NEXT:     1012:       03 f0                addl    %eax, %esi
-CHECK-NEXT:     1014:       ff 15 74 20 40 00    calll   *4202612
+CHECK-NEXT:     1014:       ff 15 1e 20 40 00    calll *4202526
 CHECK-NEXT:     101a:       03 c6                addl    %esi, %eax
 CHECK-NEXT:     101c:       5e                   popl    %esi
 CHECK-NEXT:     101d:       5d                   popl    %ebp





More information about the llvm-commits mailing list