aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Poulhiès <dkm@kataplop.net>2022-01-26 19:09:19 +0000
committerGitHub <noreply@github.com>2022-01-26 19:09:19 +0000
commita0f1a6bd48dadd11e5f8dedcc623be46eb18758b (patch)
treece82b7801c49b4c95fa4999691ff4afeff229a74
parent7b7c3e1a2acc5379e6afd531b7779929c71764fc (diff)
parent49e685b498eeac007276a6a3a744d427bf946390 (diff)
downloadcompiler-explorer-gh-1729.tar.gz
compiler-explorer-gh-1729.zip
Merge 49e685b498eeac007276a6a3a744d427bf946390 into 7b7c3e1a2acc5379e6afd531b7779929c71764fcgh-1729
-rw-r--r--etc/config/ada.amazon.properties41
-rw-r--r--lib/compiler-finder.js1
-rw-r--r--lib/compilers/ada.js8
3 files changed, 48 insertions, 2 deletions
diff --git a/etc/config/ada.amazon.properties b/etc/config/ada.amazon.properties
index 83ff5f255..79ab0d6f4 100644
--- a/etc/config/ada.amazon.properties
+++ b/etc/config/ada.amazon.properties
@@ -1,5 +1,5 @@
# Default settings for Ada
-compilers=&gnat
+compilers=&gnat:&gnatriscv64:&gnatarm
defaultCompiler=gnat112
demangler=/opt/compiler-explorer/gcc-11.2.0/bin/c++filt
objdumper=/opt/compiler-explorer/gcc-11.2.0/bin/objdump
@@ -29,6 +29,43 @@ compiler.gnatsnapshot.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump
compiler.gnatsnapshot.name=x86-64 gnat (trunk)
compiler.gnatsnapshot.semver=(trunk)
+################################
+# GNAT for riscv64
+group.gnatriscv64.compilers=gnatriscv64112:gnatriscv64103
+group.gnatriscv64.groupName=GNAT riscv64
+group.gnatriscv64.instructionSet=riscv
+group.gnatriscv64.baseName=riscv64 gnat
+group.gnatriscv64.isSemVer=true
+group.gnatriscv64.adarts=foo
+
+compiler.gnatriscv64103.exe=/opt/compiler-explorer/riscv64/gnat-riscv64-elf-linux64-10.3.0-2/bin/riscv64-elf-gnat
+compiler.gnatriscv64103.semver=10.3.0
+compiler.gnatriscv64103.supportsBinary=false
+compiler.gnatriscv64103.adarts=/opt/compiler-explorer/riscv64/gnat-riscv64-elf-linux64-10.3.0-2/riscv64-elf/lib/gnat/zfp-rv64imc
+
+compiler.gnatriscv64112.exe=/opt/compiler-explorer/riscv64/gnat-riscv64-elf-linux64-11.2.0-3/bin/riscv64-elf-gnat
+compiler.gnatriscv64112.semver=11.2.0
+compiler.gnatriscv64112.supportsBinary=false
+compiler.gnatriscv64112.adarts=/opt/compiler-explorer/riscv64/gnat-riscv64-elf-linux64-11.2.0-3/riscv64-elf/lib/gnat/zfp-rv64imc
+
+################################
+# GNAT for arm
+group.gnatarm.compilers=gnatarm112:gnatarm103
+group.gnatarm.groupName=GNAT arm
+group.gnatarm.instructionSet=arm32
+group.gnatarm.baseName=arm gnat
+group.gnatarm.isSemVer=true
+
+compiler.gnatarm103.exe=/opt/compiler-explorer/arm/gnat-arm-elf-linux64-10.3.0-2/bin/arm-eabi-gnat
+compiler.gnatarm103.semver=10.3.0
+compiler.gnatarm103.supportsBinary=false
+compiler.gnatarm103.adarts=/opt/compiler-explorer/arm/gnat-arm-elf-linux64-10.3.0-2/arm-eabi/lib/gnat/zfp-cortex-m4f/
+
+compiler.gnatarm112.exe=/opt/compiler-explorer/arm/gnat-arm-elf-linux64-11.2.0-3/bin/arm-eabi-gnat
+compiler.gnatarm112.semver=11.2.0
+compiler.gnatarm112.supportsBinary=false
+compiler.gnatarm112.adarts=/opt/compiler-explorer/arm/gnat-arm-elf-linux64-11.2.0-3/arm-eabi/lib/gnat/zfp-cortex-m4f/
+
#################################
#################################
# Installed libs (See c++.amazon.properties for a scheme of libs group)
@@ -42,7 +79,7 @@ tools.readelf.name=readelf (trunk)
tools.readelf.exe=/opt/compiler-explorer/gcc-snapshot/bin/readelf
tools.readelf.type=postcompilation
tools.readelf.class=readelf-tool
-tools.readelf.exclude=djggp
+tools.readelf.exclude=
tools.readelf.stdinHint=disabled
tools.ldd.name=ldd
diff --git a/lib/compiler-finder.js b/lib/compiler-finder.js
index 9729d8a2c..f9f73286d 100644
--- a/lib/compiler-finder.js
+++ b/lib/compiler-finder.js
@@ -212,6 +212,7 @@ export class CompilerFinder {
intelAsm: props('intelAsm', ''),
instructionSet: props('instructionSet', ''),
needsMulti: !!props('needsMulti', true),
+ adarts: props('adarts', ''),
supportsDemangle: !!demangler,
supportsBinary,
interpreted,
diff --git a/lib/compilers/ada.js b/lib/compilers/ada.js
index 105ee8ae1..8219f9b35 100644
--- a/lib/compilers/ada.js
+++ b/lib/compilers/ada.js
@@ -123,6 +123,14 @@ export class AdaCompiler extends BaseCompiler {
for (let i = 0; i < options.length; i++) {
if (options[i] === '-cargs') {
options.splice(i, 0, inputFileName);
+
+ // If the compiler contains a RTS, add the extra --RTS=.
+ // FIXME: should probably check the user did not use one.
+ if (this.compiler.adarts) {
+ options.splice(i, 0,
+ `--RTS=${this.compiler.adarts}`,
+ );
+ }
break;
}
}