DynamoRIO / DynamoRIO/drmemory
Make it easier for client to generate syscall files for drsyscall
- Dominant language
- C
- Stars
- 2.7k
- Forks
- 290
- PR merge metrics
- No merged PRs in 30d
Description
#1848 added auto-generation of syscall number files to Dr. Memory. But since it requires libraries that do not work well in clients, it has to be done from a frontend. But since drsyscall's initialization to figure out whether the current kernel needs auto-generation does not work from standalone mode (it uses module_data_t for ntdll to check syscall numbers, for one thing), Dr. Memory launches the app and if the client exits with a certain exit code, the frontend generates a syscall file and re-launches. We then copied this approach for drstrace and drltrace.
This is not very user-friendly. Consider #2273 where for our own tests it is a pain to operate on recent Win10 machines. This issue covers coming up with a better solution. One simple step would be to get the drsyscall check for whether to generate to work in standalone mode and then provide a version of drrun with it baked in? We should at least share generate_sysnum_file() as a drsyscall library routine.
Contributor guide
Assessment
This issue has not been assessed yet.