Skip to content

AMD64: Set fp_ret_offset#349

Merged
mborgerson merged 1 commit into
angr:masterfrom
mborgerson:feat/fp
Jun 2, 2026
Merged

AMD64: Set fp_ret_offset#349
mborgerson merged 1 commit into
angr:masterfrom
mborgerson:feat/fp

Conversation

@mborgerson
Copy link
Copy Markdown
Member

AMD64 SysV returns float/double in xmm0 (offset 224). Without this, the decompiler's AIL converter never created fp_ret_expr for call statements, so FP return values from calls were lost.

AMD64 SysV returns float/double in xmm0 (offset 224). Without this,
the decompiler's AIL converter never created fp_ret_expr for call
statements, so FP return values from calls were lost.
@rhelmot
Copy link
Copy Markdown
Member

rhelmot commented Jun 2, 2026

This is probably good to merge as-is, but the calling convention stuff in archinfo is a bit of a hackjob since it should really be handled on a per-calling-convention basis.

@mborgerson
Copy link
Copy Markdown
Member Author

should really be handled on a per-calling-convention basis

Agree

@ltfish
Copy link
Copy Markdown
Member

ltfish commented Jun 2, 2026

should really be handled on a per-calling-convention basis

It requires a much bigger refactor especially in the static analysis realm.

@twizmwazin
Copy link
Copy Markdown
Member

It requires a much bigger refactor especially in the static analysis realm.

Can we replace the use of archinfo constants with the equivalent value from the default calling convention?

@mborgerson
Copy link
Copy Markdown
Member Author

I don't plan to address the architectural issues or refactoring in this PR, we'll handle it in a follow up

@ltfish
Copy link
Copy Markdown
Member

ltfish commented Jun 2, 2026

Can we just merge this PR? I think it's good enough as it is.

@mborgerson mborgerson marked this pull request as ready for review June 2, 2026 21:27
@mborgerson mborgerson merged commit 83cc58b into angr:master Jun 2, 2026
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants