LLVM 19.0.0git
Classes | Public Member Functions | Public Attributes | List of all members
llvm::object::BigArchive Class Reference

#include "llvm/Object/Archive.h"

Inheritance diagram for llvm::object::BigArchive:
Inheritance graph
[legend]

Classes

struct  FixLenHdr
 Fixed-Length Header. More...
 

Public Member Functions

 BigArchive (MemoryBufferRef Source, Error &Err)
 
uint64_t getFirstChildOffset () const override
 
uint64_t getLastChildOffset () const
 
bool isEmpty () const override
 
bool has32BitGlobalSymtab ()
 
bool has64BitGlobalSymtab ()
 
- Public Member Functions inherited from llvm::object::Archive
 Archive (MemoryBufferRef Source, Error &Err)
 
Kind kind () const
 
bool isThin () const
 
child_iterator child_begin (Error &Err, bool SkipInternal=true) const
 
child_iterator child_end () const
 
iterator_range< child_iteratorchildren (Error &Err, bool SkipInternal=true) const
 
symbol_iterator symbol_begin () const
 
symbol_iterator symbol_end () const
 
iterator_range< symbol_iteratorsymbols () const
 
Expected< iterator_range< symbol_iterator > > ec_symbols () const
 
Expected< std::optional< Child > > findSym (StringRef name) const
 
virtual bool isEmpty () const
 
bool hasSymbolTable () const
 
StringRef getSymbolTable () const
 
StringRef getStringTable () const
 
uint32_t getNumberOfSymbols () const
 
uint32_t getNumberOfECSymbols () const
 
virtual uint64_t getFirstChildOffset () const
 
std::vector< std::unique_ptr< MemoryBuffer > > takeThinBuffers ()
 
std::unique_ptr< AbstractArchiveMemberHeadercreateArchiveMemberHeader (const char *RawHeaderPtr, uint64_t Size, Error *Err) const
 
- Public Member Functions inherited from llvm::object::Binary
 Binary ()=delete
 
 Binary (const Binary &other)=delete
 
virtual ~Binary ()
 
virtual Error initContent ()
 
StringRef getData () const
 
StringRef getFileName () const
 
MemoryBufferRef getMemoryBufferRef () const
 
unsigned int getType () const
 
bool isObject () const
 
bool isSymbolic () const
 
bool isArchive () const
 
bool isMachOUniversalBinary () const
 
bool isTapiUniversal () const
 
bool isELF () const
 
bool isMachO () const
 
bool isCOFF () const
 
bool isXCOFF () const
 
bool isWasm () const
 
bool isOffloadFile () const
 
bool isCOFFImportFile () const
 
bool isIR () const
 
bool isGOFF () const
 
bool isMinidump () const
 
bool isTapiFile () const
 
bool isLittleEndian () const
 
bool isWinRes () const
 
Triple::ObjectFormatType getTripleObjectFormat () const
 

Public Attributes

const FixLenHdrArFixLenHdr
 
uint64_t FirstChildOffset = 0
 
uint64_t LastChildOffset = 0
 
std::string MergedGlobalSymtabBuf
 
bool Has32BitGlobalSymtab = false
 
bool Has64BitGlobalSymtab = false
 

Additional Inherited Members

- Public Types inherited from llvm::object::Archive
enum  Kind {
  K_GNU , K_GNU64 , K_BSD , K_DARWIN ,
  K_DARWIN64 , K_COFF , K_AIXBIG
}
 
using child_iterator = fallible_iterator< ChildFallibleIterator >
 
- Static Public Member Functions inherited from llvm::object::Archive
static Expected< std::unique_ptr< Archive > > create (MemoryBufferRef Source)
 
static object::Archive::Kind getDefaultKindForHost ()
 
static bool classof (Binary const *v)
 
- Static Public Member Functions inherited from llvm::object::Binary
static Error checkOffset (MemoryBufferRef M, uintptr_t Addr, const uint64_t Size)
 
- Static Public Attributes inherited from llvm::object::Archive
static const uint64_t MaxMemberSize = 9999999999
 Size field is 10 decimal digits long.
 
- Protected Types inherited from llvm::object::Binary
enum  {
  ID_Archive , ID_MachOUniversalBinary , ID_COFFImportFile , ID_IR ,
  ID_TapiUniversal , ID_TapiFile , ID_Minidump , ID_WinRes ,
  ID_Offload , ID_StartObjects , ID_COFF , ID_XCOFF32 ,
  ID_XCOFF64 , ID_ELF32L , ID_ELF32B , ID_ELF64L ,
  ID_ELF64B , ID_MachO32L , ID_MachO32B , ID_MachO64L ,
  ID_MachO64B , ID_GOFF , ID_Wasm , ID_EndObjects
}
 
- Protected Member Functions inherited from llvm::object::Archive
uint64_t getArchiveMagicLen () const
 
void setFirstRegular (const Child &C)
 
- Protected Member Functions inherited from llvm::object::Binary
 Binary (unsigned int Type, MemoryBufferRef Source)
 
- Static Protected Member Functions inherited from llvm::object::Binary
static unsigned int getELFType (bool isLE, bool is64Bits)
 
static unsigned int getMachOType (bool isLE, bool is64Bits)
 
- Protected Attributes inherited from llvm::object::Archive
StringRef SymbolTable
 
StringRef ECSymbolTable
 
StringRef StringTable
 
- Protected Attributes inherited from llvm::object::Binary
MemoryBufferRef Data
 

Detailed Description

Definition at line 396 of file Archive.h.

Constructor & Destructor Documentation

◆ BigArchive()

BigArchive::BigArchive ( MemoryBufferRef  Source,
Error Err 
)

Member Function Documentation

◆ getFirstChildOffset()

uint64_t llvm::object::BigArchive::getFirstChildOffset ( ) const
inlineoverridevirtual

Reimplemented from llvm::object::Archive.

Definition at line 419 of file Archive.h.

References FirstChildOffset.

Referenced by isEmpty().

◆ getLastChildOffset()

uint64_t llvm::object::BigArchive::getLastChildOffset ( ) const
inline

Definition at line 420 of file Archive.h.

References LastChildOffset.

◆ has32BitGlobalSymtab()

bool llvm::object::BigArchive::has32BitGlobalSymtab ( )
inline

Definition at line 423 of file Archive.h.

References Has32BitGlobalSymtab.

◆ has64BitGlobalSymtab()

bool llvm::object::BigArchive::has64BitGlobalSymtab ( )
inline

Definition at line 424 of file Archive.h.

References Has64BitGlobalSymtab.

◆ isEmpty()

bool llvm::object::BigArchive::isEmpty ( ) const
inlineoverridevirtual

Reimplemented from llvm::object::Archive.

Definition at line 421 of file Archive.h.

References getFirstChildOffset().

Member Data Documentation

◆ ArFixLenHdr

const FixLenHdr* llvm::object::BigArchive::ArFixLenHdr

Definition at line 410 of file Archive.h.

Referenced by BigArchive().

◆ FirstChildOffset

uint64_t llvm::object::BigArchive::FirstChildOffset = 0

Definition at line 411 of file Archive.h.

Referenced by BigArchive(), and getFirstChildOffset().

◆ Has32BitGlobalSymtab

bool llvm::object::BigArchive::Has32BitGlobalSymtab = false

Definition at line 414 of file Archive.h.

Referenced by BigArchive(), and has32BitGlobalSymtab().

◆ Has64BitGlobalSymtab

bool llvm::object::BigArchive::Has64BitGlobalSymtab = false

Definition at line 415 of file Archive.h.

Referenced by BigArchive(), and has64BitGlobalSymtab().

◆ LastChildOffset

uint64_t llvm::object::BigArchive::LastChildOffset = 0

Definition at line 412 of file Archive.h.

Referenced by BigArchive(), and getLastChildOffset().

◆ MergedGlobalSymtabBuf

std::string llvm::object::BigArchive::MergedGlobalSymtabBuf

Definition at line 413 of file Archive.h.

Referenced by BigArchive().


The documentation for this class was generated from the following files: