Skip to content

[0.4.x] libvisual: Recognize PowerPC64 hosts - #434

Open
fmolara wants to merge 1 commit into
Libvisual:0.4.xfrom
fmolara:fix-powerpc64-detection
Open

fmolara wants to merge 1 commit into
Libvisual:0.4.xfrom
fmolara:fix-powerpc64-detection

Conversation

@fmolara

@fmolara fmolara commented Nov 7, 2026

Copy link
Copy Markdown

Summary

Recognize the canonical powerpc64 and powerpc64le CPU names in the existing PowerPC configure case.

At present these hosts fall through to the unknown-architecture case, so VISUAL_ARCH_POWERPC is not defined and the existing PowerPC CPU/AltiVec detection code is not enabled. This complements the Linux AT_HWCAP implementation from #268; it does not introduce a new probe or change the SDL code.

The source change is limited to libvisual/configure.ac.

Validation

On the current upstream 0.4.x base (12bdb54397dd), with this change:

  • Native amd64 build of the core library, SDL examples and lv-tool, plus an initialization/quit smoke test.
  • Configure-only checks for powerpc-linux-gnu, powerpc64-linux-gnu, powerpc64le-linux-gnu, ppc64-linux-gnu and ppc64le-linux-gnu all define VISUAL_ARCH_POWERPC. These name-mapping checks use native compilers; they are not PowerPC cross-builds.

Earlier before/after testing of the same functional change against Debian's 0.4.2 source used GCC 16.2.0 and QEMU user-mode 11.1.3:

  • The original libraries fail the CPU-identification assertion on both PowerPC64 targets; the patched libraries pass.
  • Patched ppc64: 970 reports AltiVec present and POWER5+ reports it absent.
  • Patched ppc64le: POWER8 reports AltiVec present.
  • 32-bit controls: 750/G3 reports AltiVec absent and 7400 reports it present.
  • In each patched run, libvisual's result agrees with getauxval(AT_HWCAP). Defined exported-symbol lists are unchanged for both 64-bit targets.

Those QEMU tests were performed on the Debian source, not rerun on the current upstream checkout, and are not real-hardware validation.

Local build caveat: a stock out-of-tree build failed in the generated PO Makefile (/config.status), and an out-of-tree retry also exposed the examples' missing generated-header include path. The native verification above used an in-tree build with explicit make top_builddir="$PWD". No build-system workaround is included in this PR.

Match the canonical powerpc64 and powerpc64le CPU names so that VISUAL_ARCH_POWERPC enables the existing CPU and Linux AT_HWCAP AltiVec detection code. Keep the existing 32-bit PowerPC names.
@fmolara

fmolara commented Nov 7, 2026

Copy link
Copy Markdown
Author

For context, the translation check fails before comparing catalogs: configure receives a literal backslash. The same failure predates this PR (1 November run). Both failing runs use Ubuntu 26.04; the 13 October run passed on Ubuntu 24.04. I am keeping this PR limited to PowerPC64 recognition.

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.

1 participant