-
Notifications
You must be signed in to change notification settings - Fork 570
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
AArchXX clean calls handle far too few use cases, blocking tool development #2210
Comments
The implementation should efficiently handle any (reasonable) number of arguments that are immediate integers or full-size registers. Test cases are added in cleancallparams.dll.c. Fixes #2210
This shouldn't have been closed as handling memory operands as arguments is not yet finished. |
(Why did it get closed? A bug in GitHub?) |
Memory operands will need a somewhat different approach as there will be cases (even if they occur very rarely in practice) in which it is necessary to spill and restore registers during the marshalling: imagine (31 * 31) arguments of the form [Xn, Xm], for example. We should start by specifying exactly which types of memory operands should be accepted. |
Your commit message closed it by saying "Fixes #2210" |
It seems fine to disallow hard-to-handle memory operands if they're unlikely to be used much by clients. |
Really? I can't see those words on this page: e06883c |
The AArchXX implementation of insert_parameter_preparation() is missing some key functionality:
This is a big enough missing port feature to call for a separate issue. This is blocking tool development on AArchXX, even simple samples: #2174
Xref original issues #1551, #1569
The text was updated successfully, but these errors were encountered: