Movatterモバイル変換


[0]ホーム

URL:


LLVM 20.0.0git
Classes |Namespaces |Functions |Variables
ArchiveWriter.cpp File Reference
#include "llvm/Object/ArchiveWriter.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/BinaryFormat/Magic.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/Object/Archive.h"
#include "llvm/Object/COFF.h"
#include "llvm/Object/COFFImportFile.h"
#include "llvm/Object/Error.h"
#include "llvm/Object/IRObjectFile.h"
#include "llvm/Object/MachO.h"
#include "llvm/Object/ObjectFile.h"
#include "llvm/Object/SymbolicFile.h"
#include "llvm/Object/XCOFFObjectFile.h"
#include "llvm/Support/Alignment.h"
#include "llvm/Support/EndianStream.h"
#include "llvm/Support/Errc.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/Format.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/SmallVectorMemoryBuffer.h"
#include "llvm/Support/raw_ostream.h"
#include <cerrno>
#include <map>
#include <unistd.h>

Go to the source code of this file.

Classes

struct  SymMap
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 

Functions

template<typenameT >
static void printWithSpacePadding (raw_ostream &OS,T Data,unsignedSize)
 
staticbool isDarwin (object::Archive::KindKind)
 
staticbool isAIXBigArchive (object::Archive::KindKind)
 
staticbool isCOFFArchive (object::Archive::KindKind)
 
staticbool isBSDLike (object::Archive::KindKind)
 
template<classT >
static void print (raw_ostream &Out,object::Archive::KindKind,T Val)
 
template<classT >
static void printLE (raw_ostream &Out,T Val)
 
static void printRestOfMemberHeader (raw_ostream &Out,constsys::TimePoint< std::chrono::seconds > &ModTime,unsigned UID,unsigned GID,unsigned Perms,uint64_tSize)
 
static void printGNUSmallMemberHeader (raw_ostream &Out,StringRefName,constsys::TimePoint< std::chrono::seconds > &ModTime,unsigned UID,unsigned GID,unsigned Perms,uint64_tSize)
 
static void printBSDMemberHeader (raw_ostream &Out,uint64_t Pos,StringRefName,constsys::TimePoint< std::chrono::seconds > &ModTime,unsigned UID,unsigned GID,unsigned Perms,uint64_tSize)
 
static void printBigArchiveMemberHeader (raw_ostream &Out,StringRefName,constsys::TimePoint< std::chrono::seconds > &ModTime,unsigned UID,unsigned GID,unsigned Perms,uint64_tSize,uint64_t PrevOffset,uint64_t NextOffset)
 
staticbool useStringTable (bool Thin,StringRefName)
 
staticbool is64BitKind (object::Archive::KindKind)
 
static void printMemberHeader (raw_ostream &Out,uint64_t Pos,raw_ostream &StringTable,StringMap<uint64_t > &MemberNames,object::Archive::KindKind,bool Thin,constNewArchiveMember &M,sys::TimePoint< std::chrono::seconds > ModTime,uint64_tSize)
 
static MemberData computeStringTable (StringRef Names)
 
staticsys::TimePoint< std::chrono::seconds > now (bool Deterministic)
 
staticbool isArchiveSymbol (constobject::BasicSymbolRef &S)
 
static void printNBits (raw_ostream &Out,object::Archive::KindKind,uint64_t Val)
 
staticuint64_t computeSymbolTableSize (object::Archive::KindKind,uint64_t NumSyms,uint64_t OffsetSize,uint64_t StringTableSize,uint32_t *Padding=nullptr)
 
staticuint64_t computeSymbolMapSize (uint64_t NumObj,SymMap &SymMap,uint32_t *Padding=nullptr)
 
staticuint64_t computeECSymbolsSize (SymMap &SymMap,uint32_t *Padding=nullptr)
 
static void writeSymbolTableHeader (raw_ostream &Out,object::Archive::KindKind,bool Deterministic,uint64_tSize,uint64_t PrevMemberOffset=0,uint64_t NextMemberOffset=0)
 
staticuint64_t computeHeadersSize (object::Archive::KindKind,uint64_t NumMembers,uint64_t StringMemberSize,uint64_t NumSyms,uint64_t SymNamesSize,SymMap *SymMap)
 
staticExpected< std::unique_ptr<SymbolicFile > > getSymbolicFile (MemoryBufferRef Buf,LLVMContext &Context,object::Archive::KindKind,function_ref< void(Error)> Warn)
 
staticbool is64BitSymbolicFile (constSymbolicFile *SymObj)
 
template<typename AuxiliaryHeader >
uint16_t getAuxMaxAlignment (uint16_t AuxHeaderSize, AuxiliaryHeader *AuxHeader,uint16_t Log2OfMaxAlign)
 
staticuint32_t getMemberAlignment (SymbolicFile *SymObj)
 
static void writeSymbolTable (raw_ostream &Out,object::Archive::KindKind,bool Deterministic,ArrayRef< MemberData > Members,StringRefStringTable,uint64_t MembersOffset,unsigned NumSyms,uint64_t PrevMemberOffset=0,uint64_t NextMemberOffset=0,bool Is64Bit=false)
 
static void writeSymbolMap (raw_ostream &Out,object::Archive::KindKind,bool Deterministic,ArrayRef< MemberData > Members,SymMap &SymMap,uint64_t MembersOffset)
 
static void writeECSymbols (raw_ostream &Out,object::Archive::KindKind,bool Deterministic,ArrayRef< MemberData > Members,SymMap &SymMap)
 
staticbool isECObject (object::SymbolicFile &Obj)
 
staticbool isAnyArm64COFF (object::SymbolicFile &Obj)
 
bool isImportDescriptor (StringRefName)
 
staticExpected< std::vector<unsigned > > getSymbols (SymbolicFile *Obj,uint16_tIndex,raw_ostream &SymNames,SymMap *SymMap)
 
staticExpected< std::vector< MemberData > > computeMemberData (raw_ostream &StringTable,raw_ostream &SymNames,object::Archive::KindKind,bool Thin,bool Deterministic,SymtabWritingMode NeedSymbols,SymMap *SymMap,LLVMContext &Context,ArrayRef<NewArchiveMember > NewMembers, std::optional<bool > IsEC,function_ref< void(Error)> Warn)
 
staticErrorOr<SmallString< 128 > > llvm::canonicalizePath (StringRefP)
 
Expected< std::string > llvm::computeArchiveRelativePath (StringRefFrom,StringRef To)
 
Error llvm::writeArchiveToStream (raw_ostream &Out,ArrayRef<NewArchiveMember > NewMembers,SymtabWritingMode WriteSymtab,object::Archive::KindKind,bool Deterministic,bool Thin, std::optional<bool > IsEC=std::nullopt,function_ref< void(Error)> Warn=warnToStderr)
 
void llvm::warnToStderr (Error Err)
 
Error llvm::writeArchive (StringRef ArcName,ArrayRef<NewArchiveMember > NewMembers,SymtabWritingMode WriteSymtab,object::Archive::KindKind,bool Deterministic,bool Thin, std::unique_ptr<MemoryBuffer > OldArchiveBuf=nullptr, std::optional<bool > IsEC=std::nullopt,function_ref< void(Error)> Warn=warnToStderr)
 
Expected< std::unique_ptr<MemoryBuffer > > llvm::writeArchiveToBuffer (ArrayRef<NewArchiveMember > NewMembers,SymtabWritingMode WriteSymtab,object::Archive::KindKind,bool Deterministic,bool Thin,function_ref< void(Error)> Warn=warnToStderr)
 

Variables

staticconstuint32_t Log2OfAIXPageSize = 12
 
staticconstuint32_t MinBigArchiveMemDataAlign = 2
 

Function Documentation

◆ computeECSymbolsSize()

staticuint64_t computeECSymbolsSize(SymMapSymMap,
uint32_tPadding =nullptr 
)
static

Definition at line428 of fileArchiveWriter.cpp.

ReferencesSymMap::ECMap,llvm::offsetToAlignment(), andSize.

Referenced bycomputeHeadersSize(), andwriteECSymbols().

◆ computeHeadersSize()

staticuint64_t computeHeadersSize(object::Archive::Kind Kind,
uint64_t NumMembers,
uint64_t StringMemberSize,
uint64_t NumSyms,
uint64_t SymNamesSize,
SymMapSymMap 
)
static

Definition at line459 of fileArchiveWriter.cpp.

ReferencescomputeECSymbolsSize(),computeSymbolMapSize(),computeSymbolTableSize(),SymMap::ECMap,is64BitKind(),llvm::SmallVectorBase< Size_T >::size(),Size, andwriteSymbolTableHeader().

Referenced byllvm::writeArchiveToStream().

◆ computeMemberData()

staticExpected< std::vector< MemberData > > computeMemberData(raw_ostreamStringTable,
raw_ostreamSymNames,
object::Archive::Kind Kind,
bool Thin,
bool Deterministic,
SymtabWritingMode NeedSymbols,
SymMapSymMap,
LLVMContextContext,
ArrayRef<NewArchiveMemberNewMembers,
std::optional<boolIsEC,
function_ref< void(Error)> Warn 
)
static

Definition at line778 of fileArchiveWriter.cpp.

Referencesllvm::alignTo(),llvm::alignToPowerOf2(),llvm::ArrayRef< T >::begin(),llvm::createFileError(),llvm::Data,llvm::raw_ostream::flush(),llvm::get(),llvm::MemoryBufferRef::getBuffer(),llvm::MemoryBufferRef::getBufferSize(),getMemberAlignment(),getSymbolicFile(),getSymbols(),isAIXBigArchive(),isAnyArm64COFF(),isCOFFArchive(),isDarwin(),isECObject(),llvm::object::Archive::MaxMemberSize,llvm::NoSymtab,llvm::offsetToAlignment(),llvm::object::parse_failed,printBigArchiveMemberHeader(),printMemberHeader(),llvm::ArrayRef< T >::size(),Size,llvm::Expected< T >::takeError(),llvm::raw_ostream::tell(),llvm::sys::toTimePoint(), andSymMap::UseECMap.

Referenced byllvm::writeArchiveToStream().

◆ computeStringTable()

static MemberData computeStringTable(StringRef Names)
static

Definition at line342 of fileArchiveWriter.cpp.

Referencesllvm::raw_ostream::flush(),llvm::offsetToAlignment(),printWithSpacePadding(),llvm::StringRef::size(), andSize.

Referenced byllvm::writeArchiveToStream().

◆ computeSymbolMapSize()

staticuint64_t computeSymbolMapSize(uint64_t NumObj,
SymMapSymMap,
uint32_tPadding =nullptr 
)
static

Definition at line413 of fileArchiveWriter.cpp.

ReferencesSymMap::Map,llvm::offsetToAlignment(), andSize.

Referenced bycomputeHeadersSize(), andwriteSymbolMap().

◆ computeSymbolTableSize()

staticuint64_t computeSymbolTableSize(object::Archive::Kind Kind,
uint64_t NumSyms,
uint64_t OffsetSize,
uint64_t StringTableSize,
uint32_tPadding =nullptr 
)
static

Definition at line384 of fileArchiveWriter.cpp.

Referencesassert(),isAIXBigArchive(),isBSDLike(),llvm::offsetToAlignment(), andSize.

Referenced bycomputeHeadersSize(), andwriteSymbolTable().

◆ getAuxMaxAlignment()

template<typename AuxiliaryHeader >
uint16_t getAuxMaxAlignment(uint16_t AuxHeaderSize,
AuxiliaryHeader * AuxHeader,
uint16_t Log2OfMaxAlign 
)

Definition at line547 of fileArchiveWriter.cpp.

ReferencesLog2OfAIXPageSize,MinBigArchiveMemDataAlign, andoffsetof.

Referenced bygetMemberAlignment().

◆ getMemberAlignment()

staticuint32_t getMemberAlignment(SymbolicFileSymObj)
static

Definition at line580 of fileArchiveWriter.cpp.

Referencesllvm::object::XCOFFFileHeader32::AuxHeaderSize,llvm::object::XCOFFFileHeader64::AuxHeaderSize,llvm::object::XCOFFObjectFile::auxiliaryHeader32(),llvm::object::XCOFFObjectFile::auxiliaryHeader64(),llvm::object::XCOFFObjectFile::fileHeader32(),llvm::object::XCOFFObjectFile::fileHeader64(),getAuxMaxAlignment(),llvm::object::XCOFFObjectFile::is64Bit(),Log2OfAIXPageSize, andMinBigArchiveMemDataAlign.

Referenced bycomputeMemberData().

◆ getSymbolicFile()

staticExpected< std::unique_ptr<SymbolicFile > > getSymbolicFile(MemoryBufferRef Buf,
LLVMContextContext,
object::Archive::Kind Kind,
function_ref< void(Error)> Warn 
)
static

Definition at line485 of fileArchiveWriter.cpp.

Referencesllvm::file_magic::bitcode,llvm::object::SymbolicFile::createSymbolicFile(),llvm::MemoryBufferRef::getBuffer(),llvm::identify_magic(),llvm::object::SymbolicFile::isSymbolicFile(),llvm::object::Archive::K_AIXBIG,llvm::object::Archive::K_BSD,llvm::object::Archive::K_COFF,llvm::object::Archive::K_DARWIN,llvm::object::Archive::K_DARWIN64,llvm::object::Archive::K_GNU, andllvm::object::Archive::K_GNU64.

Referenced bycomputeMemberData().

◆ getSymbols()

staticExpected< std::vector<unsigned > > getSymbols(SymbolicFileObj,
uint16_t Index,
raw_ostreamSymNames,
SymMapSymMap 
)
static

Definition at line736 of fileArchiveWriter.cpp.

ReferencesSymMap::ECMap,isArchiveSymbol(),isECObject(),isImportDescriptor(),SymMap::Map,Name,llvm::object::SymbolicFile::symbols(),llvm::raw_ostream::tell(), andSymMap::UseECMap.

Referenced bycomputeMemberData(), andllvm::writeArchiveToStream().

◆ is64BitKind()

staticbool is64BitKind(object::Archive::Kind Kind)
static

Definition at line284 of fileArchiveWriter.cpp.

Referencesllvm::object::Archive::K_AIXBIG,llvm::object::Archive::K_BSD,llvm::object::Archive::K_COFF,llvm::object::Archive::K_DARWIN,llvm::object::Archive::K_DARWIN64,llvm::object::Archive::K_GNU,llvm::object::Archive::K_GNU64, andllvm_unreachable.

Referenced bycomputeHeadersSize(),printNBits(),llvm::writeArchiveToStream(),writeSymbolTable(), andwriteSymbolTableHeader().

◆ is64BitSymbolicFile()

staticbool is64BitSymbolicFile(constSymbolicFileSymObj)
static

Definition at line533 of fileArchiveWriter.cpp.

Referencesllvm::object::SymbolicFile::is64Bit().

Referenced byllvm::writeArchiveToStream(), andwriteSymbolTable().

◆ isAIXBigArchive()

staticbool isAIXBigArchive(object::Archive::Kind Kind)
static

Definition at line181 of fileArchiveWriter.cpp.

Referencesllvm::object::Archive::K_AIXBIG.

Referenced bycomputeMemberData(),computeSymbolTableSize(),llvm::writeArchiveToStream(),writeSymbolTable(), andwriteSymbolTableHeader().

◆ isAnyArm64COFF()

staticbool isAnyArm64COFF(object::SymbolicFileObj)
static

Definition at line710 of fileArchiveWriter.cpp.

Referencesllvm::Triple::aarch64,llvm::getBitcodeTargetTriple(),llvm::object::Binary::getMemoryBufferRef(),llvm::COFF::isAnyArm64(),llvm::object::Binary::isCOFF(),llvm::object::Binary::isCOFFImportFile(), andllvm::object::Binary::isIR().

Referenced bycomputeMemberData().

◆ isArchiveSymbol()

staticbool isArchiveSymbol(constobject::BasicSymbolRefS)
static

Definition at line362 of fileArchiveWriter.cpp.

Referencesllvm::object::BasicSymbolRef::getFlags(),llvm::report_fatal_error(),llvm::object::BasicSymbolRef::SF_FormatSpecific,llvm::object::BasicSymbolRef::SF_Global,llvm::object::BasicSymbolRef::SF_Undefined, andllvm::Expected< T >::takeError().

Referenced bygetSymbols().

◆ isBSDLike()

staticbool isBSDLike(object::Archive::Kind Kind)
static

Definition at line189 of fileArchiveWriter.cpp.

Referencesllvm::object::Archive::K_AIXBIG,llvm::object::Archive::K_BSD,llvm::object::Archive::K_COFF,llvm::object::Archive::K_DARWIN,llvm::object::Archive::K_DARWIN64,llvm::object::Archive::K_GNU,llvm::object::Archive::K_GNU64, andllvm_unreachable.

Referenced bycomputeSymbolTableSize(),print(),printMemberHeader(),llvm::writeArchiveToStream(),writeSymbolTable(), andwriteSymbolTableHeader().

◆ isCOFFArchive()

staticbool isCOFFArchive(object::Archive::Kind Kind)
static

Definition at line185 of fileArchiveWriter.cpp.

Referencesllvm::object::Archive::K_COFF.

Referenced bycomputeMemberData(),printMemberHeader(),llvm::writeArchiveToStream(), andwriteSymbolTable().

◆ isDarwin()

staticbool isDarwin(object::Archive::Kind Kind)
static

Definition at line176 of fileArchiveWriter.cpp.

Referencesllvm::object::Archive::K_DARWIN, andllvm::object::Archive::K_DARWIN64.

Referenced bycomputeMemberData(), andwriteSymbolTable().

◆ isECObject()

staticbool isECObject(object::SymbolicFileObj)
static

Definition at line689 of fileArchiveWriter.cpp.

Referencesllvm::getBitcodeTargetTriple(),llvm::object::Binary::getMemoryBufferRef(),llvm::COFF::IMAGE_FILE_MACHINE_ARM64,llvm::object::Binary::isCOFF(),llvm::object::Binary::isCOFFImportFile(),llvm::object::Binary::isIR(), andllvm::Triple::x86_64.

Referenced bycomputeMemberData(), andgetSymbols().

◆ isImportDescriptor()

bool isImportDescriptor(StringRef Name)

Definition at line729 of fileArchiveWriter.cpp.

Referencesllvm::object::ImportDescriptorPrefix,Name,llvm::object::NullImportDescriptorSymbolName,llvm::object::NullThunkDataPrefix, andllvm::object::NullThunkDataSuffix.

Referenced bygetSymbols().

◆ now()

staticsys::TimePoint< std::chrono::seconds > now(bool Deterministic)
static

Definition at line354 of fileArchiveWriter.cpp.

Referenced byllvm::TimeRecord::getCurrentTime(),writeECSymbols(), andwriteSymbolTableHeader().

◆ print()

template<classT >
static void print(raw_ostreamOut,
object::Archive::Kind Kind,
T Val 
)
static

Definition at line205 of fileArchiveWriter.cpp.

Referencesllvm::big,isBSDLike(),llvm::little, andllvm::support::endian::write().

Referenced bygen-regalloc-eviction-test-model::build_mock_model(),gen-regalloc-priority-test-model::build_mock_model(),gen-inline-oz-test-model::build_mock_model(),log_reader::main(),gen-inline-oz-test-model::main(),log_reader::pretty_print_tensor_value(),printLivenessInfo(),llvm::PassManager< IRUnitT, AnalysisManagerT, ExtraArgTs >::run(), andinteractive_host::run_interactive().

◆ printBigArchiveMemberHeader()

static void printBigArchiveMemberHeader(raw_ostreamOut,
StringRef Name,
constsys::TimePoint< std::chrono::seconds > & ModTime,
unsigned UID,
unsigned GID,
unsigned Perms,
uint64_t Size,
uint64_t PrevOffset,
uint64_t NextOffset 
)
static

Definition at line256 of fileArchiveWriter.cpp.

Referencesllvm::format(),Name,printWithSpacePadding(),Size,llvm::sys::toTimeT(), andllvm::raw_ostream::write().

Referenced bycomputeMemberData(),llvm::writeArchiveToStream(), andwriteSymbolTableHeader().

◆ printBSDMemberHeader()

static void printBSDMemberHeader(raw_ostreamOut,
uint64_t Pos,
StringRef Name,
constsys::TimePoint< std::chrono::seconds > & ModTime,
unsigned UID,
unsigned GID,
unsigned Perms,
uint64_t Size 
)
static

Definition at line240 of fileArchiveWriter.cpp.

ReferencesName,llvm::offsetToAlignment(),printRestOfMemberHeader(),printWithSpacePadding(),Size, andllvm::raw_ostream::write().

Referenced byprintMemberHeader(), andwriteSymbolTableHeader().

◆ printGNUSmallMemberHeader()

static void printGNUSmallMemberHeader(raw_ostreamOut,
StringRef Name,
constsys::TimePoint< std::chrono::seconds > & ModTime,
unsigned UID,
unsigned GID,
unsigned Perms,
uint64_t Size 
)
static

Definition at line231 of fileArchiveWriter.cpp.

ReferencesName,printRestOfMemberHeader(),printWithSpacePadding(), andSize.

Referenced byprintMemberHeader(),writeECSymbols(), andwriteSymbolTableHeader().

◆ printLE()

template<classT >
static void printLE(raw_ostreamOut,
T Val 
)
static

Definition at line211 of fileArchiveWriter.cpp.

Referencesllvm::little, andllvm::support::endian::write().

Referenced bywriteECSymbols(), andwriteSymbolMap().

◆ printMemberHeader()

static void printMemberHeader(raw_ostreamOut,
uint64_t Pos,
raw_ostreamStringTable,
StringMap<uint64_t > & MemberNames,
object::Archive::Kind Kind,
bool Thin,
constNewArchiveMemberM,
sys::TimePoint< std::chrono::seconds > ModTime,
uint64_t Size 
)
static

Definition at line300 of fileArchiveWriter.cpp.

Referencesllvm::StringMap< ValueTy, AllocatorTy >::insert(),isBSDLike(),isCOFFArchive(),printBSDMemberHeader(),printGNUSmallMemberHeader(),printRestOfMemberHeader(),printWithSpacePadding(),Size, anduseStringTable().

Referenced bycomputeMemberData().

◆ printNBits()

static void printNBits(raw_ostreamOut,
object::Archive::Kind Kind,
uint64_t Val 
)
static

Definition at line376 of fileArchiveWriter.cpp.

Referencesis64BitKind().

Referenced bywriteSymbolTable().

◆ printRestOfMemberHeader()

static void printRestOfMemberHeader(raw_ostreamOut,
constsys::TimePoint< std::chrono::seconds > & ModTime,
unsigned UID,
unsigned GID,
unsigned Perms,
uint64_t Size 
)
static

Definition at line215 of fileArchiveWriter.cpp.

Referencesllvm::format(),printWithSpacePadding(),Size, andllvm::sys::toTimeT().

Referenced byprintBSDMemberHeader(),printGNUSmallMemberHeader(), andprintMemberHeader().

◆ printWithSpacePadding()

template<typenameT >
static void printWithSpacePadding(raw_ostreamOS,
T Data,
unsigned Size 
)
static

Definition at line168 of fileArchiveWriter.cpp.

Referencesassert(),llvm::Data,llvm::raw_ostream::indent(),OS,Size, andllvm::raw_ostream::tell().

Referenced bycomputeStringTable(),printBigArchiveMemberHeader(),printBSDMemberHeader(),printGNUSmallMemberHeader(),printMemberHeader(),printRestOfMemberHeader(), andllvm::writeArchiveToStream().

◆ useStringTable()

staticbool useStringTable(bool Thin,
StringRef Name 
)
static

Definition at line280 of fileArchiveWriter.cpp.

ReferencesName.

Referenced byprintMemberHeader().

◆ writeECSymbols()

static void writeECSymbols(raw_ostreamOut,
object::Archive::Kind Kind,
bool Deterministic,
ArrayRef< MemberData > Members,
SymMapSymMap 
)
static

Definition at line671 of fileArchiveWriter.cpp.

ReferencescomputeECSymbolsSize(),SymMap::ECMap,now(),printGNUSmallMemberHeader(),printLE(),Size, andllvm::raw_ostream::write().

Referenced byllvm::writeArchiveToStream().

◆ writeSymbolMap()

static void writeSymbolMap(raw_ostreamOut,
object::Archive::Kind Kind,
bool Deterministic,
ArrayRef< MemberData > Members,
SymMapSymMap,
uint64_t MembersOffset 
)
static

Definition at line645 of fileArchiveWriter.cpp.

ReferencescomputeSymbolMapSize(),SymMap::Map,printLE(),llvm::ArrayRef< T >::size(),Size,llvm::raw_ostream::write(), andwriteSymbolTableHeader().

Referenced byllvm::writeArchiveToStream().

◆ writeSymbolTable()

static void writeSymbolTable(raw_ostreamOut,
object::Archive::Kind Kind,
bool Deterministic,
ArrayRef< MemberData > Members,
StringRef StringTable,
uint64_t MembersOffset,
unsigned NumSyms,
uint64_t PrevMemberOffset =0,
uint64_t NextMemberOffset =0,
bool Is64Bit =false 
)
static

Definition at line595 of fileArchiveWriter.cpp.

ReferencescomputeSymbolTableSize(),is64BitKind(),is64BitSymbolicFile(),isAIXBigArchive(),isBSDLike(),isCOFFArchive(),isDarwin(),printNBits(),llvm::StringTable::size(),Size,llvm::raw_ostream::write(), andwriteSymbolTableHeader().

Referenced byllvm::writeArchiveToStream().

◆ writeSymbolTableHeader()

static void writeSymbolTableHeader(raw_ostreamOut,
object::Archive::Kind Kind,
bool Deterministic,
uint64_t Size,
uint64_t PrevMemberOffset =0,
uint64_t NextMemberOffset =0 
)
static

Definition at line442 of fileArchiveWriter.cpp.

Referencesis64BitKind(),isAIXBigArchive(),isBSDLike(),Name,now(),printBigArchiveMemberHeader(),printBSDMemberHeader(),printGNUSmallMemberHeader(),Size, andllvm::raw_ostream::tell().

Referenced bycomputeHeadersSize(),writeSymbolMap(), andwriteSymbolTable().

Variable Documentation

◆ Log2OfAIXPageSize

constuint32_t Log2OfAIXPageSize = 12
static

Definition at line538 of fileArchiveWriter.cpp.

Referenced bygetAuxMaxAlignment(), andgetMemberAlignment().

◆ MinBigArchiveMemDataAlign

constuint32_t MinBigArchiveMemDataAlign = 2
static

Definition at line544 of fileArchiveWriter.cpp.

Referenced bygetAuxMaxAlignment(), andgetMemberAlignment().


Generated on Sun Jul 20 2025 15:03:10 for LLVM by doxygen 1.9.6
[8]ページ先頭

©2009-2025 Movatter.jp