Lines Matching refs:Kind
50 object::Archive::Kind NewArchiveMember::detectKindFromObject() const { in detectKindFromObject()
163 static bool isDarwin(object::Archive::Kind Kind) { in isDarwin() argument
164 return Kind == object::Archive::K_DARWIN || in isDarwin()
165 Kind == object::Archive::K_DARWIN64; in isDarwin()
168 static bool isAIXBigArchive(object::Archive::Kind Kind) { in isAIXBigArchive() argument
169 return Kind == object::Archive::K_AIXBIG; in isAIXBigArchive()
172 static bool isBSDLike(object::Archive::Kind Kind) { in isBSDLike() argument
173 switch (Kind) { in isBSDLike()
189 static void print(raw_ostream &Out, object::Archive::Kind Kind, T Val) { in print() argument
191 isBSDLike(Kind) ? support::little : support::big); in print()
263 static bool is64BitKind(object::Archive::Kind Kind) { in is64BitKind() argument
264 switch (Kind) { in is64BitKind()
280 StringMap<uint64_t> &MemberNames, object::Archive::Kind Kind, in printMemberHeader() argument
283 if (isBSDLike(Kind)) in printMemberHeader()
349 static void printNBits(raw_ostream &Out, object::Archive::Kind Kind, in printNBits() argument
351 if (is64BitKind(Kind)) in printNBits()
352 print<uint64_t>(Out, Kind, Val); in printNBits()
354 print<uint32_t>(Out, Kind, Val); in printNBits()
357 static uint64_t computeSymbolTableSize(object::Archive::Kind Kind, in computeSymbolTableSize() argument
363 if (isBSDLike(Kind)) in computeSymbolTableSize()
367 if (isBSDLike(Kind)) in computeSymbolTableSize()
376 uint32_t Pad = isAIXBigArchive(Kind) in computeSymbolTableSize()
378 : offsetToAlignment(Size, Align(isBSDLike(Kind) ? 8 : 2)); in computeSymbolTableSize()
385 static void writeSymbolTableHeader(raw_ostream &Out, object::Archive::Kind Kind, in writeSymbolTableHeader() argument
388 if (isBSDLike(Kind)) { in writeSymbolTableHeader()
389 const char *Name = is64BitKind(Kind) ? "__.SYMDEF_64" : "__.SYMDEF"; in writeSymbolTableHeader()
392 } else if (isAIXBigArchive(Kind)) { in writeSymbolTableHeader()
396 const char *Name = is64BitKind(Kind) ? "/SYM64" : ""; in writeSymbolTableHeader()
401 static void writeSymbolTable(raw_ostream &Out, object::Archive::Kind Kind, in writeSymbolTable() argument
407 if (StringTable.empty() && !isDarwin(Kind)) in writeSymbolTable()
414 uint64_t OffsetSize = is64BitKind(Kind) ? 8 : 4; in writeSymbolTable()
416 uint64_t Size = computeSymbolTableSize(Kind, NumSyms, OffsetSize, StringTable, &Pad); in writeSymbolTable()
417 writeSymbolTableHeader(Out, Kind, Deterministic, Size, PrevMemberOffset); in writeSymbolTable()
419 uint64_t Pos = isAIXBigArchive(Kind) ? sizeof(object::BigArchive::FixLenHdr) in writeSymbolTable()
422 if (isBSDLike(Kind)) in writeSymbolTable()
423 printNBits(Out, Kind, NumSyms * 2 * OffsetSize); in writeSymbolTable()
425 printNBits(Out, Kind, NumSyms); in writeSymbolTable()
429 if (isBSDLike(Kind)) in writeSymbolTable()
430 printNBits(Out, Kind, StringOffset); in writeSymbolTable()
431 printNBits(Out, Kind, Pos); // member offset in writeSymbolTable()
436 if (isBSDLike(Kind)) in writeSymbolTable()
438 printNBits(Out, Kind, StringTable.size()); in writeSymbolTable()
485 object::Archive::Kind Kind, bool Thin, bool Deterministic, in computeMemberData() argument
490 isAIXBigArchive(Kind) ? sizeof(object::BigArchive::FixLenHdr) : 0; in computeMemberData()
541 bool UniqueTimestamps = Deterministic && isDarwin(Kind); in computeMemberData()
565 isDarwin(Kind) ? offsetToAlignment(Data.size(), Align(8)) : 0; in computeMemberData()
585 if (isAIXBigArchive(Kind)) { in computeMemberData()
592 printMemberHeader(Out, Pos, StringTable, MemberNames, Kind, Thin, M, in computeMemberData()
662 bool WriteSymtab, object::Archive::Kind Kind, in writeArchiveToStream() argument
664 assert((!Thin || !isBSDLike(Kind)) && "Only the gnu format has a thin mode"); in writeArchiveToStream()
672 computeMemberData(StringTable, SymNames, Kind, Thin, Deterministic, in writeArchiveToStream()
678 if (!StringTableBuf.empty() && !isAIXBigArchive(Kind)) in writeArchiveToStream()
683 isAIXBigArchive(Kind) ? sizeof(object::BigArchive::FixLenHdr) : 8; in writeArchiveToStream()
696 if (WriteSymtab && !isAIXBigArchive(Kind)) { in writeArchiveToStream()
698 uint64_t SymtabSize = computeSymbolTableSize(Kind, NumSyms, 4, SymNamesBuf); in writeArchiveToStream()
703 writeSymbolTableHeader(Tmp, Kind, Deterministic, SymtabSize); in writeArchiveToStream()
724 if (Kind == object::Archive::K_DARWIN) in writeArchiveToStream()
725 Kind = object::Archive::K_DARWIN64; in writeArchiveToStream()
727 Kind = object::Archive::K_GNU64; in writeArchiveToStream()
733 else if (isAIXBigArchive(Kind)) in writeArchiveToStream()
738 if (!isAIXBigArchive(Kind)) { in writeArchiveToStream()
740 writeSymbolTable(Out, Kind, Deterministic, Data, SymNamesBuf); in writeArchiveToStream()
815 writeSymbolTable(Out, Kind, Deterministic, Data, SymNamesBuf, in writeArchiveToStream()
824 bool WriteSymtab, object::Archive::Kind Kind, in writeArchive() argument
833 if (Error E = writeArchiveToStream(Out, NewMembers, WriteSymtab, Kind, in writeArchive()
857 object::Archive::Kind Kind, bool Deterministic, in writeArchiveToBuffer() argument
863 Kind, Deterministic, Thin)) in writeArchiveToBuffer()