From d3bc95f24929e9e061e2fe12f934ecd970e36d05 Mon Sep 17 00:00:00 2001 From: Martin Troiber <troi@zerorisc.com> Date: Thu, 6 Mar 2025 17:58:07 +0000 Subject: [PATCH] Use fixed architecture names in toolchain wrapper `uname -m` seems to not be available in some sandboxed environments. This error only occurred after an hour of CI tests on the main opentitan repo. --- toolchains/lowrisc_rv32imcb/BUILD.bazel | 20 +++++++++---------- .../{wrappers => wrappers_aarch64}/BUILD | 0 .../{wrappers => wrappers_aarch64}/ar | 0 .../{wrappers => wrappers_aarch64}/clang | 0 .../{wrappers => wrappers_aarch64}/cpp | 0 .../{wrappers => wrappers_aarch64}/driver.sh | 2 +- .../{wrappers => wrappers_aarch64}/gcc | 0 .../{wrappers => wrappers_aarch64}/gcov | 0 .../{wrappers => wrappers_aarch64}/ld | 0 .../{wrappers => wrappers_aarch64}/nm | 0 .../{wrappers => wrappers_aarch64}/objcopy | 0 .../{wrappers => wrappers_aarch64}/objdump | 0 .../{wrappers => wrappers_aarch64}/strip | 0 .../lowrisc_rv32imcb/wrappers_x86_64/BUILD | 19 ++++++++++++++++++ .../lowrisc_rv32imcb/wrappers_x86_64/ar | 1 + .../lowrisc_rv32imcb/wrappers_x86_64/clang | 1 + .../lowrisc_rv32imcb/wrappers_x86_64/cpp | 1 + .../wrappers_x86_64/driver.sh | 16 +++++++++++++++ .../lowrisc_rv32imcb/wrappers_x86_64/gcc | 1 + .../lowrisc_rv32imcb/wrappers_x86_64/gcov | 1 + .../lowrisc_rv32imcb/wrappers_x86_64/ld | 1 + .../lowrisc_rv32imcb/wrappers_x86_64/nm | 1 + .../lowrisc_rv32imcb/wrappers_x86_64/objcopy | 1 + .../lowrisc_rv32imcb/wrappers_x86_64/objdump | 1 + .../lowrisc_rv32imcb/wrappers_x86_64/strip | 1 + 25 files changed, 56 insertions(+), 11 deletions(-) rename toolchains/lowrisc_rv32imcb/{wrappers => wrappers_aarch64}/BUILD (100%) rename toolchains/lowrisc_rv32imcb/{wrappers => wrappers_aarch64}/ar (100%) rename toolchains/lowrisc_rv32imcb/{wrappers => wrappers_aarch64}/clang (100%) rename toolchains/lowrisc_rv32imcb/{wrappers => wrappers_aarch64}/cpp (100%) rename toolchains/lowrisc_rv32imcb/{wrappers => wrappers_aarch64}/driver.sh (87%) rename toolchains/lowrisc_rv32imcb/{wrappers => wrappers_aarch64}/gcc (100%) rename toolchains/lowrisc_rv32imcb/{wrappers => wrappers_aarch64}/gcov (100%) rename toolchains/lowrisc_rv32imcb/{wrappers => wrappers_aarch64}/ld (100%) rename toolchains/lowrisc_rv32imcb/{wrappers => wrappers_aarch64}/nm (100%) rename toolchains/lowrisc_rv32imcb/{wrappers => wrappers_aarch64}/objcopy (100%) rename toolchains/lowrisc_rv32imcb/{wrappers => wrappers_aarch64}/objdump (100%) rename toolchains/lowrisc_rv32imcb/{wrappers => wrappers_aarch64}/strip (100%) create mode 100644 toolchains/lowrisc_rv32imcb/wrappers_x86_64/BUILD create mode 120000 toolchains/lowrisc_rv32imcb/wrappers_x86_64/ar create mode 120000 toolchains/lowrisc_rv32imcb/wrappers_x86_64/clang create mode 120000 toolchains/lowrisc_rv32imcb/wrappers_x86_64/cpp create mode 100755 toolchains/lowrisc_rv32imcb/wrappers_x86_64/driver.sh create mode 120000 toolchains/lowrisc_rv32imcb/wrappers_x86_64/gcc create mode 120000 toolchains/lowrisc_rv32imcb/wrappers_x86_64/gcov create mode 120000 toolchains/lowrisc_rv32imcb/wrappers_x86_64/ld create mode 120000 toolchains/lowrisc_rv32imcb/wrappers_x86_64/nm create mode 120000 toolchains/lowrisc_rv32imcb/wrappers_x86_64/objcopy create mode 120000 toolchains/lowrisc_rv32imcb/wrappers_x86_64/objdump create mode 120000 toolchains/lowrisc_rv32imcb/wrappers_x86_64/strip diff --git a/toolchains/lowrisc_rv32imcb/BUILD.bazel b/toolchains/lowrisc_rv32imcb/BUILD.bazel index 77450ac..d6e4cb7 100644 --- a/toolchains/lowrisc_rv32imcb/BUILD.bazel +++ b/toolchains/lowrisc_rv32imcb/BUILD.bazel @@ -23,7 +23,7 @@ HOST_ARCHS = [ [filegroup( name = "compiler_components" + host_arch, srcs = [ - "//toolchains/lowrisc_rv32imcb/wrappers:all", + "//toolchains/lowrisc_rv32imcb/wrappers_{}:all".format(host_arch), "@lowrisc_rv32imcb_{}_files//:all".format(host_arch), ], ) for host_arch in HOST_ARCHS] @@ -43,15 +43,15 @@ HOST_ARCHS = [ }, substitutions = device.substitutions, tools = { - "ar": "wrappers/ar", - "cpp": "wrappers/cpp", - "gcc": "wrappers/clang", - "gcov": "wrappers/gcov", - "ld": "wrappers/ld", - "nm": "wrappers/nm", - "objcopy": "wrappers/objcopy", - "objdump": "wrappers/objdump", - "strip": "wrappers/strip", + "ar": "wrappers_{}/ar".format(host_arch), + "cpp": "wrappers_{}/cpp".format(host_arch), + "gcc": "wrappers_{}/clang".format(host_arch), + "gcov": "wrappers_{}/gcov".format(host_arch), + "ld": "wrappers_{}/ld".format(host_arch), + "nm": "wrappers_{}/nm".format(host_arch), + "objcopy": "wrappers_{}/objcopy".format(host_arch), + "objdump": "wrappers_{}/objdump".format(host_arch), + "strip": "wrappers_{}/strip", }, ) for device in DEVICES] for host_arch in HOST_ARCHS diff --git a/toolchains/lowrisc_rv32imcb/wrappers/BUILD b/toolchains/lowrisc_rv32imcb/wrappers_aarch64/BUILD similarity index 100% rename from toolchains/lowrisc_rv32imcb/wrappers/BUILD rename to toolchains/lowrisc_rv32imcb/wrappers_aarch64/BUILD diff --git a/toolchains/lowrisc_rv32imcb/wrappers/ar b/toolchains/lowrisc_rv32imcb/wrappers_aarch64/ar similarity index 100% rename from toolchains/lowrisc_rv32imcb/wrappers/ar rename to toolchains/lowrisc_rv32imcb/wrappers_aarch64/ar diff --git a/toolchains/lowrisc_rv32imcb/wrappers/clang b/toolchains/lowrisc_rv32imcb/wrappers_aarch64/clang similarity index 100% rename from toolchains/lowrisc_rv32imcb/wrappers/clang rename to toolchains/lowrisc_rv32imcb/wrappers_aarch64/clang diff --git a/toolchains/lowrisc_rv32imcb/wrappers/cpp b/toolchains/lowrisc_rv32imcb/wrappers_aarch64/cpp similarity index 100% rename from toolchains/lowrisc_rv32imcb/wrappers/cpp rename to toolchains/lowrisc_rv32imcb/wrappers_aarch64/cpp diff --git a/toolchains/lowrisc_rv32imcb/wrappers/driver.sh b/toolchains/lowrisc_rv32imcb/wrappers_aarch64/driver.sh similarity index 87% rename from toolchains/lowrisc_rv32imcb/wrappers/driver.sh rename to toolchains/lowrisc_rv32imcb/wrappers_aarch64/driver.sh index 757736b..4a32aa3 100755 --- a/toolchains/lowrisc_rv32imcb/wrappers/driver.sh +++ b/toolchains/lowrisc_rv32imcb/wrappers_aarch64/driver.sh @@ -4,7 +4,7 @@ # SPDX-License-Identifier: Apache-2.0 PROG=${0##*/} -TOOLCHAIN="lowrisc_rv32imcb_$(uname -m)_files" +TOOLCHAIN="lowrisc_rv32imcb_aarch64_files" PREFIX="riscv32-unknown-elf" ARGS=() diff --git a/toolchains/lowrisc_rv32imcb/wrappers/gcc b/toolchains/lowrisc_rv32imcb/wrappers_aarch64/gcc similarity index 100% rename from toolchains/lowrisc_rv32imcb/wrappers/gcc rename to toolchains/lowrisc_rv32imcb/wrappers_aarch64/gcc diff --git a/toolchains/lowrisc_rv32imcb/wrappers/gcov b/toolchains/lowrisc_rv32imcb/wrappers_aarch64/gcov similarity index 100% rename from toolchains/lowrisc_rv32imcb/wrappers/gcov rename to toolchains/lowrisc_rv32imcb/wrappers_aarch64/gcov diff --git a/toolchains/lowrisc_rv32imcb/wrappers/ld b/toolchains/lowrisc_rv32imcb/wrappers_aarch64/ld similarity index 100% rename from toolchains/lowrisc_rv32imcb/wrappers/ld rename to toolchains/lowrisc_rv32imcb/wrappers_aarch64/ld diff --git a/toolchains/lowrisc_rv32imcb/wrappers/nm b/toolchains/lowrisc_rv32imcb/wrappers_aarch64/nm similarity index 100% rename from toolchains/lowrisc_rv32imcb/wrappers/nm rename to toolchains/lowrisc_rv32imcb/wrappers_aarch64/nm diff --git a/toolchains/lowrisc_rv32imcb/wrappers/objcopy b/toolchains/lowrisc_rv32imcb/wrappers_aarch64/objcopy similarity index 100% rename from toolchains/lowrisc_rv32imcb/wrappers/objcopy rename to toolchains/lowrisc_rv32imcb/wrappers_aarch64/objcopy diff --git a/toolchains/lowrisc_rv32imcb/wrappers/objdump b/toolchains/lowrisc_rv32imcb/wrappers_aarch64/objdump similarity index 100% rename from toolchains/lowrisc_rv32imcb/wrappers/objdump rename to toolchains/lowrisc_rv32imcb/wrappers_aarch64/objdump diff --git a/toolchains/lowrisc_rv32imcb/wrappers/strip b/toolchains/lowrisc_rv32imcb/wrappers_aarch64/strip similarity index 100% rename from toolchains/lowrisc_rv32imcb/wrappers/strip rename to toolchains/lowrisc_rv32imcb/wrappers_aarch64/strip diff --git a/toolchains/lowrisc_rv32imcb/wrappers_x86_64/BUILD b/toolchains/lowrisc_rv32imcb/wrappers_x86_64/BUILD new file mode 100644 index 0000000..7121e88 --- /dev/null +++ b/toolchains/lowrisc_rv32imcb/wrappers_x86_64/BUILD @@ -0,0 +1,19 @@ +package(default_visibility = ["//visibility:public"]) + +exports_files(glob(["*"])) + +filegroup( + name = "all", + srcs = [ + "ar", + "clang", + "cpp", + "gcc", + "gcov", + "ld", + "nm", + "objcopy", + "objdump", + "strip", + ], +) diff --git a/toolchains/lowrisc_rv32imcb/wrappers_x86_64/ar b/toolchains/lowrisc_rv32imcb/wrappers_x86_64/ar new file mode 120000 index 0000000..da2bdd9 --- /dev/null +++ b/toolchains/lowrisc_rv32imcb/wrappers_x86_64/ar @@ -0,0 +1 @@ +driver.sh \ No newline at end of file diff --git a/toolchains/lowrisc_rv32imcb/wrappers_x86_64/clang b/toolchains/lowrisc_rv32imcb/wrappers_x86_64/clang new file mode 120000 index 0000000..da2bdd9 --- /dev/null +++ b/toolchains/lowrisc_rv32imcb/wrappers_x86_64/clang @@ -0,0 +1 @@ +driver.sh \ No newline at end of file diff --git a/toolchains/lowrisc_rv32imcb/wrappers_x86_64/cpp b/toolchains/lowrisc_rv32imcb/wrappers_x86_64/cpp new file mode 120000 index 0000000..da2bdd9 --- /dev/null +++ b/toolchains/lowrisc_rv32imcb/wrappers_x86_64/cpp @@ -0,0 +1 @@ +driver.sh \ No newline at end of file diff --git a/toolchains/lowrisc_rv32imcb/wrappers_x86_64/driver.sh b/toolchains/lowrisc_rv32imcb/wrappers_x86_64/driver.sh new file mode 100755 index 0000000..02d19ff --- /dev/null +++ b/toolchains/lowrisc_rv32imcb/wrappers_x86_64/driver.sh @@ -0,0 +1,16 @@ +#!/bin/bash --norc +# Copyright lowRISC contributors. +# Licensed under the Apache License, Version 2.0, see LICENSE for details. +# SPDX-License-Identifier: Apache-2.0 + +PROG=${0##*/} +TOOLCHAIN="lowrisc_rv32imcb_x86_64_files" +PREFIX="riscv32-unknown-elf" + +ARGS=() +POSTARGS=() + +exec "external/${TOOLCHAIN}/bin/${PREFIX}-${PROG}" \ + "${ARGS[@]}" \ + "$@"\ + "${POSTARGS[@]}" diff --git a/toolchains/lowrisc_rv32imcb/wrappers_x86_64/gcc b/toolchains/lowrisc_rv32imcb/wrappers_x86_64/gcc new file mode 120000 index 0000000..da2bdd9 --- /dev/null +++ b/toolchains/lowrisc_rv32imcb/wrappers_x86_64/gcc @@ -0,0 +1 @@ +driver.sh \ No newline at end of file diff --git a/toolchains/lowrisc_rv32imcb/wrappers_x86_64/gcov b/toolchains/lowrisc_rv32imcb/wrappers_x86_64/gcov new file mode 120000 index 0000000..da2bdd9 --- /dev/null +++ b/toolchains/lowrisc_rv32imcb/wrappers_x86_64/gcov @@ -0,0 +1 @@ +driver.sh \ No newline at end of file diff --git a/toolchains/lowrisc_rv32imcb/wrappers_x86_64/ld b/toolchains/lowrisc_rv32imcb/wrappers_x86_64/ld new file mode 120000 index 0000000..da2bdd9 --- /dev/null +++ b/toolchains/lowrisc_rv32imcb/wrappers_x86_64/ld @@ -0,0 +1 @@ +driver.sh \ No newline at end of file diff --git a/toolchains/lowrisc_rv32imcb/wrappers_x86_64/nm b/toolchains/lowrisc_rv32imcb/wrappers_x86_64/nm new file mode 120000 index 0000000..da2bdd9 --- /dev/null +++ b/toolchains/lowrisc_rv32imcb/wrappers_x86_64/nm @@ -0,0 +1 @@ +driver.sh \ No newline at end of file diff --git a/toolchains/lowrisc_rv32imcb/wrappers_x86_64/objcopy b/toolchains/lowrisc_rv32imcb/wrappers_x86_64/objcopy new file mode 120000 index 0000000..da2bdd9 --- /dev/null +++ b/toolchains/lowrisc_rv32imcb/wrappers_x86_64/objcopy @@ -0,0 +1 @@ +driver.sh \ No newline at end of file diff --git a/toolchains/lowrisc_rv32imcb/wrappers_x86_64/objdump b/toolchains/lowrisc_rv32imcb/wrappers_x86_64/objdump new file mode 120000 index 0000000..da2bdd9 --- /dev/null +++ b/toolchains/lowrisc_rv32imcb/wrappers_x86_64/objdump @@ -0,0 +1 @@ +driver.sh \ No newline at end of file diff --git a/toolchains/lowrisc_rv32imcb/wrappers_x86_64/strip b/toolchains/lowrisc_rv32imcb/wrappers_x86_64/strip new file mode 120000 index 0000000..da2bdd9 --- /dev/null +++ b/toolchains/lowrisc_rv32imcb/wrappers_x86_64/strip @@ -0,0 +1 @@ +driver.sh \ No newline at end of file