summaryrefslogtreecommitdiffstats
path: root/lld/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lld/lib')
-rw-r--r--lld/lib/Passes/GOTPass.cpp2
-rw-r--r--lld/lib/Passes/StubsPass.cpp5
-rw-r--r--lld/lib/ReaderWriter/ELF/ReaderELF.cpp7
-rw-r--r--lld/lib/ReaderWriter/MachO/StubsPass.hpp2
-rw-r--r--lld/lib/ReaderWriter/Native/ReaderNative.cpp4
-rw-r--r--lld/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp4
-rw-r--r--lld/lib/ReaderWriter/ReaderArchive.cpp4
-rw-r--r--lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp11
8 files changed, 8 insertions, 31 deletions
diff --git a/lld/lib/Passes/GOTPass.cpp b/lld/lib/Passes/GOTPass.cpp
index 78b1f5064da..1a819eb5a62 100644
--- a/lld/lib/Passes/GOTPass.cpp
+++ b/lld/lib/Passes/GOTPass.cpp
@@ -40,7 +40,7 @@
#include "llvm/ADT/DenseMap.h"
namespace lld {
-void GOTPass::perform(File& mergedFile) {
+void GOTPass::perform(MutableFile &mergedFile) {
// Use map so all pointers to same symbol use same GOT entry.
llvm::DenseMap<const Atom*, const DefinedAtom*> targetToGOT;
diff --git a/lld/lib/Passes/StubsPass.cpp b/lld/lib/Passes/StubsPass.cpp
index c468959d2cc..ef3870580cb 100644
--- a/lld/lib/Passes/StubsPass.cpp
+++ b/lld/lib/Passes/StubsPass.cpp
@@ -23,7 +23,7 @@
namespace lld {
-void StubsPass::perform(File& mergedFile) {
+void StubsPass::perform(MutableFile &mergedFile) {
// Skip this pass if output format uses text relocations instead of stubs.
if ( ! this->noTextRelocs() )
return;
@@ -63,7 +63,4 @@ void StubsPass::perform(File& mergedFile) {
// Add all created stubs and support Atoms.
this->addStubAtoms(mergedFile);
}
-
-
-
}
diff --git a/lld/lib/ReaderWriter/ELF/ReaderELF.cpp b/lld/lib/ReaderWriter/ELF/ReaderELF.cpp
index c6553c58d90..f40dacc8f80 100644
--- a/lld/lib/ReaderWriter/ELF/ReaderELF.cpp
+++ b/lld/lib/ReaderWriter/ELF/ReaderELF.cpp
@@ -209,6 +209,9 @@ public:
// Get the symbol's content:
llvm::ArrayRef<uint8_t> symbolData;
uint64_t contentSize;
+
+ // If the next symbol is at the same location
+
if (si + 1 == se) {
// if this is the last symbol, take up the remaining data.
contentSize = (isCommon) ? 0
@@ -272,10 +275,6 @@ public:
}
}
- virtual void addAtom(const Atom&) {
- llvm_unreachable("cannot add atoms to native .o files");
- }
-
virtual const atom_collection<DefinedAtom> &defined() const {
return _definedAtoms;
}
diff --git a/lld/lib/ReaderWriter/MachO/StubsPass.hpp b/lld/lib/ReaderWriter/MachO/StubsPass.hpp
index ba326e0400a..71e76541f72 100644
--- a/lld/lib/ReaderWriter/MachO/StubsPass.hpp
+++ b/lld/lib/ReaderWriter/MachO/StubsPass.hpp
@@ -119,7 +119,7 @@ public:
}
- virtual void addStubAtoms(File &mergedFile) {
+ virtual void addStubAtoms(MutableFile &mergedFile) {
// Exit early if no stubs needed.
if ( _targetToStub.size() == 0 )
return;
diff --git a/lld/lib/ReaderWriter/Native/ReaderNative.cpp b/lld/lib/ReaderWriter/Native/ReaderNative.cpp
index 1ad37c79892..36389d0cb51 100644
--- a/lld/lib/ReaderWriter/Native/ReaderNative.cpp
+++ b/lld/lib/ReaderWriter/Native/ReaderNative.cpp
@@ -371,10 +371,6 @@ public:
return _absoluteAtoms;
}
- virtual void addAtom(const Atom&) {
- assert(0 && "cannot add atoms to native .o files");
- }
-
private:
friend class NativeDefinedAtomV1;
friend class NativeUndefinedAtomV1;
diff --git a/lld/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp b/lld/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp
index 4b1fd68a0b3..3058e81ec89 100644
--- a/lld/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp
+++ b/lld/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp
@@ -330,10 +330,6 @@ public:
}
}
- virtual void addAtom(const Atom&) {
- llvm_unreachable("cannot add atoms to native .obj files");
- }
-
virtual const atom_collection<DefinedAtom> &defined() const {
return DefinedAtoms;
}
diff --git a/lld/lib/ReaderWriter/ReaderArchive.cpp b/lld/lib/ReaderWriter/ReaderArchive.cpp
index 4a7acdb6a1d..99955617396 100644
--- a/lld/lib/ReaderWriter/ReaderArchive.cpp
+++ b/lld/lib/ReaderWriter/ReaderArchive.cpp
@@ -56,10 +56,6 @@ public:
return result[0].release();
}
- virtual void addAtom(const Atom&) {
- llvm_unreachable("cannot add atoms to archive files");
- }
-
virtual const atom_collection<DefinedAtom> &defined() const {
return _definedAtoms;
}
diff --git a/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp b/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp
index 93dcf214b43..a89958560c3 100644
--- a/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp
+++ b/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp
@@ -614,10 +614,7 @@ struct MappingTraits<const lld::File*> {
const lld::File *denormalize(IO &io) {
return this;
}
-
- virtual void addAtom(const lld::Atom&) {
- llvm_unreachable("cannot add atoms to yaml .o files");
- }
+
virtual const atom_collection<lld::DefinedAtom> &defined() const {
return _noDefinedAtoms;
}
@@ -672,11 +669,7 @@ struct MappingTraits<const lld::File*> {
_absoluteAtoms.push_back(a);
}
const lld::File *denormalize(IO &io);
-
-
- virtual void addAtom(const lld::Atom&) {
- llvm_unreachable("cannot add atoms to yaml .o files");
- }
+
virtual const atom_collection<lld::DefinedAtom> &defined() const {
return _definedAtoms;
}
OpenPOWER on IntegriCloud