diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 1c29e2f..1227b3a 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,5 +1,4 @@ - { "name": "eclipse-s-core", - "image": "ghcr.io/eclipse-score/devcontainer:v1.2.0" + "image": "ghcr.io/eclipse-score/devcontainer:v1.11.0" } diff --git a/.github/workflows/ebclfsa.yml b/.github/workflows/ebclfsa.yml index ee239cd..abc3822 100644 --- a/.github/workflows/ebclfsa.yml +++ b/.github/workflows/ebclfsa.yml @@ -26,6 +26,11 @@ on: jobs: aarch64-ebclfsa: runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + config: [aarch64-linux-ebclfsa, aarch64-linux-ebclfsa-2.0.0-beta2] + name: Bazel Build (Aarch64-Linux)(ebclfsa) ${{ matrix.config }} defaults: run: working-directory: ./tests @@ -41,7 +46,7 @@ jobs: cache-save: ${{ github.event_name == 'push' }} - name: Bazel Build (basic) run: | - bazel build --lockfile_mode=error --config=aarch64-linux-ebclfsa -- //:language_and_standards_tests //:feature_verification_tests + bazel build --lockfile_mode=error --config=${{ matrix.config }} -- //:language_and_standards_tests //:feature_verification_tests - name: Guardrail (no legacy features) run: | - bazel test --lockfile_mode=error --config=aarch64-linux-ebclfsa -- //:guardrail_tests + bazel test --lockfile_mode=error --config=${{ matrix.config }} -- //:guardrail_tests diff --git a/MODULE.bazel b/MODULE.bazel index 56461ef..e06b31e 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -22,7 +22,7 @@ bazel_dep(name = "bazel_skylib", version = "1.8.2") # Constraint values for specifying platforms and toolchains # ******************************************************************************* bazel_dep(name = "platforms", version = "1.1.0") -bazel_dep(name = "score_bazel_platforms", version = "1.0.0") +bazel_dep(name = "score_bazel_platforms", version = "1.1.0") # ******************************************************************************* # C++ Rules for Bazel diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index c61db5c..fc6d40d 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -487,8 +487,8 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_shell/0.4.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_shell/0.5.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_shell/0.6.1/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_bazel_platforms/1.0.0/MODULE.bazel": "e5e386e6fc0a447a2f4a47e872e3747822e9d58994b7b55e248c78e5a3e382c0", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_bazel_platforms/1.0.0/source.json": "fb428e5f4cb6cbf0e00442e72c8d038746e0eaa7493dcec394ee99be727dcb3b", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_bazel_platforms/1.1.0/MODULE.bazel": "e5c656abcad121a89cbabad3550bb20167a6865de219ef6e1c68ca30567e1c32", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_bazel_platforms/1.1.0/source.json": "9797d56e9dd68e9d3e8b674402df2d6d5e2174f84184ca4cbee78fc07dc117d9", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_cr_checker/0.2.2/MODULE.bazel": "dc36d9c35543db918c3fb5b93a8e684431f56c7c784cf2a1b90f35802a373c98", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_cr_checker/0.3.1/MODULE.bazel": "f49e037d7fbc0b2a8b2734fc6b47334e8cc8589ca7a5aa0f3ccca85cc5f79fac", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_dash_license_checker/0.1.1/MODULE.bazel": "76681dbd2d45b5c540869a2337174086c56c54953aab1d02cd878b59d31d13a5", diff --git a/extensions/gcc.bzl b/extensions/gcc.bzl index ae8b330..fee2620 100644 --- a/extensions/gcc.bzl +++ b/extensions/gcc.bzl @@ -39,6 +39,11 @@ _attrs_sdp = { default = "", doc = "package name of toolchain, default set to toolchain toolchain name + `_pkg`.", ), + "patch_cmds": attr.string_list( + mandatory = False, + default = [], + doc = "Bash commands executed in the extracted archive root after extraction.", + ), "sha256": attr.string( mandatory = False, default = "", @@ -185,6 +190,7 @@ def _get_packages(tags): packages.append({ "build_file": tag.build_file, "name": tag.name, + "patch_cmds": tag.patch_cmds, "sha256": tag.sha256, "strip_prefix": tag.strip_prefix, "url": tag.url, @@ -211,7 +217,7 @@ def _get_toolchains(tags): "sdk_version": tag.sdk_version, "sdp_to_link": tag.sdp_to_link, "sdp_version": tag.sdp_version, - "tc_compiler_library_search_paths": [], + "tc_compiler_library_search_paths": tag.ld_library_paths, "tc_cpu": tag.target_cpu, "tc_extra_c_compile_flags": tag.extra_c_compile_flags, "tc_extra_compile_flags": tag.extra_compile_flags, @@ -301,6 +307,7 @@ def _create_and_link_sdp(toolchain_info): return { "build_file": matrix["build_file"], "name": pkg_name, + "patch_cmds": matrix.get("patch_cmds", []), "sha256": matrix["sha256"], "strip_prefix": matrix["strip_prefix"], "url": matrix["url"], @@ -389,6 +396,7 @@ def _impl(mctx): name = archive_info["name"], urls = [archive_info["url"]], build_file = archive_info["build_file"], + patch_cmds = archive_info["patch_cmds"], sha256 = archive_info["sha256"], strip_prefix = archive_info["strip_prefix"], ) diff --git a/packages/linux/aarch64/ebclfsa/2.0.0-beta2/BUILD b/packages/linux/aarch64/ebclfsa/2.0.0-beta2/BUILD new file mode 100644 index 0000000..92c8d57 --- /dev/null +++ b/packages/linux/aarch64/ebclfsa/2.0.0-beta2/BUILD @@ -0,0 +1,16 @@ +# ******************************************************************************* +# Copyright (c) 2025 Contributors to the Eclipse Foundation +# +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. +# +# This program and the accompanying materials are made available under the +# terms of the Apache License Version 2.0 which is available at +# https://www.apache.org/licenses/LICENSE-2.0 +# +# SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************* + +exports_files([ + "ebclfsa.BUILD", +]) diff --git a/packages/linux/aarch64/ebclfsa/2.0.0-beta2/ebclfsa.BUILD b/packages/linux/aarch64/ebclfsa/2.0.0-beta2/ebclfsa.BUILD new file mode 100644 index 0000000..ed71b2d --- /dev/null +++ b/packages/linux/aarch64/ebclfsa/2.0.0-beta2/ebclfsa.BUILD @@ -0,0 +1,76 @@ +# ******************************************************************************* +# Copyright (c) 2025 Contributors to the Eclipse Foundation +# +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. +# +# This program and the accompanying materials are made available under the +# terms of the Apache License Version 2.0 which is available at +# https://www.apache.org/licenses/LICENSE-2.0 +# +# SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************* + +"""Build file for EBcLfSA 2.0.0-beta2 toolchain package""" + +package(default_visibility = ["//visibility:public"]) + +filegroup( + name = "all_files", + srcs = glob( + ["*/**/*"], + exclude = [ + "dev/**", + "proc/**", + "sys/**", + "usr/share/ca-certificates/**", + "usr/lib/ssl/certs/**", + "lib/ssl/certs/**", + "etc/ssl/certs/**", + "usr/share/man/**", + "usr/share/perl/**", + "var/lib/**", + ], + ), +) + +filegroup( + name = "bin", + srcs = ["usr/bin"], +) + +filegroup( + name = "ar", + srcs = ["usr/bin/aarch64-linux-gnu-ar"], +) + +filegroup( + name = "cc", + srcs = ["usr/bin/aarch64-linux-gnu-gcc-14"], +) + +filegroup( + name = "gcov", + srcs = ["usr/bin/aarch64-linux-gnu-gcov-14"], +) + +filegroup( + name = "cxx", + srcs = ["usr/bin/aarch64-linux-gnu-g++-14"], +) + +filegroup( + name = "strip", + srcs = ["usr/bin/aarch64-linux-gnu-strip"], +) + +filegroup( + name = "elf-enabler", + srcs = ["usr/bin/lisa-elf-enabler"], +) + +# The sysroot for EBcLfSA is the entire extracted directory +filegroup( + name = "sysroot_dir", + srcs = ["."], +) diff --git a/packages/version_matrix.bzl b/packages/version_matrix.bzl index b07ea78..0d4ef61 100644 --- a/packages/version_matrix.bzl +++ b/packages/version_matrix.bzl @@ -205,6 +205,97 @@ VERSION_MATRIX = { "sha256": "f44286c28d831dc40acdac08ef49f38a2e9cbb057bea38c25834964693785287", "url": "https://github.com/Elektrobit/eb_corbos_toolkit/releases/download/v2.0.0-beta1/fastdev-sdk-ubuntu-ebclfsa-ebcl-qemuarm64.tar.gz", }, + "aarch64-linux-sdk_2.0.0-beta2-ebclfsa": { + "build_file": "@score_bazel_cpp_toolchains//packages/linux/aarch64/ebclfsa/2.0.0-beta2:ebclfsa.BUILD", + "extra_c_compile_flags": [ + "-nostdinc", + "-isystem", + "external/%{toolchain_pkg}%/usr/lib/gcc-cross/aarch64-linux-gnu/14/include", + "-isystem", + "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/include", + "-isystem", + "external/%{toolchain_pkg}%/usr/include/aarch64-linux-gnu", + "-L", + "external/%{toolchain_pkg}%/lib/aarch64-linux-gnu", + "-L", + "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/lib", + "-L", + "external/%{toolchain_pkg}%/usr/lib/x86_64-linux-gnu", + "--no-canonical-prefixes", + ], + "extra_cxx_compile_flags": [ + "-nostdinc++", + "-isystem", + "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/include/c++/14", + "-isystem", + "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/include/c++/14/aarch64-linux-gnu", + "-isystem", + "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/include/c++/14/backward", + "-nostdinc", + "-isystem", + "external/%{toolchain_pkg}%/usr/lib/gcc-cross/aarch64-linux-gnu/14/include", + "-isystem", + "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/include", + "-isystem", + "external/%{toolchain_pkg}%/usr/include/aarch64-linux-gnu", + "-L", + "external/%{toolchain_pkg}%/lib/aarch64-linux-gnu", + "-L", + "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/lib", + "-L", + "external/%{toolchain_pkg}%/usr/lib/x86_64-linux-gnu", + "--no-canonical-prefixes", + ], + "extra_link_flags": [ + "-B", + "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/bin", + "-L", + "external/%{toolchain_pkg}%/lib/aarch64-linux-gnu", + "-L", + "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/lib", + "-L", + "external/%{toolchain_pkg}%/usr/lib/x86_64-linux-gnu", + "-lm", + "-ldl", + "-lrt", + "-static-libstdc++", + "-static-libgcc", + "-static", + "--no-canonical-prefixes", + ], + # No `compiler_library_search_paths` on purpose: the SDK host binaries already + # carry an $ORIGIN rpath to their own libraries, and exporting the SDK's + # glibc 2.41 via LD_LIBRARY_PATH would also be inherited by Bazel's own + # process-wrapper, which is linked against the (older) host glibc. + "strip_prefix": "fastdev-sdk-trixie-ebclfsa-ebcl-qemuarm64", + "sha256": "4cf7f0191988795f316f276b56e370ad60fc371954a881d158ebba0284d9d3f5", + "url": "https://github.com/Elektrobit/eb_corbos_toolkit/releases/download/v2.0.0-beta2/fastdev-sdk-trixie-ebclfsa-ebcl-qemuarm64.tar.gz", + # The SDK host binaries carry an $ORIGIN rpath into the SDK's own glibc 2.41 + # but still request the host loader (/lib64/ld-linux-x86-64.so.2). Running a + # newer libc under an older ld.so aborts with "stack smashing detected", so + # repoint the interpreter at the SDK loader (what relocate-sdk.sh does). + # Rewrites the ELF interpreter of every host executable shipped by an EB corbos + # SDK to the loader bundled with that SDK. This is the same operation the SDK's + # own `relocate-sdk.sh` performs; it is inlined here because neither `patchelf` + # nor `file` can be assumed to exist on the host, and the SDK-provided `patchelf` + # cannot start before the interpreter is fixed (hence the explicit loader call). + # Each entry of `patch_cmds` is passed to a separate `bash -c`, so this has to + # stay a single command. + "patch_cmds": [ + "sdk=$(pwd); " + + "loader=$sdk/usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2; " + + "test -x \"$loader\" -a -x \"$sdk/usr/bin/patchelf\" || exit 1; " + + # patchelf lives inside the tree that is about to be rewritten, so work on a copy. + "tmp=$(mktemp -d); cp \"$sdk/usr/bin/patchelf\" \"$tmp/patchelf\"; " + + "run_patchelf() { \"$loader\" --library-path \"$sdk/usr/lib/x86_64-linux-gnu:$sdk/lib/x86_64-linux-gnu\" \"$tmp/patchelf\" \"$@\"; }; " + + "for binary in $(find usr/bin usr/sbin usr/libexec/gcc* usr/lib/gcc-cross usr/lib/llvm-*/bin -type f -perm -u+x 2>/dev/null); do " + + "interpreter=$(run_patchelf --print-interpreter \"$binary\" 2>/dev/null) || continue; " + + "test -n \"$interpreter\" || continue; " + + "run_patchelf --set-interpreter \"$loader\" \"$binary\" >/dev/null 2>&1 || true; " + + "done; " + + "rm -rf \"$tmp\"", + ], + }, "x86_64-qnx-sdp_8.0.0": { "build_file": "@score_bazel_cpp_toolchains//packages/qnx/x86_64/sdp/8.0.0:sdp.BUILD", "sha256": "f2e0cb21c6baddbcb65f6a70610ce498e7685de8ea2e0f1648f01b327f6bac63", diff --git a/tests/.bazelrc b/tests/.bazelrc index 47b095d..1b76a58 100644 --- a/tests/.bazelrc +++ b/tests/.bazelrc @@ -104,3 +104,7 @@ build:x86_64-linux-autosd10 --extra_toolchains=@score_autosd_10_toolchain//:x86_ build:aarch64-linux-ebclfsa --config=shared build:aarch64-linux-ebclfsa --platforms=@score_bazel_platforms//:aarch64-linux-sdk_0.1.0-ebclfsa build:aarch64-linux-ebclfsa --extra_toolchains=@score_ebclfsa_toolchain//:aarch64-linux-sdk_0.1.0-ebclfsa + +build:aarch64-linux-ebclfsa-2.0.0-beta2 --config=shared +build:aarch64-linux-ebclfsa-2.0.0-beta2 --platforms=@score_bazel_platforms//:aarch64-linux-sdk_2.0.0-beta2-ebclfsa +build:aarch64-linux-ebclfsa-2.0.0-beta2 --extra_toolchains=@score_ebclfsa_2.0.0-beta2_toolchain//:aarch64-linux-sdk_2.0.0-beta2-ebclfsa diff --git a/tests/MODULE.bazel b/tests/MODULE.bazel index 6f275c1..f6d9352 100644 --- a/tests/MODULE.bazel +++ b/tests/MODULE.bazel @@ -33,7 +33,7 @@ bazel_dep(name = "bazel_skylib", version = "1.9.0") bazel_dep(name = "platforms", version = "1.1.0") # TODO: DO NOT MERGE IT WITH THIS !!!! -bazel_dep(name = "score_bazel_platforms", version = "1.0.0") +bazel_dep(name = "score_bazel_platforms", version = "1.1.0") # ******************************************************************************* # C++ Rules for Bazel @@ -191,12 +191,25 @@ gcc.toolchain( target_os = "linux", use_default_package = True, ) + +# ******************************************************************************* +# Setting EBcLfSA 2.0.0-beta2 GCC (CPU:aarch64|OS:Linux|V:ebclfsa-2.0.0-beta2|ES:ebclfsa) +# ******************************************************************************* +gcc.toolchain( + name = "score_ebclfsa_2.0.0-beta2_toolchain", + runtime_ecosystem = "ebclfsa", + sdk_version = "2.0.0-beta2", + target_cpu = "aarch64", + target_os = "linux", + use_default_package = True, +) use_repo( gcc, "my_toolchain", "score_aarch64_gcc_toolchain", "score_aarch64_gcc_toolchain_15", "score_autosd_10_toolchain", + "score_ebclfsa_2.0.0-beta2_toolchain", "score_ebclfsa_toolchain", "score_gcc_toolchain", "score_gcc_toolchain_15", diff --git a/tests/MODULE.bazel.lock b/tests/MODULE.bazel.lock index 15a6923..0d7218f 100644 --- a/tests/MODULE.bazel.lock +++ b/tests/MODULE.bazel.lock @@ -538,7 +538,8 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_shell/0.6.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_bazel_platforms/0.1.1/MODULE.bazel": "236e5bdff6f2d6de6f96cc4f5f4b1bf2cd6137547ce279668a2dd4c54cd4236c", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_bazel_platforms/1.0.0/MODULE.bazel": "e5e386e6fc0a447a2f4a47e872e3747822e9d58994b7b55e248c78e5a3e382c0", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_bazel_platforms/1.0.0/source.json": "fb428e5f4cb6cbf0e00442e72c8d038746e0eaa7493dcec394ee99be727dcb3b", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_bazel_platforms/1.1.0/MODULE.bazel": "e5c656abcad121a89cbabad3550bb20167a6865de219ef6e1c68ca30567e1c32", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_bazel_platforms/1.1.0/source.json": "9797d56e9dd68e9d3e8b674402df2d6d5e2174f84184ca4cbee78fc07dc117d9", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_cr_checker/0.2.2/MODULE.bazel": "dc36d9c35543db918c3fb5b93a8e684431f56c7c784cf2a1b90f35802a373c98", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_cr_checker/0.3.1/MODULE.bazel": "f49e037d7fbc0b2a8b2734fc6b47334e8cc8589ca7a5aa0f3ccca85cc5f79fac", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_dash_license_checker/0.1.1/MODULE.bazel": "76681dbd2d45b5c540869a2337174086c56c54953aab1d02cd878b59d31d13a5", @@ -1369,8 +1370,8 @@ }, "@@score_bazel_cpp_toolchains+//extensions:gcc.bzl%gcc": { "general": { - "bzlTransitiveDigest": "uUsNFSfSSybb9eE3vhujRJ3STO1XYw/Su0MpWT8DZJI=", - "usagesDigest": "dWr2zFjJ8fBvweFk2KWoZzQqJ+aKnb9A8QACQhKlUfw=", + "bzlTransitiveDigest": "YbbJoOHV79wbmLSzyW0+FVq+0ih1OuW6v1am9MzMOmg=", + "usagesDigest": "3BxGiccNNlFja9y/vd4+7TlTcgtjWIybmed7P06K9QM=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, @@ -1382,6 +1383,7 @@ "https://github.com/eclipse-score/toolchains_gcc_packages/releases/download/0.0.1/x86_64-unknown-linux-gnu_gcc12.tar.gz" ], "build_file": "@@score_bazel_cpp_toolchains+//packages/linux/x86_64/gcc/12.2.0:gcc.BUILD", + "patch_cmds": [], "sha256": "457f5f20f57528033cb840d708b507050d711ae93e009388847e113b11bf3600", "strip_prefix": "x86_64-unknown-linux-gnu" } @@ -1393,6 +1395,7 @@ "https://github.com/eclipse-score/toolchains_gcc_packages/releases/download/v0.0.4/x86_64-unknown-linux-gnu_gcc12.tar.gz" ], "build_file": "@@score_bazel_cpp_toolchains+//packages/linux/x86_64/gcc/12.2.0:gcc.BUILD", + "patch_cmds": [], "sha256": "e9b9a7a63a5f8271b76d6e2057906b95c7a244e4931a8e10edeaa241e9f7c11e", "strip_prefix": "x86_64-unknown-linux-gnu" } @@ -1404,6 +1407,7 @@ "https://github.com/eclipse-score/toolchains_gcc_packages/releases/download/v0.0.4/x86_64-unknown-linux-gnu_gcc12.tar.gz" ], "build_file": "@@score_bazel_cpp_toolchains+//packages/linux/x86_64/gcc/12.2.0:gcc.BUILD", + "patch_cmds": [], "sha256": "e9b9a7a63a5f8271b76d6e2057906b95c7a244e4931a8e10edeaa241e9f7c11e", "strip_prefix": "x86_64-unknown-linux-gnu" } @@ -1415,6 +1419,7 @@ "https://github.com/eclipse-score/toolchains_gcc_packages/releases/download/v0.0.5/x86_64-unknown-linux-gnu_gcc15.tar.gz" ], "build_file": "@@score_bazel_cpp_toolchains+//packages/linux/x86_64/gcc/15.3.0:gcc.BUILD", + "patch_cmds": [], "sha256": "c65e21725d4d9993bab0b4ef2aed7065a4bf1b0f232a068d778eb670f80daa60", "strip_prefix": "x86_64-unknown-linux-gnu" } @@ -1426,6 +1431,7 @@ "https://github.com/eclipse-score/toolchains_gcc_packages/releases/download/v0.0.4/aarch64-unknown-linux-gnu_gcc12.tar.gz" ], "build_file": "@@score_bazel_cpp_toolchains+//packages/linux/aarch64/gcc/12.2.0:gcc.BUILD", + "patch_cmds": [], "sha256": "7279b1adb50361b21f5266b001980b6febb35fa8d83170901196b9edae3f06d9", "strip_prefix": "aarch64-unknown-linux-gnu" } @@ -1437,6 +1443,7 @@ "https://github.com/eclipse-score/toolchains_gcc_packages/releases/download/v0.0.5/aarch64-unknown-linux-gnu_gcc15.tar.gz" ], "build_file": "@@score_bazel_cpp_toolchains+//packages/linux/aarch64/gcc/15.3.0:gcc.BUILD", + "patch_cmds": [], "sha256": "ff9fe6caed22f15a1dd87a93bff5cfa1536b5dddcff3364827f97ebc01a494a1", "strip_prefix": "aarch64-unknown-linux-gnu" } @@ -1448,6 +1455,7 @@ "https://www.qnx.com/download/download/88447/installation_qnx_804_260520.tar.xz" ], "build_file": "@@score_bazel_cpp_toolchains+//packages/qnx/x86_64/sdp/8.0.0:sdp.BUILD", + "patch_cmds": [], "sha256": "146312c0bf22aab66e8294a06403f2ec6cfeeb074d8fa11549faffd84b7fe778", "strip_prefix": "" } @@ -1459,6 +1467,7 @@ "https://www.qnx.com/download/download/88447/installation_qnx_804_260520.tar.xz" ], "build_file": "@@score_bazel_cpp_toolchains+//packages/qnx/aarch64/sdp/8.0.0:sdp.BUILD", + "patch_cmds": [], "sha256": "146312c0bf22aab66e8294a06403f2ec6cfeeb074d8fa11549faffd84b7fe778", "strip_prefix": "" } @@ -1470,6 +1479,7 @@ "https://github.com/eclipse-score/os_autosd/releases/download/v0.0.2/autosd-toolchain-x86_64.tar.gz" ], "build_file": "@@score_bazel_cpp_toolchains+//packages/linux/x86_64/autosd/10.0:autosd.BUILD", + "patch_cmds": [], "sha256": "25991056bd29d4cb37b11e42d0c09f55dc61d0b9d703f75d854cf614f688c96f", "strip_prefix": "sysroot" } @@ -1481,10 +1491,25 @@ "https://github.com/Elektrobit/eb_corbos_toolkit/releases/download/v2.0.0-beta1/fastdev-sdk-ubuntu-ebclfsa-ebcl-qemuarm64.tar.gz" ], "build_file": "@@score_bazel_cpp_toolchains+//packages/linux/aarch64/ebclfsa/0.1.0:ebclfsa.BUILD", + "patch_cmds": [], "sha256": "f44286c28d831dc40acdac08ef49f38a2e9cbb057bea38c25834964693785287", "strip_prefix": "fastdev-sdk-ubuntu-ebclfsa-ebcl-qemuarm64" } }, + "score_ebclfsa_2.0.0-beta2_toolchain_pkg": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "urls": [ + "https://github.com/Elektrobit/eb_corbos_toolkit/releases/download/v2.0.0-beta2/fastdev-sdk-trixie-ebclfsa-ebcl-qemuarm64.tar.gz" + ], + "build_file": "@@score_bazel_cpp_toolchains+//packages/linux/aarch64/ebclfsa/2.0.0-beta2:ebclfsa.BUILD", + "patch_cmds": [ + "sdk=$(pwd); loader=$sdk/usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2; test -x \"$loader\" -a -x \"$sdk/usr/bin/patchelf\" || exit 1; tmp=$(mktemp -d); cp \"$sdk/usr/bin/patchelf\" \"$tmp/patchelf\"; run_patchelf() { \"$loader\" --library-path \"$sdk/usr/lib/x86_64-linux-gnu:$sdk/lib/x86_64-linux-gnu\" \"$tmp/patchelf\" \"$@\"; }; for binary in $(find usr/bin usr/sbin usr/libexec/gcc* usr/lib/gcc-cross usr/lib/llvm-*/bin -type f -perm -u+x 2>/dev/null); do interpreter=$(run_patchelf --print-interpreter \"$binary\" 2>/dev/null) || continue; test -n \"$interpreter\" || continue; run_patchelf --set-interpreter \"$loader\" \"$binary\" >/dev/null 2>&1 || true; done; rm -rf \"$tmp\"" + ], + "sha256": "4cf7f0191988795f316f276b56e370ad60fc371954a881d158ebba0284d9d3f5", + "strip_prefix": "fastdev-sdk-trixie-ebclfsa-ebcl-qemuarm64" + } + }, "score_gcc_toolchain_bp": { "repoRuleId": "@@score_bazel_cpp_toolchains+//rules:gcc.bzl%gcc_toolchain", "attributes": { @@ -1844,6 +1869,86 @@ "cc_toolchain_flags": "@@score_bazel_cpp_toolchains+//templates/linux:cc_toolchain_flags.bzl.template", "use_base_constraints_only": false } + }, + "score_ebclfsa_2.0.0-beta2_toolchain": { + "repoRuleId": "@@score_bazel_cpp_toolchains+//rules:gcc.bzl%gcc_toolchain", + "attributes": { + "extra_compile_flags": [], + "extra_c_compile_flags": [ + "-nostdinc", + "-isystem", + "external/%{toolchain_pkg}%/usr/lib/gcc-cross/aarch64-linux-gnu/14/include", + "-isystem", + "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/include", + "-isystem", + "external/%{toolchain_pkg}%/usr/include/aarch64-linux-gnu", + "-L", + "external/%{toolchain_pkg}%/lib/aarch64-linux-gnu", + "-L", + "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/lib", + "-L", + "external/%{toolchain_pkg}%/usr/lib/x86_64-linux-gnu", + "--no-canonical-prefixes" + ], + "extra_cxx_compile_flags": [ + "-nostdinc++", + "-isystem", + "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/include/c++/14", + "-isystem", + "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/include/c++/14/aarch64-linux-gnu", + "-isystem", + "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/include/c++/14/backward", + "-nostdinc", + "-isystem", + "external/%{toolchain_pkg}%/usr/lib/gcc-cross/aarch64-linux-gnu/14/include", + "-isystem", + "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/include", + "-isystem", + "external/%{toolchain_pkg}%/usr/include/aarch64-linux-gnu", + "-L", + "external/%{toolchain_pkg}%/lib/aarch64-linux-gnu", + "-L", + "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/lib", + "-L", + "external/%{toolchain_pkg}%/usr/lib/x86_64-linux-gnu", + "--no-canonical-prefixes" + ], + "extra_known_features": [], + "extra_enabled_features": [], + "extra_link_flags": [ + "-B", + "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/bin", + "-L", + "external/%{toolchain_pkg}%/lib/aarch64-linux-gnu", + "-L", + "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/lib", + "-L", + "external/%{toolchain_pkg}%/usr/lib/x86_64-linux-gnu", + "-lm", + "-ldl", + "-lrt", + "-static-libstdc++", + "-static-libgcc", + "-static", + "--no-canonical-prefixes" + ], + "license_info_variable": "", + "license_info_value": "", + "license_path": "/opt/score_qnx/license/licenses", + "sdk_version": "2.0.0-beta2", + "sdp_version": "", + "tc_compiler_library_search_paths": [], + "tc_cpu": "aarch64", + "tc_identifier": "sdk_2.0.0-beta2", + "tc_os": "linux", + "tc_pkg_repo": "score_ebclfsa_2.0.0-beta2_toolchain_pkg", + "tc_system_toolchain": false, + "tc_runtime_ecosystem": "ebclfsa", + "gcc_version": "", + "cc_toolchain_config": "@@score_bazel_cpp_toolchains+//templates/linux:cc_toolchain_config.bzl.template", + "cc_toolchain_flags": "@@score_bazel_cpp_toolchains+//templates/linux:cc_toolchain_flags.bzl.template", + "use_base_constraints_only": false + } } }, "recordedRepoMappingEntries": [