-
Notifications
You must be signed in to change notification settings - Fork 944
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
Try to fix issue #633 #672
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Currently there is not a good implementation/design for `storeOp` methods, that store LLVM Values into other operands. As there may occur errors f.e. on the side of capstone, we have to make sure that operands are converted correctly. This commit brings only temprorary solution for arm64 as better refactorization of store operands method is required. This hovewer affects all architectures and design shuld be better rethought.
Currently there is not a good implementation/design for `storeOp` methods, that store LLVM Values into other operands. As there may occur errors f.e. on the side of capstone, we have to make sure that operands are converted correctly. This commit brings only temprorary solution for arm as better refactorization of store operands method is required. This hovewer affects all architectures and design shuld be better rethought.
I guess let's run TeamCity. |
Well, I guess you are not in that user list that can trigger the TC builds :-) |
Run TeamCity builds. |
Ok, @s3rvac says you are in the list, but the magic regex is |
PeterMatula
requested changes
Oct 22, 2019
The commit 825efca brought unwanted change of ranaming `loadOp` method from `loadOpUnary` to `loadOpsUnary` which is not consistent with naming of other methods. This commit brings fix for this change and therefore the old name of the method.
Provides marking of the method `checkTypeConvertion` as internal by giving it underscore prefix (`_checkTypeConvertion`). This will indicate that this method is ment only to be used as a specific helper method and not to be used with other methods. Also provides documentation for this method as the name of the method may suggest different functionality.
So I'll try to run TeamCity tests correctly now. |
PeterMatula
approved these changes
Oct 23, 2019
@xkubov, two more things:
|
Sometimes, Keystone refuses to assembly the given instruction. Then, we can not translate and emulate it. This adds a possibility to directly emulate binary data - skipping the assembly process.
I wanted to finish this, so I did both of those things. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Redesigns
loadOp
methods that are responsible for the loading of operands of instructions.Before this PR it was possible to load operands of incompatible type for the instruction which did
result in faulty decompilation. This PR tries to bring changes that will ensure that operands are
converted with a proper method before usage.