LLVM  4.0.0
Functions
ArchiveWriter.cpp File Reference
#include "llvm/Object/ArchiveWriter.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/Object/Archive.h"
#include "llvm/Object/ObjectFile.h"
#include "llvm/Object/SymbolicFile.h"
#include "llvm/Support/EndianStream.h"
#include "llvm/Support/Errc.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/Format.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/ToolOutputFile.h"
#include "llvm/Support/raw_ostream.h"
#include <unistd.h>
Include dependency graph for ArchiveWriter.cpp:

Go to the source code of this file.

Functions

template<typename T >
static void printWithSpacePadding (raw_fd_ostream &OS, T Data, unsigned Size, bool MayTruncate=false)
 
static void print32 (raw_ostream &Out, object::Archive::Kind Kind, uint32_t Val)
 
static void printRestOfMemberHeader (raw_fd_ostream &Out, const sys::TimePoint< std::chrono::seconds > &ModTime, unsigned UID, unsigned GID, unsigned Perms, unsigned Size)
 
static void printGNUSmallMemberHeader (raw_fd_ostream &Out, StringRef Name, const sys::TimePoint< std::chrono::seconds > &ModTime, unsigned UID, unsigned GID, unsigned Perms, unsigned Size)
 
static void printBSDMemberHeader (raw_fd_ostream &Out, StringRef Name, const sys::TimePoint< std::chrono::seconds > &ModTime, unsigned UID, unsigned GID, unsigned Perms, unsigned Size)
 
static bool useStringTable (bool Thin, StringRef Name)
 
static void printMemberHeader (raw_fd_ostream &Out, object::Archive::Kind Kind, bool Thin, StringRef Name, std::vector< unsigned >::iterator &StringMapIndexIter, const sys::TimePoint< std::chrono::seconds > &ModTime, unsigned UID, unsigned GID, unsigned Perms, unsigned Size)
 
static std::string computeRelativePath (StringRef From, StringRef To)
 
static void writeStringTable (raw_fd_ostream &Out, StringRef ArcName, ArrayRef< NewArchiveMember > Members, std::vector< unsigned > &StringMapIndexes, bool Thin)
 
static sys::TimePoint
< std::chrono::seconds > 
now (bool Deterministic)
 
static ErrorOr< unsignedwriteSymbolTable (raw_fd_ostream &Out, object::Archive::Kind Kind, ArrayRef< NewArchiveMember > Members, std::vector< unsigned > &MemberOffsetRefs, bool Deterministic)
 

Function Documentation

static std::string computeRelativePath ( StringRef  From,
StringRef  To 
)
static
static sys::TimePoint<std::chrono::seconds> now ( bool  Deterministic)
static
static void print32 ( raw_ostream Out,
object::Archive::Kind  Kind,
uint32_t  Val 
)
static

Definition at line 125 of file ArchiveWriter.cpp.

References llvm::object::Archive::K_GNU, and write().

Referenced by llvm::writeArchive(), and writeSymbolTable().

static void printBSDMemberHeader ( raw_fd_ostream Out,
StringRef  Name,
const sys::TimePoint< std::chrono::seconds > &  ModTime,
unsigned  UID,
unsigned  GID,
unsigned  Perms,
unsigned  Size 
)
static
static void printGNUSmallMemberHeader ( raw_fd_ostream Out,
StringRef  Name,
const sys::TimePoint< std::chrono::seconds > &  ModTime,
unsigned  UID,
unsigned  GID,
unsigned  Perms,
unsigned  Size 
)
static

Definition at line 145 of file ArchiveWriter.cpp.

References printRestOfMemberHeader(), and printWithSpacePadding().

Referenced by printMemberHeader(), and writeSymbolTable().

static void printMemberHeader ( raw_fd_ostream Out,
object::Archive::Kind  Kind,
bool  Thin,
StringRef  Name,
std::vector< unsigned >::iterator &  StringMapIndexIter,
const sys::TimePoint< std::chrono::seconds > &  ModTime,
unsigned  UID,
unsigned  GID,
unsigned  Perms,
unsigned  Size 
)
static
static void printRestOfMemberHeader ( raw_fd_ostream Out,
const sys::TimePoint< std::chrono::seconds > &  ModTime,
unsigned  UID,
unsigned  GID,
unsigned  Perms,
unsigned  Size 
)
static
template<typename T >
static void printWithSpacePadding ( raw_fd_ostream OS,
T  Data,
unsigned  Size,
bool  MayTruncate = false 
)
static
static bool useStringTable ( bool  Thin,
StringRef  Name 
)
static

Definition at line 171 of file ArchiveWriter.cpp.

References llvm::StringRef::size().

Referenced by printMemberHeader(), and writeStringTable().

static void writeStringTable ( raw_fd_ostream Out,
StringRef  ArcName,
ArrayRef< NewArchiveMember Members,
std::vector< unsigned > &  StringMapIndexes,
bool  Thin 
)
static
static ErrorOr<unsigned> writeSymbolTable ( raw_fd_ostream Out,
object::Archive::Kind  Kind,
ArrayRef< NewArchiveMember Members,
std::vector< unsigned > &  MemberOffsetRefs,
bool  Deterministic 
)
static