Skip to content

Add AROS aarch64 build target - #173

Merged
midwan merged 2 commits into
masterfrom
feat/aarch64-aros-build
Aug 26, 2026
Merged

Add AROS aarch64 build target#173
midwan merged 2 commits into
masterfrom
feat/aarch64-aros-build

Conversation

@midwan

@midwan midwan commented Aug 26, 2026

Copy link
Copy Markdown
Collaborator

Summary

DOpus5 can now be cross-compiled and packaged for AROS aarch64 (ABIv11, Raspberry Pi 3/4/5 64-bit) through the same make and release workflow as the existing AROS targets. The resulting program, library, modules, commands, and .lha archive are native AROS AArch64 ELF artifacts.

This consumes the toolchain published by BlitterStudio/aros-compiler-docker#9.

Related: BlitterStudio/aros-compiler-docker#9

Changes

  • Add make aarch64-aros to the root, Modules, and Misc/C dispatchers.
  • Use DWARF debug information for aarch64; its GCC backend does not support STABS. The override also works for direct component builds.
  • Make DEBUG=0 consistently mean a release build for logging and platform identity, producing [AROS-aarch64] / [AROSdev-aarch64] version strings.
  • Mark PROGRAM_ENTRIES as intentionally handled by custom -nostartfiles library/module startup, matching AROS's shared-library contract.
  • Report ARM64 and FPU instead of falling through to m68k CPU/FPU detection.
  • Add the published midwan/aros-compiler:aarch64-aros image to the debug/release matrix and release artifact set.
  • Document the target and current limitation: sftp=yes is unavailable because the aarch64 SDK does not yet ship libssh2.

Affected platforms

  • AmigaOS 3 (os3)
  • AmigaOS 3 / 68000 (os3-68000)
  • AmigaOS 4 (os4)
  • MorphOS (mos)
  • AROS i386 (i386-aros)
  • AROS x86_64 (x86_64-aros)
  • AROS aarch64 (aarch64-aros)

Verification

  • Published midwan/aros-compiler:aarch64-aros image:
    • Full debug build: passed; DirectoryOpus reports [AROSdev-aarch64].
    • Full optimized build and release packaging: passed; produced DOpus5_102_aarch64-aros.lha and [AROS-aarch64] binaries.
    • DirectoryOpus, dopus5.library, and xadopus.module: ELF 64-bit LSB, ARM aarch64, AROS OS ABI.
    • Root and direct Modules/Misc entrypoints propagate -g; no unsupported-STABS or unknown-architecture warning.
  • x86_64 regression build: passed with its existing -gstabs behavior.
  • x86_64 release/debug platform-token preprocessing: [AROS-x86_64] / [AROSdev-x86_64].
  • Workflow YAML parse and git diff --check: passed.
  • Structured code review (DopusCodeReview): complete, no residual findings.

Post-Deploy Monitoring & Validation

  • Window / owner: repository maintainer watches this PR's matrix and the first master/tag build after merge.
  • Healthy signals: build-aarch64-aros-debug and build-aarch64-aros-release succeed; upload contains DOpus5_*_aarch64-aros.lha; no stabs or PROGRAM_ENTRIES link error appears.
  • Failure signals: aarch64 compile/link failure, missing release artifact, or Docker image pull failure.
  • Mitigation: revert the aarch64 matrix/target commit while keeping the published compiler image available for diagnosis; no runtime data migration is involved.

Checklist

  • CI is green (or expected failures are explained).
  • The relevant platform build(s) complete without new warnings or errors.
  • New files carry the correct project licence header.
  • Compiler warnings introduced by the change have been addressed.
  • User-visible documentation is updated where needed.
  • ChangeLog has a top-of-file entry describing the change.
  • Relevant version/revision constant(s) are bumped, or the PR explains why no bump is required (new target at existing revisions; existing target versions unchanged).
  • No drive-by reformatting of unrelated code.

Wire the published aarch64-aros toolchain through make dispatch, AROS
symbol-set handling, platform identity, CPU/FPU reporting, CI artifacts,
and build documentation. Use DWARF for aarch64 debug builds and treat the
AROS SDK's DEBUG=0 definition as a release build.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b2130c6795

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread source/makefile Outdated
Move AROS debug-symbol selection into one shared make include used by every
component. Direct Program, Library, Module, and command builds now select
DWARF on aarch64 without relying on a parent dispatcher.
@midwan
midwan merged commit eb46c67 into master Aug 26, 2026
18 checks passed
@midwan
midwan deleted the feat/aarch64-aros-build branch August 26, 2026 08:13
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