forked from OSchip/llvm-project
52 lines
1.1 KiB
C++
52 lines
1.1 KiB
C++
//===- lib/ReaderWriter/MachO/GOTPass.hpp ---------------------------------===//
|
|
//
|
|
// The LLVM Linker
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef LLD_READER_WRITER_MACHO_GOT_PASS_H_
|
|
#define LLD_READER_WRITER_MACHO_GOT_PASS_H_
|
|
|
|
#include "lld/Core/DefinedAtom.h"
|
|
#include "lld/Core/SharedLibraryAtom.h"
|
|
#include "lld/Core/File.h"
|
|
#include "lld/Core/Reference.h"
|
|
#include "lld/Core/Pass.h"
|
|
|
|
#include "ReferenceKinds.h"
|
|
#include "StubAtoms.hpp"
|
|
|
|
namespace lld {
|
|
namespace mach_o {
|
|
|
|
|
|
class GOTPass : public lld::GOTPass {
|
|
public:
|
|
virtual bool noTextRelocs() {
|
|
return true;
|
|
}
|
|
|
|
virtual bool isGOTAccess(int32_t, bool& canBypassGOT) {
|
|
return false;
|
|
}
|
|
|
|
virtual void updateReferenceToGOT(const Reference*, bool targetIsNowGOT) {
|
|
|
|
}
|
|
|
|
virtual const DefinedAtom* makeGOTEntry(const Atom&) {
|
|
return nullptr;
|
|
}
|
|
|
|
};
|
|
|
|
|
|
} // namespace mach_o
|
|
} // namespace lld
|
|
|
|
|
|
#endif // LLD_READER_WRITER_MACHO_GOT_PASS_H_
|