add aarch64 compilers (#8187)

Fixes #5967
This commit is contained in:
Patrick Quist
2025-10-11 18:06:46 +02:00
committed by GitHub
parent f3571b9bc4
commit 668bdb8ab1
2 changed files with 103 additions and 6 deletions

View File

@@ -81,7 +81,9 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
- **S3 Storage Integration**: Compilation results include an `s3Key` property containing the cache key hash for S3 storage reference. Large results (>31KiB) can be stored in S3 and referenced by this key. The s3Key is removed from API responses before sending to users.
- **Metrics & Statistics**: SQS workers track separate Prometheus metrics (`ce_sqs_compilations_total`, `ce_sqs_executions_total`, `ce_sqs_cmake_compilations_total`, `ce_sqs_cmake_executions_total`) and record compilation statistics via `statsNoter.noteCompilation` for Grafana monitoring, mirroring the regular API route behavior.
## CE Properties Wizard
## Configuration Management
### CE Properties Wizard
- **Location**: `/etc/scripts/ce-properties-wizard/` - Interactive tool for adding compilers to local CE installations
- **Usage**: Run via `./run.sh` (Linux/macOS) or `.\run.ps1` (Windows) with optional compiler path and flags
- **Auto-Detection**: Automatically detects compiler type, language, version, and configuration from executable paths
@@ -94,6 +96,10 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
- **Validation**: Integrates with `propscheck.py` and discovery validation to ensure configurations work
- **Safe Operations**: Creates backups and preserves existing configurations, only adding new content
### Properties Validation
- **Propscheck Script**: Use `python3 etc/scripts/util/propscheck.py --config-dir etc/config --check-local` to validate all property files
- Run after modifying any `.properties` files to check for duplicates, misconfigurations, and other issues
## Testing Guidelines
- Use Vitest for unit tests (compatible with Jest syntax)
- Tests are in the `/test` directory, typically named like the source files they test

View File

@@ -1,4 +1,4 @@
compilers=&nasm:&gnuas:&llvmas:&ptxas:&gnuasarm:&gnuasarm64:&gnuasriscv:&beebasm
compilers=&nasm:&gnuas:&llvmas:&llvmasarm64:&ptxas:&gnuasarm:&gnuasarm64:&gnuasriscv:&beebasm
compilerType=assembly
objdumper=/opt/compiler-explorer/gcc-12.1.0/bin/objdump
supportsBinary=true
@@ -87,7 +87,7 @@ compiler.gnuasarm1510.name=ARM gcc 15.1 (linux)
compiler.gnuasarm1510.semver=ARM binutils 2.45
group.gnuasarm64.compilers=gnuasarm64g630:gnuasarm64g820:gnuasarm64g930:gnuasarm64g1020:gnuasarm64g1320:gnuasarm64g1510
group.gnuasarm64.compilers=gnuasarm64g494:gnuasarm64g630:gnuasarm64g640:gnuasarm64g750:gnuasarm64g820:gnuasarm64g850:gnuasarm64g930:gnuasarm64g940:gnuasarm64g1020:gnuasarm64g1030:gnuasarm64g1100:gnuasarm64g1130:gnuasarm64g1210:gnuasarm64g1230:gnuasarm64g1310:gnuasarm64g1330:gnuasarm64g1410:gnuasarm64g1430:gnuasarm64g1510:gnuasarm64gtrunk
group.gnuasarm64.versionFlag=--version
group.gnuasarm64.options=-g
group.gnuasarm64.isSemVer=true
@@ -96,24 +96,67 @@ group.gnuasarm64.supportsExecute=false
group.gnuasarm64.objdumper=/opt/compiler-explorer/arm64/gcc-13.2.0/aarch64-unknown-linux-gnu/aarch64-unknown-linux-gnu/bin/objdump
group.gnuasarm64.instructionSet=aarch64
compiler.gnuasarm64g494.exe=/opt/compiler-explorer/arm64/gcc-4.9.4/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-as
compiler.gnuasarm64g494.name=AArch64 binutils 2.24
compiler.gnuasarm64g494.semver=2.24
compiler.gnuasarm64g630.exe=/opt/compiler-explorer/arm64/gcc-6.3.0/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-as
compiler.gnuasarm64g630.name=AArch64 binutils 2.28
compiler.gnuasarm64g630.semver=2.28
compiler.gnuasarm64g640.exe=/opt/compiler-explorer/arm64/gcc-6.4.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-as
compiler.gnuasarm64g640.name=AArch64 binutils 2.29
compiler.gnuasarm64g640.semver=2.29
compiler.gnuasarm64g750.exe=/opt/compiler-explorer/arm64/gcc-7.5.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-as
compiler.gnuasarm64g750.name=AArch64 binutils 2.30
compiler.gnuasarm64g750.semver=2.30
compiler.gnuasarm64g820.exe=/opt/compiler-explorer/arm64/gcc-8.2.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-as
compiler.gnuasarm64g820.name=AArch64 binutils 2.31.1
compiler.gnuasarm64g820.semver=2.31.1
compiler.gnuasarm64g850.exe=/opt/compiler-explorer/arm64/gcc-8.5.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-as
compiler.gnuasarm64g850.name=AArch64 binutils 2.32
compiler.gnuasarm64g850.semver=2.32
compiler.gnuasarm64g930.exe=/opt/compiler-explorer/arm64/gcc-9.3.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-as
compiler.gnuasarm64g930.name=AArch64 binutils 2.33.1
compiler.gnuasarm64g930.semver=2.33.1
compiler.gnuasarm64g940.exe=/opt/compiler-explorer/arm64/gcc-9.4.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-as
compiler.gnuasarm64g940.name=AArch64 binutils 2.34
compiler.gnuasarm64g940.semver=2.34
compiler.gnuasarm64g1020.exe=/opt/compiler-explorer/arm64/gcc-10.2.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-as
compiler.gnuasarm64g1020.name=AArch64 binutils 2.35.1
compiler.gnuasarm64g1020.semver=2.35.1
compiler.gnuasarm64g1320.exe=/opt/compiler-explorer/arm64/gcc-13.2.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-as
compiler.gnuasarm64g1320.name=AArch64 binutils 2.38
compiler.gnuasarm64g1320.semver=2.38
compiler.gnuasarm64g1030.exe=/opt/compiler-explorer/arm64/gcc-10.3.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-as
compiler.gnuasarm64g1030.name=AArch64 binutils 2.35.2
compiler.gnuasarm64g1030.semver=2.35.2
compiler.gnuasarm64g1100.exe=/opt/compiler-explorer/arm64/gcc-11.1.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-as
compiler.gnuasarm64g1100.name=AArch64 binutils 2.36.1
compiler.gnuasarm64g1100.semver=2.36.1
compiler.gnuasarm64g1130.exe=/opt/compiler-explorer/arm64/gcc-11.3.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-as
compiler.gnuasarm64g1130.name=AArch64 binutils 2.37
compiler.gnuasarm64g1130.semver=2.37
compiler.gnuasarm64g1210.exe=/opt/compiler-explorer/arm64/gcc-12.1.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-as
compiler.gnuasarm64g1210.name=AArch64 binutils 2.38
compiler.gnuasarm64g1210.semver=2.38
compiler.gnuasarm64g1230.exe=/opt/compiler-explorer/arm64/gcc-12.3.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-as
compiler.gnuasarm64g1230.name=AArch64 binutils 2.39
compiler.gnuasarm64g1230.semver=2.39
compiler.gnuasarm64g1310.exe=/opt/compiler-explorer/arm64/gcc-13.1.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-as
compiler.gnuasarm64g1310.name=AArch64 binutils 2.40
compiler.gnuasarm64g1310.semver=2.40
compiler.gnuasarm64g1330.exe=/opt/compiler-explorer/arm64/gcc-13.3.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-as
compiler.gnuasarm64g1330.name=AArch64 binutils 2.41
compiler.gnuasarm64g1330.semver=2.41
compiler.gnuasarm64g1410.exe=/opt/compiler-explorer/arm64/gcc-14.1.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-as
compiler.gnuasarm64g1410.name=AArch64 binutils 2.42
compiler.gnuasarm64g1410.semver=2.42
compiler.gnuasarm64g1430.exe=/opt/compiler-explorer/arm64/gcc-14.3.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-as
compiler.gnuasarm64g1430.name=AArch64 binutils 2.43
compiler.gnuasarm64g1430.semver=2.43
compiler.gnuasarm64g1510.exe=/opt/compiler-explorer/arm64/gcc-15.1.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-as
compiler.gnuasarm64g1510.name=AArch64 binutils 2.45
compiler.gnuasarm64g1510.semver=2.45
compiler.gnuasarm64gtrunk.exe=/opt/compiler-explorer/arm64/gcc-trunk/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-as
compiler.gnuasarm64gtrunk.name=AArch64 binutils (trunk)
compiler.gnuasarm64gtrunk.semver=(trunk)
compiler.gnuasarm64gtrunk.isNightly=true
# GNU as for RISC-V
group.gnuasriscv.compilers=&gnuasriscv64:&gnuasriscv32
@@ -283,6 +326,54 @@ compiler.llvmas_assertions_trunk.objdumper=/opt/compiler-explorer/gcc-snapshot/b
compiler.llvmas_assertions_trunk.semver=(assertions trunk)
compiler.llvmas_assertions_trunk.isNightly=true
group.llvmasarm64.compilers=llvmasarm64_900:llvmasarm64_1000:llvmasarm64_1001:llvmasarm64_1100:llvmasarm64_1101:llvmasarm64_1200:llvmasarm64_1201:llvmasarm64_1300:llvmasarm64_1400:llvmasarm64_1500:llvmasarm64_1600:llvmasarm64_1701:llvmasarm64_1810:llvmasarm64_1910:llvmasarm64_2010:llvmasarm64_2110:llvmasarm64_trunk:llvmasarm64_assertions_trunk
group.llvmasarm64.versionFlag=--version
group.llvmasarm64.options=-triple=aarch64-linux-gnu -filetype=obj -o example.o
group.llvmasarm64.versionRe=LLVM version .*
group.llvmasarm64.isSemVer=true
group.llvmasarm64.baseName=AArch64 clang
group.llvmasarm64.instructionSet=aarch64
compiler.llvmasarm64_900.exe=/opt/compiler-explorer/clang-9.0.0/bin/llvm-mc
compiler.llvmasarm64_900.semver=9.0.0
compiler.llvmasarm64_1000.exe=/opt/compiler-explorer/clang-10.0.0/bin/llvm-mc
compiler.llvmasarm64_1000.semver=10.0.0
compiler.llvmasarm64_1001.exe=/opt/compiler-explorer/clang-10.0.1/bin/llvm-mc
compiler.llvmasarm64_1001.semver=10.0.1
compiler.llvmasarm64_1100.exe=/opt/compiler-explorer/clang-11.0.0/bin/llvm-mc
compiler.llvmasarm64_1100.semver=11.0.0
compiler.llvmasarm64_1101.exe=/opt/compiler-explorer/clang-11.0.1/bin/llvm-mc
compiler.llvmasarm64_1101.semver=11.0.1
compiler.llvmasarm64_1200.exe=/opt/compiler-explorer/clang-12.0.0/bin/llvm-mc
compiler.llvmasarm64_1200.semver=12.0.0
compiler.llvmasarm64_1201.exe=/opt/compiler-explorer/clang-12.0.1/bin/llvm-mc
compiler.llvmasarm64_1201.semver=12.0.1
compiler.llvmasarm64_1300.exe=/opt/compiler-explorer/clang-13.0.0/bin/llvm-mc
compiler.llvmasarm64_1300.semver=13.0.0
compiler.llvmasarm64_1400.exe=/opt/compiler-explorer/clang-14.0.0/bin/llvm-mc
compiler.llvmasarm64_1400.semver=14.0.0
compiler.llvmasarm64_1500.exe=/opt/compiler-explorer/clang-15.0.0/bin/llvm-mc
compiler.llvmasarm64_1500.semver=15.0.0
compiler.llvmasarm64_1600.exe=/opt/compiler-explorer/clang-16.0.0/bin/llvm-mc
compiler.llvmasarm64_1600.semver=16.0.0
compiler.llvmasarm64_1701.exe=/opt/compiler-explorer/clang-17.0.1/bin/llvm-mc
compiler.llvmasarm64_1701.semver=17.0.1
compiler.llvmasarm64_1810.exe=/opt/compiler-explorer/clang-18.1.0/bin/llvm-mc
compiler.llvmasarm64_1810.semver=18.1.0
compiler.llvmasarm64_1910.exe=/opt/compiler-explorer/clang-19.1.0/bin/llvm-mc
compiler.llvmasarm64_1910.semver=19.1.0
compiler.llvmasarm64_2010.exe=/opt/compiler-explorer/clang-20.1.0/bin/llvm-mc
compiler.llvmasarm64_2010.semver=20.1.0
compiler.llvmasarm64_2110.exe=/opt/compiler-explorer/clang-21.1.0/bin/llvm-mc
compiler.llvmasarm64_2110.semver=21.1.0
compiler.llvmasarm64_trunk.exe=/opt/compiler-explorer/clang-trunk/bin/llvm-mc
compiler.llvmasarm64_trunk.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump
compiler.llvmasarm64_trunk.semver=(trunk)
compiler.llvmasarm64_trunk.isNightly=true
compiler.llvmasarm64_assertions_trunk.exe=/opt/compiler-explorer/clang-assertions-trunk/bin/llvm-mc
compiler.llvmasarm64_assertions_trunk.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump
compiler.llvmasarm64_assertions_trunk.semver=(assertions trunk)
compiler.llvmasarm64_assertions_trunk.isNightly=true
group.ptxas.compilers=ptxasnvcc128u1:ptxasnvcc126u2:ptxasnvcc126u1:ptxasnvcc125u1:ptxasnvcc124u1:ptxasnvcc123u1:ptxasnvcc122u1:ptxasnvcc121:ptxasnvcc120u1:ptxasnvcc120:ptxasnvcc118:ptxasnvcc117u1:ptxasnvcc117:ptxasnvcc116u2:ptxasnvcc116u1:ptxasnvcc115:ptxasnvcc114u1:ptxasnvcc114:ptxasnvcc113u1:ptxasnvcc113:ptxasnvcc112u2:ptxasnvcc112u1:ptxasnvcc112:ptxasnvcc111u1:ptxasnvcc111:ptxasnvcc11u1:ptxasnvcc11:ptxasnvcc102:ptxasnvcc101u2:ptxasnvcc101u1:ptxasnvcc101:ptxasnvcc100:ptxasnvcc92:ptxasnvcc91
group.ptxas.baseName=PTX Assembler
group.ptxas.compilerType=ptxas