clarify memory module to memmap module
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
#include "hielf.h"
|
||||
#include "histring.h"
|
||||
#include "logger.h"
|
||||
#include "memory.h"
|
||||
#include "memmap.h"
|
||||
#include "symbols.h"
|
||||
#include "types.h"
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
typedef struct {
|
||||
const char *filename;
|
||||
void *dlhandle;
|
||||
MemoryRegionSpan memreg;
|
||||
MemorySpan memreg;
|
||||
} PatchData;
|
||||
|
||||
static void *adjust_if_relative(void *ptr, void *module_base) {
|
||||
@@ -168,10 +168,10 @@ cleanup:
|
||||
}
|
||||
|
||||
static HiResult moduler_apply_module_patch(VectorSymbol *psymbols,
|
||||
MemoryRegionSpan module_memory) {
|
||||
MemorySpan module_memory) {
|
||||
|
||||
void *module_base = (void *)module_memory.region_start;
|
||||
size_t module_size = module_memory.region_end - module_memory.region_start;
|
||||
void *module_base = (void *)module_memory.start;
|
||||
size_t module_size = module_memory.end - module_memory.start;
|
||||
|
||||
void *plt = NULL;
|
||||
ElfW(Rela) *jmprel = NULL;
|
||||
@@ -296,7 +296,7 @@ PatchData moduler_create_patch(ModuleData *module) {
|
||||
}
|
||||
|
||||
HiResult moduler_reload(VectorModuleData *modules, ModuleData *module,
|
||||
struct sc_array_memreg *memregs) {
|
||||
VectorMemoryMap *memmaps) {
|
||||
|
||||
// Return OK because this isn't an error case. We just don't do it yet
|
||||
// because we only handle reloading a complete solib. Can't do that with
|
||||
@@ -324,10 +324,10 @@ HiResult moduler_reload(VectorModuleData *modules, ModuleData *module,
|
||||
patch.dlhandle = new_handle;
|
||||
|
||||
// refresh cache
|
||||
read_memory_maps_self(memregs);
|
||||
memmaps_from_process(memmaps);
|
||||
|
||||
patch.memreg = memory_get_module_span(memregs, patch.filename);
|
||||
void *patch_base = (void *)patch.memreg.region_start;
|
||||
patch.memreg = memmaps_find_by_name(patch.filename, memmaps);
|
||||
void *patch_base = (void *)patch.memreg.start;
|
||||
|
||||
VectorSymbol patch_symbols;
|
||||
symbol_init_symbols(&patch_symbols);
|
||||
@@ -346,7 +346,7 @@ HiResult moduler_reload(VectorModuleData *modules, ModuleData *module,
|
||||
continue;
|
||||
|
||||
log_debug("Patching: %s\n", mod.name);
|
||||
MemoryRegionSpan module_memory = memory_get_module_span(memregs, mod.name);
|
||||
MemorySpan module_memory = memmaps_find_by_name(mod.name, memmaps);
|
||||
moduler_apply_module_patch(&patch_symbols, module_memory);
|
||||
|
||||
if (strncmp(mod.name, patch.filename, strlen(mod.name)) == 0) {
|
||||
|
||||
Reference in New Issue
Block a user