MCPcopy Create free account
hub / github.com/bloomberg/pystack / parseCoreExecfn

Function parseCoreExecfn

src/pystack/_pystack/corefile.cpp:398–414  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

396}
397
398static StatusCode
399parseCoreExecfn(const NoteData& note_data, uintptr_t* result)
400{
401 const size_t auxv_size = gelf_fsize(note_data.elf, ELF_T_AUXV, 1, EV_CURRENT);
402 assert(auxv_size > 0);
403 const size_t nauxv = note_data.descriptor_size / auxv_size;
404 for (size_t i = 0; i < nauxv; ++i) {
405 GElf_auxv_t av_mem;
406 const GElf_auxv_t* av = gelf_getauxv(note_data.data, i, &av_mem);
407 if (!av || av->a_type != AT_EXECFN) {
408 continue;
409 }
410 *result = static_cast<uintptr_t>(av->a_un.a_val);
411 return StatusCode::SUCCESS;
412 }
413 return StatusCode::ERROR;
414}
415
416uintptr_t
417CoreFileExtractor::findExecFn() const

Callers 1

findExecFnMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected