diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/module.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/module.c b/src/module.c index 2c5cec1b01..b9801558dc 100644 --- a/src/module.c +++ b/src/module.c @@ -823,6 +823,15 @@ static struct rt_module* _load_relocated_object(const char *name, (Elf32_Addr)data_addr + sym->st_value); } } + else if (ELF_ST_TYPE(sym->st_info) == STT_FUNC) + { + /* relocate function */ + rt_module_arm_relocate(module, rel, + (Elf32_Addr)((rt_uint8_t *) + module->module_space + - module_addr + + sym->st_value)); + } } else if (ELF_ST_TYPE(sym->st_info) == STT_FUNC) { |
