Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use trampolines for all libcalls in engine-universal and engine-dylib #2748

Merged
merged 1 commit into from Jan 20, 2022

Commits on Jan 20, 2022

  1. Use trampolines for all libcalls in engine-universal and engine-dylib

    In both of these engines, the compiled code may be loaded in memory far
    from the Wasmer runtime which means that libcalls may not be reachable
    through the normal relocation types. Instead a trampoline is needed to
    allow reaching any address in the 64-bit address space.
    
    In the case of engine-dylib, this is even worse since the symbols are
    not exported by the executable without some special linker flags. The
    solution here is to manually patch in the addresses at load time into
    a data table of function pointers.
    Amanieu committed Jan 20, 2022
    Copy the full SHA
    ffb9cd3 View commit details
    Browse the repository at this point in the history