Lines Matching full:patch
308 Section.ListDebugStrPatch.forEach([&](DebugStrPatch &Patch) { in applyPatches() argument
310 DebugStrStrings.getExistingEntry(Patch.String); in applyPatches()
313 Section.apply(Patch.PatchOffset, dwarf::DW_FORM_strp, Entry->Offset); in applyPatches()
315 Section.ListDebugTypeStrPatch.forEach([&](DebugTypeStrPatch &Patch) { in applyPatches() argument
317 TypeEntryBody *TypeEntry = Patch.TypeName->getValue().load(); in applyPatches()
319 formatv("No data for type {0}", Patch.TypeName->getKey()) in applyPatches()
323 if (&TypeEntry->getFinalDie() != Patch.Die) in applyPatches()
327 DebugStrStrings.getExistingEntry(Patch.String); in applyPatches()
330 Patch.PatchOffset += in applyPatches()
331 Patch.Die->getOffset() + getULEB128Size(Patch.Die->getAbbrevNumber()); in applyPatches()
333 Section.apply(Patch.PatchOffset, dwarf::DW_FORM_strp, Entry->Offset); in applyPatches()
336 Section.ListDebugLineStrPatch.forEach([&](DebugLineStrPatch &Patch) { in applyPatches() argument
338 DebugLineStrStrings.getExistingEntry(Patch.String); in applyPatches()
341 Section.apply(Patch.PatchOffset, dwarf::DW_FORM_line_strp, Entry->Offset); in applyPatches()
343 Section.ListDebugTypeLineStrPatch.forEach([&](DebugTypeLineStrPatch &Patch) { in applyPatches() argument
345 TypeEntryBody *TypeEntry = Patch.TypeName->getValue().load(); in applyPatches()
347 formatv("No data for type {0}", Patch.TypeName->getKey()) in applyPatches()
351 if (&TypeEntry->getFinalDie() != Patch.Die) in applyPatches()
355 DebugLineStrStrings.getExistingEntry(Patch.String); in applyPatches()
358 Patch.PatchOffset += in applyPatches()
359 Patch.Die->getOffset() + getULEB128Size(Patch.Die->getAbbrevNumber()); in applyPatches()
361 Section.apply(Patch.PatchOffset, dwarf::DW_FORM_line_strp, Entry->Offset); in applyPatches()
371 Section.ListDebugRangePatch.forEach([&](DebugRangePatch &Patch) { in applyPatches() argument
373 Section.getIntVal(Patch.PatchOffset, Format.getDwarfOffsetByteSize()); in applyPatches()
376 Section.apply(Patch.PatchOffset, dwarf::DW_FORM_sec_offset, FinalValue); in applyPatches()
387 Section.ListDebugLocPatch.forEach([&](DebugLocPatch &Patch) { in applyPatches() argument
389 Section.getIntVal(Patch.PatchOffset, Format.getDwarfOffsetByteSize()); in applyPatches()
392 Section.apply(Patch.PatchOffset, dwarf::DW_FORM_sec_offset, FinalValue); in applyPatches()
396 Section.ListDebugDieRefPatch.forEach([&](DebugDieRefPatch &Patch) { in applyPatches() argument
397 uint64_t FinalOffset = Patch.RefDieIdxOrClonedOffset; in applyPatches()
401 if (!Patch.RefCU.getInt()) { in applyPatches()
403 Patch.RefCU.getPointer()->getSectionDescriptor( in applyPatches()
410 Section.apply(Patch.PatchOffset, FinalForm, FinalOffset); in applyPatches()
414 [&](DebugULEB128DieRefPatch &Patch) { in applyPatches() argument
415 assert(Patch.RefCU.getInt()); in applyPatches()
416 Section.apply(Patch.PatchOffset, dwarf::DW_FORM_udata, in applyPatches()
417 Patch.RefDieIdxOrClonedOffset); in applyPatches()
420 Section.ListDebugDieTypeRefPatch.forEach([&](DebugDieTypeRefPatch &Patch) { in applyPatches() argument
422 assert(Patch.RefTypeName != nullptr); in applyPatches()
424 TypeEntryBody *TypeEntry = Patch.RefTypeName->getValue().load(); in applyPatches()
426 formatv("No data for type {0}", Patch.RefTypeName->getKey()) in applyPatches()
430 Section.apply(Patch.PatchOffset, dwarf::DW_FORM_ref_addr, in applyPatches()
435 [&](DebugType2TypeDieRefPatch &Patch) { in applyPatches() argument
437 TypeEntryBody *TypeEntry = Patch.TypeName->getValue().load(); in applyPatches()
439 formatv("No data for type {0}", Patch.TypeName->getKey()) in applyPatches()
443 if (&TypeEntry->getFinalDie() != Patch.Die) in applyPatches()
446 Patch.PatchOffset += Patch.Die->getOffset() + in applyPatches()
447 getULEB128Size(Patch.Die->getAbbrevNumber()); in applyPatches()
449 assert(Patch.RefTypeName != nullptr); in applyPatches()
450 TypeEntryBody *RefTypeEntry = Patch.RefTypeName->getValue().load(); in applyPatches()
452 formatv("No data for type {0}", Patch.RefTypeName->getKey()) in applyPatches()
456 Section.apply(Patch.PatchOffset, dwarf::DW_FORM_ref4, in applyPatches()
460 Section.ListDebugOffsetPatch.forEach([&](DebugOffsetPatch &Patch) { in applyPatches() argument
461 uint64_t FinalValue = Patch.SectionPtr.getPointer()->StartOffset; in applyPatches()
464 if (Patch.SectionPtr.getInt()) in applyPatches()
466 Section.getIntVal(Patch.PatchOffset, Format.getDwarfOffsetByteSize()); in applyPatches()
468 Section.apply(Patch.PatchOffset, dwarf::DW_FORM_sec_offset, FinalValue); in applyPatches()