diff options
-rw-r--r-- | lld/lib/Core/Resolver.cpp | 2 | ||||
-rw-r--r-- | lld/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp | 6 | ||||
-rw-r--r-- | lld/test/core/sectiongroup-deadstrip.objtxt | 14 |
3 files changed, 11 insertions, 11 deletions
diff --git a/lld/lib/Core/Resolver.cpp b/lld/lib/Core/Resolver.cpp index ef29481998a..393a7ef2bfc 100644 --- a/lld/lib/Core/Resolver.cpp +++ b/lld/lib/Core/Resolver.cpp @@ -382,7 +382,7 @@ void Resolver::markLive(const Atom *atom) { static bool isBackref(const Reference *ref) { if (ref->kindNamespace() != lld::Reference::KindNamespace::all) return false; - return (ref->kindValue() == lld::Reference::kindLayoutBefore || + return (ref->kindValue() == lld::Reference::kindLayoutAfter || ref->kindValue() == lld::Reference::kindGroupChild); } diff --git a/lld/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp b/lld/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp index 6abd68966e3..b044b4590e2 100644 --- a/lld/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp +++ b/lld/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp @@ -747,14 +747,14 @@ std::error_code FileCOFF::AtomizeDefinedSymbols( if (atoms.size() > 0) atoms[0]->setAlignment(getAlignment(section)); - // Connect atoms with layout-before edges. It prevents atoms + // Connect atoms with layout-after edges. It prevents atoms // from being GC'ed if there is a reference to one of the atoms - // in the same layout-before chain. In such case we want to emit + // in the same layout-after chain. In such case we want to emit // all the atoms appeared in the same chain, because the "live" // atom may reference other atoms in the same chain. if (atoms.size() >= 2) for (auto it = atoms.begin(), e = atoms.end(); it + 1 != e; ++it) - addLayoutEdge(*(it + 1), *it, lld::Reference::kindLayoutBefore); + addLayoutEdge(*it, *(it + 1), lld::Reference::kindLayoutAfter); for (COFFDefinedFileAtom *atom : atoms) { _sectionAtoms[section].push_back(atom); diff --git a/lld/test/core/sectiongroup-deadstrip.objtxt b/lld/test/core/sectiongroup-deadstrip.objtxt index 4965bf84e26..8606c52d62e 100644 --- a/lld/test/core/sectiongroup-deadstrip.objtxt +++ b/lld/test/core/sectiongroup-deadstrip.objtxt @@ -18,6 +18,9 @@ defined-atoms: - name: f1 scope: global type: code + references: + - kind: layout-after + target: anotherfunction - name: f2 scope: global type: code @@ -42,9 +45,6 @@ defined-atoms: - name: anotherfunction scope: global type: data - references: - - kind: layout-before - target: f1 --- undefined-atoms: - name: f1 @@ -71,6 +71,10 @@ undefined-atoms: #CHECK: target: [[GCHILD:[a-zA-Z\.0-9_]+]] #CHECK: - name: f1 #CHECK: scope: global +#CHECK: references: +#CHECK: - kind: layout-after +#CHECK: offset: 0 +#CHECK: target: anotherfunction #CHECK: - name: f2 #CHECK: scope: global #CHECK: - name: d1 @@ -82,7 +86,3 @@ undefined-atoms: #CHECK: - name: anotherfunction #CHECK: scope: global #CHECK: type: data -#CHECK: references: -#CHECK: - kind: layout-before -#CHECK: offset: 0 -#CHECK: target: f1 |