Internships/ProjectIdeas/NativeLibraryCalls
Native Library Calls
Summary: Implement a native bypass for when a program running under linux-user calls a well known library call
When running under linux-user we translate the whole program which includes all the library calls. A number of well understood library functions are usually fairly heavily optimised for the processor they run on. For example the semantics of memcpy are very well understood. We could consider instead of translating those library functions call to native versions of the code. As the runtime of library functions is generally biased to a few core functions only a small subset would need to be hooked to be useful (mem*, str*).
Links:
- This technique is key to Box64: https://github.com/ptitSeb/box64
Details:
- Project size: 350 hours
- Skill level: intermediate with a good understanding of how linkers link to library calls
- Language: C
- Mentor: Alex Bennée (alex.bennee@linaro.org)
- Suggested by: Alex Bennée