Lines Matching refs:Patch
307 Section.ListDebugStrPatch.forEach([&](DebugStrPatch &Patch) { in applyPatches() argument
309 DebugStrStrings.getExistingEntry(Patch.String); in applyPatches()
312 Section.apply(Patch.PatchOffset, dwarf::DW_FORM_strp, Entry->Offset); in applyPatches()
314 Section.ListDebugTypeStrPatch.forEach([&](DebugTypeStrPatch &Patch) { in applyPatches() argument
316 TypeEntryBody *TypeEntry = Patch.TypeName->getValue().load(); in applyPatches()
318 formatv("No data for type {0}", Patch.TypeName->getKey()) in applyPatches()
322 if (&TypeEntry->getFinalDie() != Patch.Die) in applyPatches()
326 DebugStrStrings.getExistingEntry(Patch.String); in applyPatches()
329 Patch.PatchOffset += in applyPatches()
330 Patch.Die->getOffset() + getULEB128Size(Patch.Die->getAbbrevNumber()); in applyPatches()
332 Section.apply(Patch.PatchOffset, dwarf::DW_FORM_strp, Entry->Offset); in applyPatches()
335 Section.ListDebugLineStrPatch.forEach([&](DebugLineStrPatch &Patch) { in applyPatches() argument
337 DebugLineStrStrings.getExistingEntry(Patch.String); in applyPatches()
340 Section.apply(Patch.PatchOffset, dwarf::DW_FORM_line_strp, Entry->Offset); in applyPatches()
342 Section.ListDebugTypeLineStrPatch.forEach([&](DebugTypeLineStrPatch &Patch) { in applyPatches() argument
344 TypeEntryBody *TypeEntry = Patch.TypeName->getValue().load(); in applyPatches()
346 formatv("No data for type {0}", Patch.TypeName->getKey()) in applyPatches()
350 if (&TypeEntry->getFinalDie() != Patch.Die) in applyPatches()
354 DebugLineStrStrings.getExistingEntry(Patch.String); in applyPatches()
357 Patch.PatchOffset += in applyPatches()
358 Patch.Die->getOffset() + getULEB128Size(Patch.Die->getAbbrevNumber()); in applyPatches()
360 Section.apply(Patch.PatchOffset, dwarf::DW_FORM_line_strp, Entry->Offset); in applyPatches()
370 Section.ListDebugRangePatch.forEach([&](DebugRangePatch &Patch) { in applyPatches() argument
372 Section.getIntVal(Patch.PatchOffset, Format.getDwarfOffsetByteSize()); in applyPatches()
375 Section.apply(Patch.PatchOffset, dwarf::DW_FORM_sec_offset, FinalValue); in applyPatches()
386 Section.ListDebugLocPatch.forEach([&](DebugLocPatch &Patch) { in applyPatches() argument
388 Section.getIntVal(Patch.PatchOffset, Format.getDwarfOffsetByteSize()); in applyPatches()
391 Section.apply(Patch.PatchOffset, dwarf::DW_FORM_sec_offset, FinalValue); in applyPatches()
395 Section.ListDebugDieRefPatch.forEach([&](DebugDieRefPatch &Patch) { in applyPatches() argument
396 uint64_t FinalOffset = Patch.RefDieIdxOrClonedOffset; in applyPatches()
400 if (!Patch.RefCU.getInt()) { in applyPatches()
402 Patch.RefCU.getPointer()->getSectionDescriptor( in applyPatches()
409 Section.apply(Patch.PatchOffset, FinalForm, FinalOffset); in applyPatches()
413 [&](DebugULEB128DieRefPatch &Patch) { in applyPatches() argument
414 assert(Patch.RefCU.getInt()); in applyPatches()
415 Section.apply(Patch.PatchOffset, dwarf::DW_FORM_udata, in applyPatches()
416 Patch.RefDieIdxOrClonedOffset); in applyPatches()
419 Section.ListDebugDieTypeRefPatch.forEach([&](DebugDieTypeRefPatch &Patch) { in applyPatches() argument
421 assert(Patch.RefTypeName != nullptr); in applyPatches()
423 TypeEntryBody *TypeEntry = Patch.RefTypeName->getValue().load(); in applyPatches()
425 formatv("No data for type {0}", Patch.RefTypeName->getKey()) in applyPatches()
429 Section.apply(Patch.PatchOffset, dwarf::DW_FORM_ref_addr, in applyPatches()
434 [&](DebugType2TypeDieRefPatch &Patch) { in applyPatches() argument
436 TypeEntryBody *TypeEntry = Patch.TypeName->getValue().load(); in applyPatches()
438 formatv("No data for type {0}", Patch.TypeName->getKey()) in applyPatches()
442 if (&TypeEntry->getFinalDie() != Patch.Die) in applyPatches()
445 Patch.PatchOffset += Patch.Die->getOffset() + in applyPatches()
446 getULEB128Size(Patch.Die->getAbbrevNumber()); in applyPatches()
448 assert(Patch.RefTypeName != nullptr); in applyPatches()
449 TypeEntryBody *RefTypeEntry = Patch.RefTypeName->getValue().load(); in applyPatches()
451 formatv("No data for type {0}", Patch.RefTypeName->getKey()) in applyPatches()
455 Section.apply(Patch.PatchOffset, dwarf::DW_FORM_ref4, in applyPatches()
459 Section.ListDebugOffsetPatch.forEach([&](DebugOffsetPatch &Patch) { in applyPatches() argument
460 uint64_t FinalValue = Patch.SectionPtr.getPointer()->StartOffset; in applyPatches()
463 if (Patch.SectionPtr.getInt()) in applyPatches()
465 Section.getIntVal(Patch.PatchOffset, Format.getDwarfOffsetByteSize()); in applyPatches()
467 Section.apply(Patch.PatchOffset, dwarf::DW_FORM_sec_offset, FinalValue); in applyPatches()