Lines Matching defs:debugChunk
117 void analyzeSymbolSubsection(SectionChunk *debugChunk,
134 void writeSymbolRecord(SectionChunk *debugChunk,
177 SectionChunk *debugChunk = nullptr;
224 void advanceRelocIndex(SectionChunk *debugChunk, ArrayRef<uint8_t> subsec);
226 void addUnrelocatedSubsection(SectionChunk *debugChunk,
229 void addFrameDataSubsection(SectionChunk *debugChunk,
236 void handleDebugS(SectionChunk *debugChunk);
558 void PDBLinker::writeSymbolRecord(SectionChunk *debugChunk,
568 debugChunk->writeAndRelocateSubsection(sectionContents, sym.data(),
573 TpiSource *source = debugChunk->file->debugTypesObj;
586 SectionChunk *debugChunk, uint32_t &moduleSymOffset,
589 ObjFile *file = debugChunk->file;
594 ArrayRef<uint8_t> sectionContents = debugChunk->getContents();
617 writeSymbolRecord(debugChunk, sectionContents, sym, alignedSize,
654 for (SectionChunk *debugChunk : file->getDebugChunks()) {
655 if (!debugChunk->live || debugChunk->getSize() == 0 ||
656 debugChunk->getSectionName() != ".debug$S")
659 ArrayRef<uint8_t> sectionContents = debugChunk->getContents();
690 writeSymbolRecord(debugChunk, sectionContents, sym, alignedSize,
759 void DebugSHandler::handleDebugS(SectionChunk *debugChunk) {
762 ArrayRef<uint8_t> contents = debugChunk->getContents();
768 debugChunk->sortRelocations();
793 addUnrelocatedSubsection(debugChunk, ss);
796 addFrameDataSubsection(debugChunk, ss);
799 linker.analyzeSymbolSubsection(debugChunk, moduleStreamSize,
850 UnrelocatedDebugSubsection(DebugSubsectionKind k, SectionChunk *debugChunk,
852 : DebugSubsection(k), debugChunk(debugChunk), subsec(subsec),
858 SectionChunk *debugChunk;
867 debugChunk->writeAndRelocateSubsection(debugChunk->getContents(), subsec,
873 debugChunk->file->debugTypesObj) {
874 TpiSource *source = debugChunk->file->debugTypesObj;
882 log("bad inlinee line record in " + debugChunk->file->getName() +
891 void DebugSHandler::addUnrelocatedSubsection(SectionChunk *debugChunk,
896 advanceRelocIndex(debugChunk, subsec);
898 std::make_shared<UnrelocatedDebugSubsection>(ss.kind(), debugChunk,
902 void DebugSHandler::addFrameDataSubsection(SectionChunk *debugChunk,
910 advanceRelocIndex(debugChunk, subsec);
911 frameDataSubsecs.push_back({debugChunk, subsec, nextRelocIndex});
956 SectionChunk *debugChunk = subsec.debugChunk;
961 debugChunk->writeAndRelocateSubsection(debugChunk->getContents(),
1022 static ArrayRef<uint8_t> relocateDebugChunk(SectionChunk &debugChunk) {
1023 uint8_t *buffer = bAlloc().Allocate<uint8_t>(debugChunk.getSize());
1024 assert(debugChunk.getOutputSectionIdx() == 0 &&
1026 debugChunk.writeTo(buffer);
1027 return ArrayRef(buffer, debugChunk.getSize());
1042 for (SectionChunk *debugChunk : source->file->getDebugChunks()) {
1043 if (!debugChunk->live || debugChunk->getSize() == 0)
1046 bool isDebugS = debugChunk->getSectionName() == ".debug$S";
1047 bool isDebugF = debugChunk->getSectionName() == ".debug$F";
1052 dsh.handleDebugS(debugChunk);
1056 relocateDebugChunk(*debugChunk);