-
Notifications
You must be signed in to change notification settings - Fork 14
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
Design decision for multiple ABI support #5
Comments
I'd definitely be open to adding multi-arch support, although I'll need to have a sit down and think about the design first (It's been a while since I've looked at this project) I think you're right about the runtime arch detection, and if I remember correctly there's already some code present that checks if the target process is 64-bit. |
Yeah, I'm not sure that After experimenting with my prototype a bit longer, it has become clear to me that TARDIS needs to be recompiled as 32 bit to work with 32 bit binaries (there are ways around doing so, but they aren't worth it). Syscalls have different numbers on the different platforms (including x86 vs x86_64) |
Just to get the record straight, the original version of is64bit worked as intended. The reason I thought otherwise is when running tardis compiled as 64-bit on a 32-bit program, I called |
Here's a function I was messing around with that would make supporting multiple ABIs easier.
Then, I would replace all other instances of
read_block
in tardis.c with this newread_syscall_arg
(and similar forwrite_block
). For example,before_nanosleep
would be rewritten asP.S. I think I would need to use runtime ABI detection, not macros, because x86_64 CPUs can run 32-bit x86 binaries.
The text was updated successfully, but these errors were encountered: