-
Notifications
You must be signed in to change notification settings - Fork 480
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
syscalls2 x64 and ARM64 do not support 32-bit syscalls #1525
Comments
Yes @lacraig2 , you can blame me for that. We didn't need it for what we were doing at the time, and I couldn't think of an easy way to implement it, so I put in those warnings instead. |
I have a vague recollection of thinking we'd have to support flipping back and forth between 64-bit syscalls and 32-bit syscalls in the same recording, but I may misunderstand how they really work. (I also recall reading a lot of manuals to try to figure out what was going on.) |
This would be a nice feature to have. |
I'm interested in handling any syscall that is valid for the target architecture in question in any order they are presented. On a 64-bit guest that means handling the backwards compatible 32-bit versions. The prototypical case is actually MIPS64 which handles 3 separate ABIs by switching on the syscall number. It looks like ARM64 and x86_64 both overlap with their 32-bit syscall numbers so that won't work here, but we'd need something that basically carried the ABI type with the syscall request and dispatched the proper enter/return type. |
This seems to have been a deliberate choice. I'd like to know if anyone has strong feelings about it.
If not, I'd propose we add support for it.
If people do care about it I think it'd be fine to add an argument to syscalls2 for one functionality or the other.
@LauraLMann it looks like git blame has you adding this so I want to make sure to get your input.
panda/panda/plugins/syscalls2/syscalls2.cpp
Lines 1044 to 1059 in 1b4c51b
The text was updated successfully, but these errors were encountered: