#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/TinyPtrVector.h"
#include "llvm/Object/ELF.h"
+#include "llvm/Support/Compiler.h"
namespace lld {
namespace elf {
template <class ELFT> class ObjFile;
class OutputSection;
-extern std::vector<Partition> partitions;
+LLVM_LIBRARY_VISIBILITY extern std::vector<Partition> partitions;
// Returned by InputSectionBase::relsOrRelas. At least one member is empty.
template <class ELFT> struct RelsOrRelas {
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/MapVector.h"
#include "llvm/ADT/StringRef.h"
+#include "llvm/Support/Compiler.h"
#include <cstddef>
#include <cstdint>
#include <functional>
SmallVector<const InputSectionBase *, 0> orphanSections;
};
-extern std::unique_ptr<LinkerScript> script;
+LLVM_LIBRARY_VISIBILITY extern std::unique_ptr<LinkerScript> script;
} // end namespace lld::elf
#include "InputSection.h"
#include "LinkerScript.h"
#include "lld/Common/LLVM.h"
+#include "llvm/Support/Compiler.h"
#include "llvm/Support/Parallel.h"
#include <array>
uint64_t getHeaderSize();
-extern llvm::SmallVector<OutputSection *, 0> outputSections;
+LLVM_LIBRARY_VISIBILITY extern llvm::SmallVector<OutputSection *, 0>
+ outputSections;
} // namespace lld::elf
#endif
#include "lld/Common/Memory.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/Object/ELF.h"
+#include "llvm/Support/Compiler.h"
#include <tuple>
namespace lld {
uint32_t tlsGdIdx = -1;
};
-extern SmallVector<SymbolAux, 0> symAux;
+LLVM_LIBRARY_VISIBILITY extern SmallVector<SymbolAux, 0> symAux;
// The base class for real symbol classes.
class Symbol {
#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/MapVector.h"
#include "llvm/MC/StringTableBuilder.h"
+#include "llvm/Support/Compiler.h"
#include "llvm/Support/Endian.h"
#include "llvm/Support/Parallel.h"
#include "llvm/Support/Threading.h"
unsigned getNumber() const { return this - &partitions[0] + 1; }
};
-extern Partition *mainPart;
+LLVM_LIBRARY_VISIBILITY extern Partition *mainPart;
inline Partition &SectionBase::getPartition() const {
assert(isLive());
void reset();
};
-extern InStruct in;
+LLVM_LIBRARY_VISIBILITY extern InStruct in;
} // namespace lld::elf
#include "InputSection.h"
#include "lld/Common/ErrorHandler.h"
#include "llvm/Object/ELF.h"
+#include "llvm/Support/Compiler.h"
#include "llvm/Support/MathExtras.h"
#include <array>
uint64_t secAddr, uint8_t *buf) const;
};
-extern const TargetInfo *target;
+LLVM_LIBRARY_VISIBILITY extern const TargetInfo *target;
TargetInfo *getTarget();
template <class ELFT> bool isMipsPIC(const Defined *sym);