Skip to content

added all the ps and other ppc extensions, need to decide on getopt for windows stuff and resolve default architecture#5176

Closed
v1X3Q0 wants to merge 63 commits into
Vector35:devfrom
v1X3Q0:dev
Closed

added all the ps and other ppc extensions, need to decide on getopt for windows stuff and resolve default architecture#5176
v1X3Q0 wants to merge 63 commits into
Vector35:devfrom
v1X3Q0:dev

Conversation

@v1X3Q0
Copy link
Copy Markdown

@v1X3Q0 v1X3Q0 commented Mar 12, 2024

Adding the other powerpc extensions, unfortunately unix to windows differences require some external libraries.

  • Need to decide if its ok to either submodule https://github.com/v1X3Q0/getopt-for-windows.git or if we should not include windows support.
  • Default to ppc_ps for the architecture right now, need to fix it so it defaults to ppc and correctly allows selection of each architecture arbitrarily.
  • To have each architecture properly selected, may require adding platforms for each.

@galenbwill
Copy link
Copy Markdown
Contributor

Just to put it here, I've asked the author (on slack) to remove the getopt dependency, so test_asm/test_disasm won't support Windows for now.

@v1X3Q0
Copy link
Copy Markdown
Author

v1X3Q0 commented Mar 12, 2024

I'm mariomain, windows stuff has been removed. will still look into the other 2 bullets in a bit.

@galenbwill galenbwill self-assigned this Mar 12, 2024
@galenbwill galenbwill added the Arch: PowerPC Issues with the PowerPC architecture plugin label Mar 18, 2024
@plafosse plafosse added this to the Elysium milestone Mar 20, 2024
Comment thread arch/powerpc/arch_ppc.cpp Outdated
Comment on lines +2472 to +2478
BinaryViewType::RegisterArchitecture(
"ELF", /* name of the binary view type */
EM_PPC, /* id (key in m_arch map) */
BigEndian,
ppc_ps /* the architecture */
);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove this -- the arch "registry" in the view type is a map, so only the last one registered would be in effect, and we don't want ppc_ps to be the default.

Comment thread arch/powerpc/disassembler.cpp Outdated
bool PerformLocalDisassembly(const uint8_t *data, uint64_t addr, size_t &len, decomp_result* res, bool bigendian)
{
uint32_t local_op = 0;
uint32_t insword = 0;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

insword is always 0 when passed into the ppc_fcmpo/ppc_xxpermr functions

@galenbwill
Copy link
Copy Markdown
Contributor

i submitted a review because otherwise it wouldn't actually show my comments, but consider my review as still being "in progress"

@galenbwill galenbwill added the State: Blocked (Customer) Issue is blocked on waiting for a response from a customer label Apr 16, 2024
galenbwill added a commit that referenced this pull request Dec 13, 2024
galenbwill added a commit that referenced this pull request Dec 16, 2024
…t instructions, fixes/completes 64-bit instruction/register support)
@galenbwill
Copy link
Copy Markdown
Contributor

galenbwill commented Dec 16, 2024

Squashed and merged in builds >= 4.3.6580

@galenbwill galenbwill closed this Dec 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Arch: PowerPC Issues with the PowerPC architecture plugin

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants