-
-
Notifications
You must be signed in to change notification settings - Fork 728
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
[Bug] Changes made in commit #81ee52d mean that register order is no longer maintained in context
#986
Closed
1 of 9 tasks
Comments
Great catch and root cause investigation! The fix will come soon! |
This was referenced Aug 15, 2023
fixed and will be merge today (I hope) |
4 tasks
Reopening, the issue will be closed automatically when the PR is merged |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
GEF+GDB version
Operating System
Ubuntu, Debian
Describe the issue you encountered
Previously list comprehensions were used for filtering the registers requested in
DetailRegistersCommand(GenericCommand)
(around line 6733). This got changed in commit 81ee52d to useset
instead.Because
set
is unordered, changing the way the register filtering is done results in the registers printing in an unexpected order.Previously you'd get
$rax
,$rbx
,$rcx
in order:Now you get:
It's possible that the new code will always return the registers in the same order, but I don't believe that there's any guarantee of this due to
set
being specifically unordered and the order they are returned in does not feel logical to me whilst looking for the contents of a specific register (i.e. I expect $rax to be the first result, I don't expect to have to hunt for it). As such, I believe that this should be reverted so that the behaviour returns results in an expected and consistent order.Do you read the docs and look at previously closed issues/PRs for similar cases?
Yes
Architecture impacted
Describe your issue. Without a proper reproduction step-by-step, your issue will be ignored.
Run GDB, hit a breakpoint or use
starti
.Older version show registers in expected order, new version doesn't.
Minimalist test case
N/A - Any binary should do it
Additional context?
N/A
The text was updated successfully, but these errors were encountered: