Lines Matching full:kind

60 object::Archive::Kind NewArchiveMember::detectKindFromObject() const {  in detectKindFromObject()
79 // If we're adding a bitcode file to the archive, detect the Archive kind in detectKindFromObject()
176 static bool isDarwin(object::Archive::Kind Kind) { in isDarwin() argument
177 return Kind == object::Archive::K_DARWIN || in isDarwin()
178 Kind == object::Archive::K_DARWIN64; in isDarwin()
181 static bool isAIXBigArchive(object::Archive::Kind Kind) { in isAIXBigArchive() argument
182 return Kind == object::Archive::K_AIXBIG; in isAIXBigArchive()
185 static bool isCOFFArchive(object::Archive::Kind Kind) { in isCOFFArchive() argument
186 return Kind == object::Archive::K_COFF; in isCOFFArchive()
189 static bool isBSDLike(object::Archive::Kind Kind) { in isBSDLike() argument
190 switch (Kind) { in isBSDLike()
205 static void print(raw_ostream &Out, object::Archive::Kind Kind, T Val) { in print() argument
207 isBSDLike(Kind) ? llvm::endianness::little in print()
284 static bool is64BitKind(object::Archive::Kind Kind) { in is64BitKind() argument
285 switch (Kind) { in is64BitKind()
301 StringMap<uint64_t> &MemberNames, object::Archive::Kind Kind, in printMemberHeader() argument
304 if (isBSDLike(Kind)) in printMemberHeader()
320 if (isCOFFArchive(Kind)) in printMemberHeader()
376 static void printNBits(raw_ostream &Out, object::Archive::Kind Kind, in printNBits() argument
378 if (is64BitKind(Kind)) in printNBits()
379 print<uint64_t>(Out, Kind, Val); in printNBits()
381 print<uint32_t>(Out, Kind, Val); in printNBits()
384 static uint64_t computeSymbolTableSize(object::Archive::Kind Kind, in computeSymbolTableSize() argument
390 if (isBSDLike(Kind)) in computeSymbolTableSize()
394 if (isBSDLike(Kind)) in computeSymbolTableSize()
403 uint32_t Pad = isAIXBigArchive(Kind) in computeSymbolTableSize()
405 : offsetToAlignment(Size, Align(isBSDLike(Kind) ? 8 : 2)); in computeSymbolTableSize()
442 static void writeSymbolTableHeader(raw_ostream &Out, object::Archive::Kind Kind, in writeSymbolTableHeader() argument
446 if (isBSDLike(Kind)) { in writeSymbolTableHeader()
447 const char *Name = is64BitKind(Kind) ? "__.SYMDEF_64" : "__.SYMDEF"; in writeSymbolTableHeader()
450 } else if (isAIXBigArchive(Kind)) { in writeSymbolTableHeader()
454 const char *Name = is64BitKind(Kind) ? "/SYM64" : ""; in writeSymbolTableHeader()
459 static uint64_t computeHeadersSize(object::Archive::Kind Kind, in computeHeadersSize() argument
463 uint32_t OffsetSize = is64BitKind(Kind) ? 8 : 4; in computeHeadersSize()
465 computeSymbolTableSize(Kind, NumSyms, OffsetSize, SymNamesSize); in computeHeadersSize()
469 writeSymbolTableHeader(Tmp, Kind, true, SymtabSize); in computeHeadersSize()
486 object::Archive::Kind Kind, function_ref<void(Error)> Warn) { in getSymbolicFile() argument
511 switch (Kind) { in getSymbolicFile()
595 static void writeSymbolTable(raw_ostream &Out, object::Archive::Kind Kind, in writeSymbolTable() argument
603 if (StringTable.empty() && !isDarwin(Kind) && !isCOFFArchive(Kind)) in writeSymbolTable()
606 uint64_t OffsetSize = is64BitKind(Kind) ? 8 : 4; in writeSymbolTable()
608 uint64_t Size = computeSymbolTableSize(Kind, NumSyms, OffsetSize, in writeSymbolTable()
610 writeSymbolTableHeader(Out, Kind, Deterministic, Size, PrevMemberOffset, in writeSymbolTable()
613 if (isBSDLike(Kind)) in writeSymbolTable()
614 printNBits(Out, Kind, NumSyms * 2 * OffsetSize); in writeSymbolTable()
616 printNBits(Out, Kind, NumSyms); in writeSymbolTable()
620 if (isAIXBigArchive(Kind)) { in writeSymbolTable()
629 if (isBSDLike(Kind)) in writeSymbolTable()
630 printNBits(Out, Kind, StringOffset); in writeSymbolTable()
631 printNBits(Out, Kind, Pos); // member offset in writeSymbolTable()
636 if (isBSDLike(Kind)) in writeSymbolTable()
638 printNBits(Out, Kind, StringTable.size()); in writeSymbolTable()
645 static void writeSymbolMap(raw_ostream &Out, object::Archive::Kind Kind, in writeSymbolMap() argument
650 writeSymbolTableHeader(Out, Kind, Deterministic, Size, 0); in writeSymbolMap()
671 static void writeECSymbols(raw_ostream &Out, object::Archive::Kind Kind, in writeECSymbols() argument
780 object::Archive::Kind Kind, bool Thin, bool Deterministic, in computeMemberData() argument
787 isAIXBigArchive(Kind) ? sizeof(object::BigArchive::FixLenHdr) : 0; in computeMemberData()
838 bool UniqueTimestamps = Deterministic && isDarwin(Kind); in computeMemberData()
849 if (NeedSymbols != SymtabWritingMode::NoSymtab || isAIXBigArchive(Kind)) { in computeMemberData()
852 M.Buf->getMemBufferRef(), Context, Kind, [&](Error Err) { in computeMemberData()
903 isDarwin(Kind) ? offsetToAlignment(Data.size(), Align(8)) : 0; in computeMemberData()
929 if (isAIXBigArchive(Kind)) { in computeMemberData()
960 printMemberHeader(Out, Pos, StringTable, MemberNames, Kind, Thin, *M, in computeMemberData()
983 if (HasObject && SymNames.tell() == 0 && !isCOFFArchive(Kind)) in computeMemberData()
1034 object::Archive::Kind Kind, bool Deterministic, in writeArchiveToStream() argument
1037 assert((!Thin || !isBSDLike(Kind)) && "Only the gnu format has a thin mode"); in writeArchiveToStream()
1049 if (isCOFFArchive(Kind) && (NewMembers.size() > 0xfffe || !ShouldWriteSymtab)) in writeArchiveToStream()
1050 Kind = object::Archive::K_GNU; in writeArchiveToStream()
1057 StringTable, SymNames, Kind, Thin, Deterministic, WriteSymtab, in writeArchiveToStream()
1058 isCOFFArchive(Kind) ? &SymMap : nullptr, Context, NewMembers, IsEC, Warn); in writeArchiveToStream()
1065 if (!StringTableBuf.empty() && !isAIXBigArchive(Kind)) { in writeArchiveToStream()
1091 if (isAIXBigArchive(Kind) && ShouldWriteSymtab) { in writeArchiveToStream()
1101 if (ShouldWriteSymtab && !is64BitKind(Kind)) { in writeArchiveToStream()
1103 HeadersSize = computeHeadersSize(Kind, Data.size(), StringTableSize, in writeArchiveToStream()
1105 isCOFFArchive(Kind) ? &SymMap : nullptr); in writeArchiveToStream()
1123 if (Kind == object::Archive::K_DARWIN) in writeArchiveToStream()
1124 Kind = object::Archive::K_DARWIN64; in writeArchiveToStream()
1126 Kind = object::Archive::K_GNU64; in writeArchiveToStream()
1133 else if (isAIXBigArchive(Kind)) in writeArchiveToStream()
1138 if (!isAIXBigArchive(Kind)) { in writeArchiveToStream()
1142 Kind, Data.size(), StringTableSize, NumSyms, SymNamesBuf.size(), in writeArchiveToStream()
1143 isCOFFArchive(Kind) ? &SymMap : nullptr); in writeArchiveToStream()
1144 writeSymbolTable(Out, Kind, Deterministic, Data, SymNamesBuf, in writeArchiveToStream()
1147 if (isCOFFArchive(Kind)) in writeArchiveToStream()
1148 writeSymbolMap(Out, Kind, Deterministic, Data, SymMap, *HeadersSize); in writeArchiveToStream()
1156 writeECSymbols(Out, Kind, Deterministic, Data, SymMap); in writeArchiveToStream()
1279 writeSymbolTable(Out, Kind, Deterministic, Data, SymNamesBuf32, in writeArchiveToStream()
1289 writeSymbolTable(Out, Kind, Deterministic, Data, SymNamesBuf64, in writeArchiveToStream()
1306 SymtabWritingMode WriteSymtab, object::Archive::Kind Kind, in writeArchive() argument
1316 if (Error E = writeArchiveToStream(Out, NewMembers, WriteSymtab, Kind, in writeArchive()
1340 SymtabWritingMode WriteSymtab, object::Archive::Kind Kind, in writeArchiveToBuffer() argument
1347 writeArchiveToStream(ArchiveStream, NewMembers, WriteSymtab, Kind, in writeArchiveToBuffer()