Skip to content

Cannot relocate large libraries #78

@JJTech0130

Description

@JJTech0130

Large libraries cannot be relocated, because load_base + value_orig overflows a 4 byte integer. Not sure what the solution would be.
Here's the culprit library:
libCoreADI.so.zip
and the backtrace:

Exception has occurred: OverflowError
int too big to convert
  File "/workspaces/test/AndroidNativeEmu/src/androidemu/internal/modules.py", line 197, in load_module
    self.emu.uc.mem_write(rel_addr, value.to_bytes(4, byteorder='little'))
  File "/workspaces/test/AndroidNativeEmu/src/androidemu/emulator.py", line 141, in load_library
    libmod = self.modules.load_module(filename)
  File "/workspaces/test/test.py", line 26, in <module>
    adi_core = emulator.load_library(f"{library_path}/libCoreADI.so", do_init=False)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions