#include "EhFrame.h"
#include "InputFiles.h"
#include "lld/Common/ErrorHandler.h"
#include "llvm/BinaryFormat/Dwarf.h"
#include "llvm/Support/Endian.h"
usingnamespacellvm;
usingnamespacelld;
usingnamespacelld::macho;
usingnamespacellvm::support::endian;
uint64_t EhReader::readLength(size_t *off) const { … }
void EhReader::skipValidLength(size_t *off) const { … }
uint8_t EhReader::readByte(size_t *off) const { … }
uint32_t EhReader::readU32(size_t *off) const { … }
uint64_t EhReader::readPointer(size_t *off, uint8_t size) const { … }
StringRef EhReader::readString(size_t *off) const { … }
void EhReader::skipLeb128(size_t *off) const { … }
void EhReader::failOn(size_t errOff, const Twine &msg) const { … }
template <bool Invert = false>
static void createSubtraction(PointerUnion<Symbol *, InputSection *> a,
PointerUnion<Symbol *, InputSection *> b,
uint64_t off, uint8_t length,
SmallVectorImpl<Reloc> *newRelocs) { … }
void EhRelocator::makePcRel(uint64_t off,
PointerUnion<Symbol *, InputSection *> target,
uint8_t length) { … }
void EhRelocator::makeNegativePcRel(
uint64_t off, PointerUnion<Symbol *, InputSection *> target,
uint8_t length) { … }
void EhRelocator::commit() { … }