You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Mar 24, 2022. It is now read-only.
Currently, lucet-runtime uses dlopen and dlsym in the DlModule struct to look up symbols in the lucetc-generated object file.
In order for static linking to work, we need to use lucet-module-data to access all aspects of a compiled module. This includes mapping export function names (as strings) to code pointers.
lucet-module-data will have to include a serialization of code pointers. Serde doesn't support this, so we'll have to serialize it directly with faerie and deserialize it with hand-written unsafe rust.
Hopefully, this same underlying representation will be usable by MockModule, DlModule, and StaticModule, so that most of the difficult code lives in the Module trait, and the three different representations are as simple as possible.
Currently, lucet-runtime uses
dlopen
anddlsym
in theDlModule
struct to look up symbols in the lucetc-generated object file.In order for static linking to work, we need to use lucet-module-data to access all aspects of a compiled module. This includes mapping export function names (as strings) to code pointers.
lucet-module-data will have to include a serialization of code pointers. Serde doesn't support this, so we'll have to serialize it directly with faerie and deserialize it with hand-written unsafe rust.
Hopefully, this same underlying representation will be usable by
MockModule
,DlModule
, andStaticModule
, so that most of the difficult code lives in the Module trait, and the three different representations are as simple as possible.Depends on #20
The text was updated successfully, but these errors were encountered: