forked from OSchip/llvm-project
MC: Clean up the naming for MCMachObjectWriter. NFC.
s/ExecutePostLayoutBinding/executePostLayoutBinding/ s/ComputeSymbolTable/computeSymbolTable/ s/BindIndirectSymbols/bindIndirectSymbols/ s/RecordTLVPRelocation/recordTLVPRelocation/ s/RecordScatteredRelocation/recordScatteredRelocation/ s/WriteLinkerOptionsLoadCommand/writeLinkerOptionsLoadCommand/ s/WriteLinkeditLoadCommand/writeLinkeditLoadCommand/ s/WriteNlist/writeNlist/ s/WriteDysymtabLoadCommand/writeDysymtabLoadCommand/ s/WriteSymtabLoadCommand/writeSymtabLoadCommand/ s/WriteSection/writeSection/ s/WriteSegmentLoadCommand/writeSegmentLoadCommand/ s/WriteHeader/writeHeader/ llvm-svn: 239119
This commit is contained in:
parent
7529d08ca3
commit
56ed0bb111
|
@ -159,37 +159,37 @@ public:
|
|||
|
||||
/// @}
|
||||
|
||||
void WriteHeader(unsigned NumLoadCommands, unsigned LoadCommandsSize,
|
||||
void writeHeader(unsigned NumLoadCommands, unsigned LoadCommandsSize,
|
||||
bool SubsectionsViaSymbols);
|
||||
|
||||
/// Write a segment load command.
|
||||
///
|
||||
/// \param NumSections The number of sections in this segment.
|
||||
/// \param SectionDataSize The total size of the sections.
|
||||
void WriteSegmentLoadCommand(unsigned NumSections, uint64_t VMSize,
|
||||
void writeSegmentLoadCommand(unsigned NumSections, uint64_t VMSize,
|
||||
uint64_t SectionDataStartOffset,
|
||||
uint64_t SectionDataSize);
|
||||
|
||||
void WriteSection(const MCAssembler &Asm, const MCAsmLayout &Layout,
|
||||
void writeSection(const MCAssembler &Asm, const MCAsmLayout &Layout,
|
||||
const MCSection &Sec, uint64_t FileOffset,
|
||||
uint64_t RelocationsStart, unsigned NumRelocations);
|
||||
|
||||
void WriteSymtabLoadCommand(uint32_t SymbolOffset, uint32_t NumSymbols,
|
||||
void writeSymtabLoadCommand(uint32_t SymbolOffset, uint32_t NumSymbols,
|
||||
uint32_t StringTableOffset,
|
||||
uint32_t StringTableSize);
|
||||
|
||||
void WriteDysymtabLoadCommand(
|
||||
void writeDysymtabLoadCommand(
|
||||
uint32_t FirstLocalSymbol, uint32_t NumLocalSymbols,
|
||||
uint32_t FirstExternalSymbol, uint32_t NumExternalSymbols,
|
||||
uint32_t FirstUndefinedSymbol, uint32_t NumUndefinedSymbols,
|
||||
uint32_t IndirectSymbolOffset, uint32_t NumIndirectSymbols);
|
||||
|
||||
void WriteNlist(MachSymbolData &MSD, const MCAsmLayout &Layout);
|
||||
void writeNlist(MachSymbolData &MSD, const MCAsmLayout &Layout);
|
||||
|
||||
void WriteLinkeditLoadCommand(uint32_t Type, uint32_t DataOffset,
|
||||
void writeLinkeditLoadCommand(uint32_t Type, uint32_t DataOffset,
|
||||
uint32_t DataSize);
|
||||
|
||||
void WriteLinkerOptionsLoadCommand(const std::vector<std::string> &Options);
|
||||
void writeLinkerOptionsLoadCommand(const std::vector<std::string> &Options);
|
||||
|
||||
// FIXME: We really need to improve the relocation validation. Basically, we
|
||||
// want to implement a separate computation which evaluates the relocation
|
||||
|
@ -216,13 +216,13 @@ public:
|
|||
Relocations[Sec].push_back(P);
|
||||
}
|
||||
|
||||
void RecordScatteredRelocation(const MCAssembler &Asm,
|
||||
void recordScatteredRelocation(const MCAssembler &Asm,
|
||||
const MCAsmLayout &Layout,
|
||||
const MCFragment *Fragment,
|
||||
const MCFixup &Fixup, MCValue Target,
|
||||
unsigned Log2Size, uint64_t &FixedValue);
|
||||
|
||||
void RecordTLVPRelocation(const MCAssembler &Asm, const MCAsmLayout &Layout,
|
||||
void recordTLVPRelocation(const MCAssembler &Asm, const MCAsmLayout &Layout,
|
||||
const MCFragment *Fragment, const MCFixup &Fixup,
|
||||
MCValue Target, uint64_t &FixedValue);
|
||||
|
||||
|
@ -231,10 +231,10 @@ public:
|
|||
MCValue Target, bool &IsPCRel,
|
||||
uint64_t &FixedValue) override;
|
||||
|
||||
void BindIndirectSymbols(MCAssembler &Asm);
|
||||
void bindIndirectSymbols(MCAssembler &Asm);
|
||||
|
||||
/// Compute the symbol table data.
|
||||
void ComputeSymbolTable(MCAssembler &Asm,
|
||||
void computeSymbolTable(MCAssembler &Asm,
|
||||
std::vector<MachSymbolData> &LocalSymbolData,
|
||||
std::vector<MachSymbolData> &ExternalSymbolData,
|
||||
std::vector<MachSymbolData> &UndefinedSymbolData);
|
||||
|
@ -242,7 +242,7 @@ public:
|
|||
void computeSectionAddresses(const MCAssembler &Asm,
|
||||
const MCAsmLayout &Layout);
|
||||
|
||||
void ExecutePostLayoutBinding(MCAssembler &Asm,
|
||||
void executePostLayoutBinding(MCAssembler &Asm,
|
||||
const MCAsmLayout &Layout) override;
|
||||
|
||||
bool isSymbolRefDifferenceFullyResolvedImpl(const MCAssembler &Asm,
|
||||
|
|
|
@ -67,7 +67,7 @@ public:
|
|||
///
|
||||
/// This routine is called by the assembler after layout and relaxation is
|
||||
/// complete.
|
||||
virtual void ExecutePostLayoutBinding(MCAssembler &Asm,
|
||||
virtual void executePostLayoutBinding(MCAssembler &Asm,
|
||||
const MCAsmLayout &Layout) = 0;
|
||||
|
||||
/// Record a relocation entry.
|
||||
|
|
|
@ -199,7 +199,7 @@ class ELFObjectWriter : public MCObjectWriter {
|
|||
|
||||
const MCSectionELF *createStringTable(MCContext &Ctx);
|
||||
|
||||
void ExecutePostLayoutBinding(MCAssembler &Asm,
|
||||
void executePostLayoutBinding(MCAssembler &Asm,
|
||||
const MCAsmLayout &Layout) override;
|
||||
|
||||
void writeSectionHeader(const MCAsmLayout &Layout,
|
||||
|
@ -365,7 +365,7 @@ uint64_t ELFObjectWriter::SymbolValue(const MCSymbol &Sym,
|
|||
return Res;
|
||||
}
|
||||
|
||||
void ELFObjectWriter::ExecutePostLayoutBinding(MCAssembler &Asm,
|
||||
void ELFObjectWriter::executePostLayoutBinding(MCAssembler &Asm,
|
||||
const MCAsmLayout &Layout) {
|
||||
// The presence of symbol versions causes undefined symbols and
|
||||
// versions declared with @@@ to be renamed.
|
||||
|
|
|
@ -874,7 +874,7 @@ void MCAssembler::Finish() {
|
|||
|
||||
// Allow the object writer a chance to perform post-layout binding (for
|
||||
// example, to set the index fields in the symbol data).
|
||||
getWriter().ExecutePostLayoutBinding(*this, Layout);
|
||||
getWriter().executePostLayoutBinding(*this, Layout);
|
||||
|
||||
// Evaluate and apply the fixups, generating relocation entries as necessary.
|
||||
for (MCAssembler::iterator it = begin(), ie = end(); it != ie; ++it) {
|
||||
|
|
|
@ -118,7 +118,7 @@ uint64_t MachObjectWriter::getPaddingSize(const MCSection *Sec,
|
|||
return OffsetToAlignment(EndAddr, NextSec.getAlignment());
|
||||
}
|
||||
|
||||
void MachObjectWriter::WriteHeader(unsigned NumLoadCommands,
|
||||
void MachObjectWriter::writeHeader(unsigned NumLoadCommands,
|
||||
unsigned LoadCommandsSize,
|
||||
bool SubsectionsViaSymbols) {
|
||||
uint32_t Flags = 0;
|
||||
|
@ -148,11 +148,11 @@ void MachObjectWriter::WriteHeader(unsigned NumLoadCommands,
|
|||
(is64Bit()?sizeof(MachO::mach_header_64): sizeof(MachO::mach_header)));
|
||||
}
|
||||
|
||||
/// WriteSegmentLoadCommand - Write a segment load command.
|
||||
/// writeSegmentLoadCommand - Write a segment load command.
|
||||
///
|
||||
/// \param NumSections The number of sections in this segment.
|
||||
/// \param SectionDataSize The total size of the sections.
|
||||
void MachObjectWriter::WriteSegmentLoadCommand(unsigned NumSections,
|
||||
void MachObjectWriter::writeSegmentLoadCommand(unsigned NumSections,
|
||||
uint64_t VMSize,
|
||||
uint64_t SectionDataStartOffset,
|
||||
uint64_t SectionDataSize) {
|
||||
|
@ -192,7 +192,7 @@ void MachObjectWriter::WriteSegmentLoadCommand(unsigned NumSections,
|
|||
assert(OS.tell() - Start == SegmentLoadCommandSize);
|
||||
}
|
||||
|
||||
void MachObjectWriter::WriteSection(const MCAssembler &Asm,
|
||||
void MachObjectWriter::writeSection(const MCAssembler &Asm,
|
||||
const MCAsmLayout &Layout,
|
||||
const MCSection &Sec, uint64_t FileOffset,
|
||||
uint64_t RelocationsStart,
|
||||
|
@ -241,7 +241,7 @@ void MachObjectWriter::WriteSection(const MCAssembler &Asm,
|
|||
sizeof(MachO::section)));
|
||||
}
|
||||
|
||||
void MachObjectWriter::WriteSymtabLoadCommand(uint32_t SymbolOffset,
|
||||
void MachObjectWriter::writeSymtabLoadCommand(uint32_t SymbolOffset,
|
||||
uint32_t NumSymbols,
|
||||
uint32_t StringTableOffset,
|
||||
uint32_t StringTableSize) {
|
||||
|
@ -260,7 +260,7 @@ void MachObjectWriter::WriteSymtabLoadCommand(uint32_t SymbolOffset,
|
|||
assert(OS.tell() - Start == sizeof(MachO::symtab_command));
|
||||
}
|
||||
|
||||
void MachObjectWriter::WriteDysymtabLoadCommand(uint32_t FirstLocalSymbol,
|
||||
void MachObjectWriter::writeDysymtabLoadCommand(uint32_t FirstLocalSymbol,
|
||||
uint32_t NumLocalSymbols,
|
||||
uint32_t FirstExternalSymbol,
|
||||
uint32_t NumExternalSymbols,
|
||||
|
@ -320,7 +320,7 @@ const MCSymbol &MachObjectWriter::findAliasedSymbol(const MCSymbol &Sym) const {
|
|||
return *S;
|
||||
}
|
||||
|
||||
void MachObjectWriter::WriteNlist(MachSymbolData &MSD,
|
||||
void MachObjectWriter::writeNlist(MachSymbolData &MSD,
|
||||
const MCAsmLayout &Layout) {
|
||||
const MCSymbol *Symbol = MSD.Symbol;
|
||||
const MCSymbol &Data = *Symbol;
|
||||
|
@ -403,7 +403,7 @@ void MachObjectWriter::WriteNlist(MachSymbolData &MSD,
|
|||
write32(Address);
|
||||
}
|
||||
|
||||
void MachObjectWriter::WriteLinkeditLoadCommand(uint32_t Type,
|
||||
void MachObjectWriter::writeLinkeditLoadCommand(uint32_t Type,
|
||||
uint32_t DataOffset,
|
||||
uint32_t DataSize) {
|
||||
uint64_t Start = OS.tell();
|
||||
|
@ -426,7 +426,7 @@ static unsigned ComputeLinkerOptionsLoadCommandSize(
|
|||
return RoundUpToAlignment(Size, is64Bit ? 8 : 4);
|
||||
}
|
||||
|
||||
void MachObjectWriter::WriteLinkerOptionsLoadCommand(
|
||||
void MachObjectWriter::writeLinkerOptionsLoadCommand(
|
||||
const std::vector<std::string> &Options)
|
||||
{
|
||||
unsigned Size = ComputeLinkerOptionsLoadCommandSize(Options, is64Bit());
|
||||
|
@ -458,7 +458,7 @@ void MachObjectWriter::recordRelocation(MCAssembler &Asm,
|
|||
Target, FixedValue);
|
||||
}
|
||||
|
||||
void MachObjectWriter::BindIndirectSymbols(MCAssembler &Asm) {
|
||||
void MachObjectWriter::bindIndirectSymbols(MCAssembler &Asm) {
|
||||
// This is the point where 'as' creates actual symbols for indirect symbols
|
||||
// (in the following two passes). It would be easier for us to do this sooner
|
||||
// when we see the attribute, but that makes getting the order in the symbol
|
||||
|
@ -519,8 +519,8 @@ void MachObjectWriter::BindIndirectSymbols(MCAssembler &Asm) {
|
|||
}
|
||||
}
|
||||
|
||||
/// ComputeSymbolTable - Compute the symbol table data
|
||||
void MachObjectWriter::ComputeSymbolTable(
|
||||
/// computeSymbolTable - Compute the symbol table data
|
||||
void MachObjectWriter::computeSymbolTable(
|
||||
MCAssembler &Asm, std::vector<MachSymbolData> &LocalSymbolData,
|
||||
std::vector<MachSymbolData> &ExternalSymbolData,
|
||||
std::vector<MachSymbolData> &UndefinedSymbolData) {
|
||||
|
@ -636,12 +636,12 @@ void MachObjectWriter::computeSectionAddresses(const MCAssembler &Asm,
|
|||
}
|
||||
}
|
||||
|
||||
void MachObjectWriter::ExecutePostLayoutBinding(MCAssembler &Asm,
|
||||
void MachObjectWriter::executePostLayoutBinding(MCAssembler &Asm,
|
||||
const MCAsmLayout &Layout) {
|
||||
computeSectionAddresses(Asm, Layout);
|
||||
|
||||
// Create symbol data for any indirect symbols.
|
||||
BindIndirectSymbols(Asm);
|
||||
bindIndirectSymbols(Asm);
|
||||
}
|
||||
|
||||
bool MachObjectWriter::isSymbolRefDifferenceFullyResolvedImpl(
|
||||
|
@ -714,7 +714,7 @@ bool MachObjectWriter::isSymbolRefDifferenceFullyResolvedImpl(
|
|||
void MachObjectWriter::writeObject(MCAssembler &Asm,
|
||||
const MCAsmLayout &Layout) {
|
||||
// Compute symbol table information and bind symbol indices.
|
||||
ComputeSymbolTable(Asm, LocalSymbolData, ExternalSymbolData,
|
||||
computeSymbolTable(Asm, LocalSymbolData, ExternalSymbolData,
|
||||
UndefinedSymbolData);
|
||||
|
||||
unsigned NumSections = Asm.size();
|
||||
|
@ -793,9 +793,9 @@ void MachObjectWriter::writeObject(MCAssembler &Asm,
|
|||
SectionDataFileSize += SectionDataPadding;
|
||||
|
||||
// Write the prolog, starting with the header and load command...
|
||||
WriteHeader(NumLoadCommands, LoadCommandsSize,
|
||||
writeHeader(NumLoadCommands, LoadCommandsSize,
|
||||
Asm.getSubsectionsViaSymbols());
|
||||
WriteSegmentLoadCommand(NumSections, VMSize,
|
||||
writeSegmentLoadCommand(NumSections, VMSize,
|
||||
SectionDataStart, SectionDataSize);
|
||||
|
||||
// ... and then the section headers.
|
||||
|
@ -804,7 +804,7 @@ void MachObjectWriter::writeObject(MCAssembler &Asm,
|
|||
std::vector<RelAndSymbol> &Relocs = Relocations[&Sec];
|
||||
unsigned NumRelocs = Relocs.size();
|
||||
uint64_t SectionStart = SectionDataStart + getSectionAddress(&Sec);
|
||||
WriteSection(Asm, Layout, Sec, SectionStart, RelocTableEnd, NumRelocs);
|
||||
writeSection(Asm, Layout, Sec, SectionStart, RelocTableEnd, NumRelocs);
|
||||
RelocTableEnd += NumRelocs * sizeof(MachO::any_relocation_info);
|
||||
}
|
||||
|
||||
|
@ -827,14 +827,14 @@ void MachObjectWriter::writeObject(MCAssembler &Asm,
|
|||
if (NumDataRegions) {
|
||||
uint64_t DataRegionsOffset = RelocTableEnd;
|
||||
uint64_t DataRegionsSize = NumDataRegions * 8;
|
||||
WriteLinkeditLoadCommand(MachO::LC_DATA_IN_CODE, DataRegionsOffset,
|
||||
writeLinkeditLoadCommand(MachO::LC_DATA_IN_CODE, DataRegionsOffset,
|
||||
DataRegionsSize);
|
||||
}
|
||||
|
||||
// Write the loh load command, if used.
|
||||
uint64_t LOHTableEnd = DataInCodeTableEnd + LOHSize;
|
||||
if (LOHSize)
|
||||
WriteLinkeditLoadCommand(MachO::LC_LINKER_OPTIMIZATION_HINT,
|
||||
writeLinkeditLoadCommand(MachO::LC_LINKER_OPTIMIZATION_HINT,
|
||||
DataInCodeTableEnd, LOHSize);
|
||||
|
||||
// Write the symbol table load command, if used.
|
||||
|
@ -863,10 +863,10 @@ void MachObjectWriter::writeObject(MCAssembler &Asm,
|
|||
SymbolTableOffset + NumSymTabSymbols * (is64Bit() ?
|
||||
sizeof(MachO::nlist_64) :
|
||||
sizeof(MachO::nlist));
|
||||
WriteSymtabLoadCommand(SymbolTableOffset, NumSymTabSymbols,
|
||||
writeSymtabLoadCommand(SymbolTableOffset, NumSymTabSymbols,
|
||||
StringTableOffset, StringTable.data().size());
|
||||
|
||||
WriteDysymtabLoadCommand(FirstLocalSymbol, NumLocalSymbols,
|
||||
writeDysymtabLoadCommand(FirstLocalSymbol, NumLocalSymbols,
|
||||
FirstExternalSymbol, NumExternalSymbols,
|
||||
FirstUndefinedSymbol, NumUndefinedSymbols,
|
||||
IndirectSymbolOffset, NumIndirectSymbols);
|
||||
|
@ -874,7 +874,7 @@ void MachObjectWriter::writeObject(MCAssembler &Asm,
|
|||
|
||||
// Write the linker options load commands.
|
||||
for (const auto &Option : Asm.getLinkerOptions())
|
||||
WriteLinkerOptionsLoadCommand(Option);
|
||||
writeLinkerOptionsLoadCommand(Option);
|
||||
|
||||
// Write the actual section data.
|
||||
for (const MCSection &Sec : Asm) {
|
||||
|
@ -956,7 +956,7 @@ void MachObjectWriter::writeObject(MCAssembler &Asm,
|
|||
for (auto *SymbolData :
|
||||
{&LocalSymbolData, &ExternalSymbolData, &UndefinedSymbolData})
|
||||
for (MachSymbolData &Entry : *SymbolData)
|
||||
WriteNlist(Entry, Layout);
|
||||
writeNlist(Entry, Layout);
|
||||
|
||||
// Write the string table.
|
||||
OS << StringTable.data();
|
||||
|
|
|
@ -169,12 +169,12 @@ public:
|
|||
void WriteFileHeader(const COFF::header &Header);
|
||||
void WriteSymbol(const COFFSymbol &S);
|
||||
void WriteAuxiliarySymbols(const COFFSymbol::AuxiliarySymbols &S);
|
||||
void WriteSectionHeader(const COFF::section &S);
|
||||
void writeSectionHeader(const COFF::section &S);
|
||||
void WriteRelocation(const COFF::relocation &R);
|
||||
|
||||
// MCObjectWriter interface implementation.
|
||||
|
||||
void ExecutePostLayoutBinding(MCAssembler &Asm,
|
||||
void executePostLayoutBinding(MCAssembler &Asm,
|
||||
const MCAsmLayout &Layout) override;
|
||||
|
||||
bool isSymbolRefDifferenceFullyResolvedImpl(const MCAssembler &Asm,
|
||||
|
@ -634,7 +634,7 @@ void WinCOFFObjectWriter::WriteAuxiliarySymbols(
|
|||
}
|
||||
}
|
||||
|
||||
void WinCOFFObjectWriter::WriteSectionHeader(const COFF::section &S) {
|
||||
void WinCOFFObjectWriter::writeSectionHeader(const COFF::section &S) {
|
||||
writeBytes(StringRef(S.Name, COFF::NameSize));
|
||||
|
||||
writeLE32(S.VirtualSize);
|
||||
|
@ -657,7 +657,7 @@ void WinCOFFObjectWriter::WriteRelocation(const COFF::relocation &R) {
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
// MCObjectWriter interface implementations
|
||||
|
||||
void WinCOFFObjectWriter::ExecutePostLayoutBinding(MCAssembler &Asm,
|
||||
void WinCOFFObjectWriter::executePostLayoutBinding(MCAssembler &Asm,
|
||||
const MCAsmLayout &Layout) {
|
||||
// "Define" each section & symbol. This creates section & symbol
|
||||
// entries in the staging area.
|
||||
|
@ -715,9 +715,9 @@ void WinCOFFObjectWriter::recordRelocation(
|
|||
|
||||
// Mark this symbol as requiring an entry in the symbol table.
|
||||
assert(SectionMap.find(Section) != SectionMap.end() &&
|
||||
"Section must already have been defined in ExecutePostLayoutBinding!");
|
||||
"Section must already have been defined in executePostLayoutBinding!");
|
||||
assert(SymbolMap.find(&A) != SymbolMap.end() &&
|
||||
"Symbol must already have been defined in ExecutePostLayoutBinding!");
|
||||
"Symbol must already have been defined in executePostLayoutBinding!");
|
||||
|
||||
COFFSection *coff_section = SectionMap[Section];
|
||||
COFFSymbol *coff_symbol = SymbolMap[&A];
|
||||
|
@ -1027,7 +1027,7 @@ void WinCOFFObjectWriter::writeObject(MCAssembler &Asm,
|
|||
if (Section->Number != -1) {
|
||||
if (Section->Relocations.size() >= 0xffff)
|
||||
Section->Header.Characteristics |= COFF::IMAGE_SCN_LNK_NRELOC_OVFL;
|
||||
WriteSectionHeader(Section->Header);
|
||||
writeSectionHeader(Section->Header);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ using namespace llvm;
|
|||
|
||||
namespace {
|
||||
class PPCMachObjectWriter : public MCMachObjectTargetWriter {
|
||||
bool RecordScatteredRelocation(MachObjectWriter *Writer,
|
||||
bool recordScatteredRelocation(MachObjectWriter *Writer,
|
||||
const MCAssembler &Asm,
|
||||
const MCAsmLayout &Layout,
|
||||
const MCFragment *Fragment,
|
||||
|
@ -186,9 +186,9 @@ static uint32_t getFixupOffset(const MCAsmLayout &Layout,
|
|||
|
||||
/// \return false if falling back to using non-scattered relocation,
|
||||
/// otherwise true for normal scattered relocation.
|
||||
/// based on X86MachObjectWriter::RecordScatteredRelocation
|
||||
/// and ARMMachObjectWriter::RecordScatteredRelocation
|
||||
bool PPCMachObjectWriter::RecordScatteredRelocation(
|
||||
/// based on X86MachObjectWriter::recordScatteredRelocation
|
||||
/// and ARMMachObjectWriter::recordScatteredRelocation
|
||||
bool PPCMachObjectWriter::recordScatteredRelocation(
|
||||
MachObjectWriter *Writer, const MCAssembler &Asm, const MCAsmLayout &Layout,
|
||||
const MCFragment *Fragment, const MCFixup &Fixup, MCValue Target,
|
||||
unsigned Log2Size, uint64_t &FixedValue) {
|
||||
|
@ -314,7 +314,7 @@ void PPCMachObjectWriter::RecordPPCRelocation(
|
|||
// Q: are branch targets ever scattered?
|
||||
RelocType != MachO::PPC_RELOC_BR24 &&
|
||||
RelocType != MachO::PPC_RELOC_BR14) {
|
||||
RecordScatteredRelocation(Writer, Asm, Layout, Fragment, Fixup, Target,
|
||||
recordScatteredRelocation(Writer, Asm, Layout, Fragment, Fixup, Target,
|
||||
Log2Size, FixedValue);
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -25,7 +25,7 @@ namespace {
|
|||
class AMDGPUMCObjectWriter : public MCObjectWriter {
|
||||
public:
|
||||
AMDGPUMCObjectWriter(raw_pwrite_stream &OS) : MCObjectWriter(OS, true) {}
|
||||
void ExecutePostLayoutBinding(MCAssembler &Asm,
|
||||
void executePostLayoutBinding(MCAssembler &Asm,
|
||||
const MCAsmLayout &Layout) override {
|
||||
//XXX: Implement if necessary.
|
||||
}
|
||||
|
|
|
@ -25,7 +25,7 @@ using namespace llvm;
|
|||
|
||||
namespace {
|
||||
class X86MachObjectWriter : public MCMachObjectTargetWriter {
|
||||
bool RecordScatteredRelocation(MachObjectWriter *Writer,
|
||||
bool recordScatteredRelocation(MachObjectWriter *Writer,
|
||||
const MCAssembler &Asm,
|
||||
const MCAsmLayout &Layout,
|
||||
const MCFragment *Fragment,
|
||||
|
@ -33,7 +33,7 @@ class X86MachObjectWriter : public MCMachObjectTargetWriter {
|
|||
MCValue Target,
|
||||
unsigned Log2Size,
|
||||
uint64_t &FixedValue);
|
||||
void RecordTLVPRelocation(MachObjectWriter *Writer,
|
||||
void recordTLVPRelocation(MachObjectWriter *Writer,
|
||||
const MCAssembler &Asm,
|
||||
const MCAsmLayout &Layout,
|
||||
const MCFragment *Fragment,
|
||||
|
@ -334,7 +334,7 @@ void X86MachObjectWriter::RecordX86_64Relocation(
|
|||
Writer->addRelocation(RelSymbol, Fragment->getParent(), MRE);
|
||||
}
|
||||
|
||||
bool X86MachObjectWriter::RecordScatteredRelocation(MachObjectWriter *Writer,
|
||||
bool X86MachObjectWriter::recordScatteredRelocation(MachObjectWriter *Writer,
|
||||
const MCAssembler &Asm,
|
||||
const MCAsmLayout &Layout,
|
||||
const MCFragment *Fragment,
|
||||
|
@ -428,7 +428,7 @@ bool X86MachObjectWriter::RecordScatteredRelocation(MachObjectWriter *Writer,
|
|||
return true;
|
||||
}
|
||||
|
||||
void X86MachObjectWriter::RecordTLVPRelocation(MachObjectWriter *Writer,
|
||||
void X86MachObjectWriter::recordTLVPRelocation(MachObjectWriter *Writer,
|
||||
const MCAssembler &Asm,
|
||||
const MCAsmLayout &Layout,
|
||||
const MCFragment *Fragment,
|
||||
|
@ -483,7 +483,7 @@ void X86MachObjectWriter::RecordX86Relocation(MachObjectWriter *Writer,
|
|||
// If this is a 32-bit TLVP reloc it's handled a bit differently.
|
||||
if (Target.getSymA() &&
|
||||
Target.getSymA()->getKind() == MCSymbolRefExpr::VK_TLVP) {
|
||||
RecordTLVPRelocation(Writer, Asm, Layout, Fragment, Fixup, Target,
|
||||
recordTLVPRelocation(Writer, Asm, Layout, Fragment, Fixup, Target,
|
||||
FixedValue);
|
||||
return;
|
||||
}
|
||||
|
@ -492,7 +492,7 @@ void X86MachObjectWriter::RecordX86Relocation(MachObjectWriter *Writer,
|
|||
// scattered relocation entry. Differences always require scattered
|
||||
// relocations.
|
||||
if (Target.getSymB()) {
|
||||
RecordScatteredRelocation(Writer, Asm, Layout, Fragment, Fixup,
|
||||
recordScatteredRelocation(Writer, Asm, Layout, Fragment, Fixup,
|
||||
Target, Log2Size, FixedValue);
|
||||
return;
|
||||
}
|
||||
|
@ -508,10 +508,10 @@ void X86MachObjectWriter::RecordX86Relocation(MachObjectWriter *Writer,
|
|||
if (IsPCRel)
|
||||
Offset += 1 << Log2Size;
|
||||
// Try to record the scattered relocation if needed. Fall back to non
|
||||
// scattered if necessary (see comments in RecordScatteredRelocation()
|
||||
// scattered if necessary (see comments in recordScatteredRelocation()
|
||||
// for details).
|
||||
if (Offset && A && !Writer->doesSymbolRequireExternRelocation(*A) &&
|
||||
RecordScatteredRelocation(Writer, Asm, Layout, Fragment, Fixup, Target,
|
||||
recordScatteredRelocation(Writer, Asm, Layout, Fragment, Fixup, Target,
|
||||
Log2Size, FixedValue))
|
||||
return;
|
||||
|
||||
|
|
Loading…
Reference in New Issue