Skip to content

ppc: build test mutators against the ppc64 register namespace - #275

Open
bbiiggppiigg wants to merge 1 commit into
masterfrom
bbiiggppiigg/ppc-testsuite
Open

ppc: build test mutators against the ppc64 register namespace#275
bbiiggppiigg wants to merge 1 commit into
masterfrom
bbiiggppiigg/ppc-testsuite

Conversation

@bbiiggppiigg

Copy link
Copy Markdown
Member

The PowerPC instruction decoder and process-control stack move entirely to the ppc64 register namespace (ppc32 is unsupported; its enum value Arch_ppc32 and its register namespace are removed). Two test sources still referenced them and no longer compile:

  • instruction/power_decode.C decoded with Arch_ppc32 and compared results against ppc32:: register ASTs. Switch both to Arch_ppc64 / ppc64:: so the expected registers match what the decoder now emits.
  • proccontrol/pc_irpc_asm.h carried an Arch_ppc32 iRPC code-generation case referencing the removed enumerator. Drop it (ppc32 is unsupported).

Depends on the Dyninst change that removes Arch_ppc32 and emits ppc64-namespace registers from the PowerPC decoder; build and run this on ppc64 together with it.

The PowerPC instruction decoder and process-control stack move entirely to the
ppc64 register namespace (ppc32 is unsupported; its enum value Arch_ppc32 and
its register namespace are removed). Two test sources still referenced them and
no longer compile:

  - instruction/power_decode.C decoded with Arch_ppc32 and compared results
    against ppc32:: register ASTs. Switch both to Arch_ppc64 / ppc64:: so the
    expected registers match what the decoder now emits.
  - proccontrol/pc_irpc_asm.h carried an Arch_ppc32 iRPC code-generation case
    referencing the removed enumerator. Drop it (ppc32 is unsupported).

Depends on the Dyninst change that removes Arch_ppc32 and emits ppc64-namespace
registers from the PowerPC decoder; build and run this on ppc64 together with it.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@bbiiggppiigg
bbiiggppiigg marked this pull request as ready for review July 24, 2026 21:31
@hainest

hainest commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

Are these changes reflected in dyninst/dyninst#2344?

@bbiiggppiigg

Copy link
Copy Markdown
Member Author

Are these changes reflected in dyninst/dyninst#2344?

No. I thought that belongs to when we drop the ppc32 support.
But I think I can do that.

@hainest

hainest commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

drop the ppc32 support.

We're dropping support for ppc32? I've looked at this, and many Linux distros dropped support within the last decade but there are some that still support little* endian 32 (e.g., RHEL 9). Big endian is ppc64 only, as far as I can tell for at least the last 8-10 year.

@bbiiggppiigg

Copy link
Copy Markdown
Member Author

drop the ppc32 support.

We're dropping support for ppc32? I've looked at this, and many Linux distros dropped support within the last decade but there are some that still support little* endian 32 (e.g., RHEL 9). Big endian is ppc64 only, as far as I can tell for at least the last 8-10 year.

I don't know if that is happening or not, but as per
dyninst/dyninst#1712
Replace use of ppc32 abi with ppc64 (will fix dyninst/dyninst#1142)
Finish removing ppc32 (hasn't been supported since dyninst/dyninst#1145)

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.

2 participants