-
-
Notifications
You must be signed in to change notification settings - Fork 361
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
Switch to capstone 5.0 #3653
Switch to capstone 5.0 #3653
Conversation
This comment was marked as resolved.
This comment was marked as resolved.
no, is likely missing some enums. |
This comment was marked as resolved.
This comment was marked as resolved.
Co-authored-by: wargio <wargio@libero.it>
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
i added some stuff, and i forgot to add the compiler fences. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only looked at the PPC part but looks good to me. Although we should probably fix those bugs you mention in CS and make a Actually no. Lets just push for v5.1
.v6
as much as possible. Please add the comments about the bugs for easier comprehension nonetheless.
I can not check it currently. But, if I recall correctly, the register was not added to the operand list of `cs_insn` if it was zero (only in v5. In v6 it is always added). But, because of the missing operand, the disponent is treated as register here and can give a valid result, right?
Please add a test case, for an instruction with a base register set to 0 and a disponent of a range like `1-PPC_REG_ENDING`.
14 Jul 2023 05:12:17 Giovanni ***@***.***>:
…
***@***.**** commented on this pull request.
----------------------------------------
In librz/analysis/arch/ppc/ppc_il_ops.c[#3653 (comment)]:
> @@ -255,13 +256,13 @@ static RzILOpEffect *store_op(RZ_BORROW csh handle, RZ_BORROW cs_insn *insn, con
case PPC_INS_STWCIX:
case PPC_INS_STDCIX:
#endif
- base = VARG(rA);
+ base = rA ? VARG(rA) : NULL;
tbh i don't know if it is a bug or else.
From the disassembly prospective, i disassembled these using objdump and it reported the same instruction.
but essentially instead of a register you can have *zero* as base (thus rA is NULL)
—
Reply to this email directly, view it on GitHub[#3653 (comment)], or unsubscribe[https://github.com/notifications/unsubscribe-auth/AK5ET6EYLLEOBERLM2FWCO3XQC2I7ANCNFSM6AAAAAA2FNVK4A].
You are receiving this because you were mentioned.[Tracking image][https://github.com/notifications/beacon/AK5ET6C5JAMYZCV36W5G5GLXQC2I7A5CNFSM6AAAAAA2FNVK4CWGG33NNVSW45C7OR4XAZNRKB2WY3CSMVYXKZLTORJGK5TJMV32UY3PNVWWK3TUL5UWJTS3FLFQA.gif]
|
According to the ISA, when |
This is a test for one of those |
Sorry, I would test it myself, but do not have access to my laptop currently.
If the immediate is 0 it would return NULL (because `0 = REG_INVALID` so no reg name). Could you please add a test case like `
lwa r0, 0(4)`
.
14 Jul 2023 10:10:11 Giovanni ***@***.***>:
…
This is a test for one of those *NULL* cases.
*e8000002* ppc32le *lwa r0, 0(0)*
—
Reply to this email directly, view it on GitHub[#3653 (comment)], or unsubscribe[https://github.com/notifications/unsubscribe-auth/AK5ET6EAYP2CSWGHC6K63GTXQD5GBANCNFSM6AAAAAA2FNVK4A].
You are receiving this because you were mentioned.[Tracking image][https://github.com/notifications/beacon/AK5ET6HSW6C7LLS7GQAERTLXQD5GBA5CNFSM6AAAAAA2FNVK4CWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTTBPNKAG.gif]
|
https://www.ibm.com/docs/en/aix/7.1?topic=set-lwa-load-word-algebraic-instruction |
@wargio Checked it on my machine. I was confused, so ignore my comments above. But thanks for making the effort to go into it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please squash some commits so that we have cleaner history and commit marks any test as BROKEN. See my other comments too. Except that is LGTM. Some of these numerous hacks will likely be gone once auto-sync PRs are merged.
Co-authored-by: wargio <wargio@libero.it>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM once Woodpecker is fixed - it doesn't look like a caching issue. MacOS zeroes buffers on initialization, maybe it is the reason?
Opened an issue for this test here: #3658 |
DO NOT SQUASH!!!
Your checklist for this pull request
Detailed description
I have hand-verified all the instructions (encoding/decoding) using objdump