Internships/ProjectIdeas/NativeLibraryCalls: Difference between revisions

From QEMU
(Created page with "=== 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-u...")
 
 
Line 9: Line 9:


'''Details:'''
'''Details:'''
* Project size: 350 hours
* Skill level: intermediate with a good understanding of how linkers link to library calls
* Skill level: intermediate with a good understanding of how linkers link to library calls
* Language: C
* Language: C
* Mentor: Alex Bennée (alex.bennee@linaro.org)
* Mentor: Alex Bennée (alex.bennee@linaro.org)
* Suggested by: Alex Bennée
* Suggested by: Alex Bennée

Latest revision as of 13:33, 9 February 2023

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:

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