MCPcopy Create free account
hub / github.com/GJDuck/e9patch / e9fini

Function e9fini

src/e9patch/e9loader_elf.cpp:456–470  ·  view source on GitHub ↗

* Loader finalization code. */

Source from the content-addressed store, hash-verified

454 * Loader finalization code.
455 */
456void *e9fini(const e9_config_s *config)
457{
458 const uint8_t *loader_base = (const uint8_t *)config;
459 const uint8_t *elf_base = loader_base - config->base;
460
461 const intptr_t *finis = (const intptr_t *)(loader_base + config->finis);
462 for (uint32_t i = 0; i < config->num_finis; i++)
463 {
464 fini_t fini = (fini_t)e9addr(finis[i], elf_base);
465 fini(config);
466 }
467
468 void *fini = (void *)e9addr(config->fini, elf_base);
469 return fini;
470}
471

Callers

nothing calls this directly

Calls 2

e9addrFunction · 0.85
finiFunction · 0.50

Tested by

no test coverage detected