Skip to content
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

Sparc 32 defaulting to returning undefined8 for void #6990

Open
mumbel opened this issue Oct 1, 2024 · 2 comments
Open

Sparc 32 defaulting to returning undefined8 for void #6990

mumbel opened this issue Oct 1, 2024 · 2 comments
Assignees
Labels
Feature: Processor/Sparc Status: Triage Information is being gathered

Comments

@mumbel
Copy link
Contributor

mumbel commented Oct 1, 2024

Describe the bug
Upgraded an image. Noticed uncommitted void return functions want to now return undefined8.

Using unknown logic for the low 32 or really high, but wants to use param_2 as the high 32-bits. Inserting at least a param_1 and param_2 into the prototype even when it's zero arguments.

Previous ghidra versions were also broken though sometimes, converting void into undefined4, returning param_1 (and adding param_1 as an argument even when not present)

Environment (please complete the following information):

  • OS: win10
  • Java Version: 21.0.4
  • Ghidra Version: 11.2
  • Ghidra Origin: official GitHub distro
@mumbel
Copy link
Contributor Author

mumbel commented Oct 1, 2024

No, nvmd. It's def breaking lots of functions, not just void return. It doesn't pick up the return 4-byte value and uses the previous o0 value

@emteere
Copy link
Contributor

emteere commented Oct 2, 2024

Are these assigned return and param types, or is the decompiler recovering the types on the fly?
I'm assuming you mean the decompiler is computing them on the fly and you haven't committed the param/return from the decompiler or assigned the types manually.

64 or 32 bit sparc?

Do you have any example functions you could share? Either bytes or copy/paste of listing?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature: Processor/Sparc Status: Triage Information is being gathered
Projects
None yet
Development

No branches or pull requests

3 participants