Skip to content

[Nanvix] Add x86_64 toolchain support - #24

Merged
ppenna merged 1 commit into
nanvix/v22.1.8from
feature/nanvix-x86_64
Aug 1, 2026
Merged

[Nanvix] Add x86_64 toolchain support#24
ppenna merged 1 commit into
nanvix/v22.1.8from
feature/nanvix-x86_64

Conversation

@ppenna

@ppenna ppenna commented Jul 31, 2026

Copy link
Copy Markdown

Summary

  • add x86_64-nanvix target selection, architecture-matched sysroot staging, runtime source fallback, and ELF-class validation while preserving the i686 default
  • implement the x86_64 Clang driver ABI and linker behavior, including no-red-zone defaults, ELF64 relocation handling, and installed C++ runtime discovery
  • add driver/preprocessor coverage, dual-architecture CI and release jobs, smoke coverage, and port documentation

Testing

  • build/bin/llvm-lit -sv clang/test/Driver/nanvix.c clang/test/Preprocessor/init-nanvix.c
  • two-stage x86_64 toolchain build and install
  • ./z verify
  • ./z test
  • bash -n ./z
  • shellcheck -S warning ./z
  • workflow YAML parsing
  • git diff --check

@ppenna ppenna self-assigned this Aug 1, 2026
@ppenna
ppenna force-pushed the feature/nanvix-x86_64 branch from 8a06a58 to 001a7a7 Compare August 1, 2026 15:13
Extend the Nanvix toolchain to support x86_64 alongside i686.

Disable the red zone by default for x86_64 and apply ELF64 dynamic
relocations at link time for Nanvix startup self-linking. Add the
installed runtime library path and constrain default linker-script
discovery to the sysroot.

Teach the z script to propagate the selected target through compiler
and runtime builds, sysroot staging, verification, and smoke tests.
Reject libc bundles whose ELF class does not match the target.

Build and test both architectures in CI and publish separate release
archives. Extend Clang driver and preprocessor coverage and document
the x86_64 workflow and ABI requirements.
@ppenna
ppenna force-pushed the feature/nanvix-x86_64 branch from 001a7a7 to d0e3595 Compare August 1, 2026 16:07
@ppenna
ppenna merged commit 8d9bfd5 into nanvix/v22.1.8 Aug 1, 2026
2 checks passed
@ppenna
ppenna deleted the feature/nanvix-x86_64 branch August 1, 2026 16:15
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