From df844e731be7cae5cc6e3c90cfec71849bae2cde Mon Sep 17 00:00:00 2001 From: Oliver Pajonk Date: Mon, 9 Feb 2026 16:55:13 +0100 Subject: [PATCH 1/7] Add EBcLfSA Toolchain Added "aarch64-linux-sdk_0.1.0-ebclfsa", a GCC-based toolchain for EB corbos Linux for Safety Applications. This is *not* the final toolchain, since that will require a clang-based compiler and a special libc. However, it can be used to demonstrate functionality. --- examples/.bazelrc | 7 +++ examples/MODULE.bazel | 13 ++++ examples/README.md | 7 +++ examples/test.sh | 5 +- packages/linux/aarch64/ebclfsa/0.1.0/BUILD | 16 +++++ .../linux/aarch64/ebclfsa/0.1.0/ebclfsa.BUILD | 62 +++++++++++++++++++ packages/version_matrix.bzl | 42 +++++++++++++ 7 files changed, 151 insertions(+), 1 deletion(-) create mode 100644 packages/linux/aarch64/ebclfsa/0.1.0/BUILD create mode 100644 packages/linux/aarch64/ebclfsa/0.1.0/ebclfsa.BUILD diff --git a/examples/.bazelrc b/examples/.bazelrc index 975a32e..d08f025 100644 --- a/examples/.bazelrc +++ b/examples/.bazelrc @@ -68,3 +68,10 @@ build:target_config_3 --extra_toolchains=@score_aarch64_gcc_toolchain//:aarch64- build:target_config_4 --config=host_config_1 build:target_config_4 --platforms=@score_bazel_platforms//:x86_64-linux-autosd10 build:target_config_4 --extra_toolchains=@score_autosd_10_toolchain//:x86_64-linux-autosd10 + +# ------------------------------------------------------------------------------- +# Config dedicated to target platform CPU:aarch64 and OS:ebclfsa +# ------------------------------------------------------------------------------- +build:aarch64-ebclfsa --config=shared +build:aarch64-ebclfsa --platforms=@score_bazel_platforms//:aarch64-linux-sdk_0.1.0-ebclfsa +build:aarch64-ebclfsa --extra_toolchains=@score_ebclfsa_toolchain//:aarch64-linux-sdk_0.1.0-ebclfsa diff --git a/examples/MODULE.bazel b/examples/MODULE.bazel index c9a958d..8347a0f 100644 --- a/examples/MODULE.bazel +++ b/examples/MODULE.bazel @@ -144,6 +144,18 @@ gcc.toolchain( use_default_package = True, ) +# ******************************************************************************* +# Setting EBcLfSA 0.1.0 GCC (CPU:aarch64|OS:Linux|V:ebclfsa-0.1.0|ES:ebclfsa) +# ******************************************************************************* +gcc.toolchain( + name = "score_ebclfsa_toolchain", + target_os = "linux", + target_cpu = "aarch64", + runtime_ecosystem = "ebclfsa", + sdk_version = "0.1.0", + use_default_package = True, +) + use_repo( gcc, "my_toolchain", @@ -153,6 +165,7 @@ use_repo( "score_gcc_toolchain", "score_qcc_arm_toolchain", "score_qcc_toolchain", + "score_ebclfsa_toolchain", ) # register_toolchains( diff --git a/examples/README.md b/examples/README.md index fbbc619..2f1fd1f 100644 --- a/examples/README.md +++ b/examples/README.md @@ -44,6 +44,13 @@ bazel build --config=target_config_3 //:main_cpp bazel build --config=target_config_3 //:main_pthread_cpp ``` +**Build for EB corbos Linux for Safety Applications (ARM64):** +```bash +bazel build --config=aarch64-ebclfsa //:main_cpp +bazel build --config=aarch64-ebclfsa //:main_pthread_cpp +bazel test --config=aarch64-ebclfsa //:math_lib_test # this works if you have qemu-user-static installed and configured correctly +``` + ### QNX Target Builds > **Note:** Take care of license requirements when using these toolchains and dependencies in your projects. diff --git a/examples/test.sh b/examples/test.sh index 271af03..e344c33 100755 --- a/examples/test.sh +++ b/examples/test.sh @@ -20,4 +20,7 @@ bazel build --config target_config_3 //:main_cpp bazel clean --expunge echo -e "Testing 'target_config_4' ..." bazel build --config target_config_4 //:main_cpp -bazel clean --expunge \ No newline at end of file +bazel clean --expunge +echo -e "Testing 'aarch64-ebclfsa' ..." +bazel build --config aarch64-ebclfsa //:main_cpp +bazel clean --expunge diff --git a/packages/linux/aarch64/ebclfsa/0.1.0/BUILD b/packages/linux/aarch64/ebclfsa/0.1.0/BUILD new file mode 100644 index 0000000..92c8d57 --- /dev/null +++ b/packages/linux/aarch64/ebclfsa/0.1.0/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/0.1.0/ebclfsa.BUILD b/packages/linux/aarch64/ebclfsa/0.1.0/ebclfsa.BUILD new file mode 100644 index 0000000..f7be295 --- /dev/null +++ b/packages/linux/aarch64/ebclfsa/0.1.0/ebclfsa.BUILD @@ -0,0 +1,62 @@ +# ******************************************************************************* +# 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 0.1.0 toolchain package""" + +package(default_visibility = ["//visibility:public"]) + +filegroup( + name = "all_files", + srcs = glob(["*/**/*"], exclude = ["usr/share/ca-certificates/**","usr/lib/ssl/certs/**", "lib/ssl/certs/**", "etc/ssl/certs/**", "usr/share/man/**", "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-13.bin"], +) + +filegroup( + name = "gcov", + srcs = ["usr/bin/aarch64-linux-gnu-gcov-13"], +) + +filegroup( + name = "cxx", + srcs = ["usr/bin/aarch64-linux-gnu-g++-13.bin"], +) + +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 666466e..ff96662 100644 --- a/packages/version_matrix.bzl +++ b/packages/version_matrix.bzl @@ -124,6 +124,48 @@ VERSION_MATRIX = { "strip_prefix": "sysroot", "url": "https://github.com/eclipse-score/inc_os_autosd/releases/download/continuous/autosd-toolchain-x86_64.tar.gz", }, + "aarch64-linux-sdk_0.1.0-ebclfsa": { + "build_file": "@score_bazel_cpp_toolchains//packages/linux/aarch64/ebclfsa/0.1.0:ebclfsa.BUILD", + "extra_c_compile_flags": [ + "-nostdinc", + "-isystem", + "external/%{toolchain_pkg}%/usr/lib/gcc-cross/aarch64-linux-gnu/13/include", + "-isystem", + "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/include", + ], + "extra_cxx_compile_flags": [ + "-nostdinc++", + "-isystem", + "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/include/c++/13", + "-isystem", + "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/include/c++/13/aarch64-linux-gnu", + "-isystem", + "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/include/c++/13/backward", + "-nostdinc", + "-isystem", + "external/%{toolchain_pkg}%/usr/lib/gcc-cross/aarch64-linux-gnu/13/include", + "-isystem", + "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/include", + ], + "extra_link_flags": [ + "-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" + ], + "sha256": "3b31952c513dd3ade46bc697f8a8796bff7b8ceef89152c5963a331c0ecdf1ed", + "strip_prefix": "fastdev-sdk-ubuntu-ebclfsa-ebcl-qemuarm64", + "url": "https://github.com/elektrobit-contrib/eclipse-score_toolchains_gcc/releases/download/0.6.0-beta/fastdev-sdk-ubuntu-ebclfsa-ebcl-qemuarm64.tar.gz", + }, "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", From 6301af58280393cc9366bcf39b8f9d4c4eaf9bf3 Mon Sep 17 00:00:00 2001 From: Oliver Pajonk Date: Mon, 16 Feb 2026 13:24:02 +0100 Subject: [PATCH 2/7] Proposal for setting LD_LIBRARY_PATH of toolchain However, this one FORCES everyone to set the ld_library_paths filegroup, which is weird. Should be optional. --- extensions/gcc.bzl | 6 ++++- .../linux/aarch64/autosd/10.0/autosd.BUILD | 5 ++++ .../linux/aarch64/ebclfsa/0.1.0/ebclfsa.BUILD | 5 ++++ packages/linux/aarch64/gcc/12.2.0/gcc.BUILD | 5 ++++ .../linux/x86_64/autosd/10.0/autosd.BUILD | 5 ++++ packages/linux/x86_64/gcc/12.2.0/gcc.BUILD | 5 ++++ rules/gcc.bzl | 2 ++ .../linux/cc_toolchain_config.bzl.template | 23 +++++++++++++++++++ 8 files changed, 55 insertions(+), 1 deletion(-) diff --git a/extensions/gcc.bzl b/extensions/gcc.bzl index 1959812..95fb106 100644 --- a/extensions/gcc.bzl +++ b/extensions/gcc.bzl @@ -140,7 +140,11 @@ _attrs_tc = { mandatory = False, doc = "Version of the GCC toolchain.", ), - + "ld_library_paths": attr.string_list( + mandatory = False, + default = [], + doc = "List of paths relative to the sysroot which should build up the runtime linker path of the tools of this toolchain.", + ), } def _get_packages(tags): diff --git a/packages/linux/aarch64/autosd/10.0/autosd.BUILD b/packages/linux/aarch64/autosd/10.0/autosd.BUILD index daedfc5..2508de0 100644 --- a/packages/linux/aarch64/autosd/10.0/autosd.BUILD +++ b/packages/linux/aarch64/autosd/10.0/autosd.BUILD @@ -50,6 +50,11 @@ filegroup( srcs = ["usr/bin/strip"], ) +filegroup( + name = "ld_library_paths", + srcs = [], +) + # The sysroot for AutoSD is the entire extracted directory # since it contains usr/ and lib64/ at the root filegroup( diff --git a/packages/linux/aarch64/ebclfsa/0.1.0/ebclfsa.BUILD b/packages/linux/aarch64/ebclfsa/0.1.0/ebclfsa.BUILD index f7be295..f646783 100644 --- a/packages/linux/aarch64/ebclfsa/0.1.0/ebclfsa.BUILD +++ b/packages/linux/aarch64/ebclfsa/0.1.0/ebclfsa.BUILD @@ -55,6 +55,11 @@ filegroup( srcs = ["usr/bin/lisa-elf-enabler"], ) +filegroup( + name = "ld_library_paths", + srcs = ["usr/lib/x86_64-linux-gnu"], +) + # The sysroot for EBcLfSA is the entire extracted directory filegroup( name = "sysroot_dir", diff --git a/packages/linux/aarch64/gcc/12.2.0/gcc.BUILD b/packages/linux/aarch64/gcc/12.2.0/gcc.BUILD index 232cd52..b733d0b 100644 --- a/packages/linux/aarch64/gcc/12.2.0/gcc.BUILD +++ b/packages/linux/aarch64/gcc/12.2.0/gcc.BUILD @@ -50,6 +50,11 @@ filegroup( srcs = ["bin/aarch64-unknown-linux-gnu-strip"], ) +filegroup( + name = "ld_library_paths", + srcs = [], +) + filegroup( name = "sysroot_dir", srcs = ["aarch64-unknown-linux-gnu/sysroot"], diff --git a/packages/linux/x86_64/autosd/10.0/autosd.BUILD b/packages/linux/x86_64/autosd/10.0/autosd.BUILD index d8c3077..17fef90 100644 --- a/packages/linux/x86_64/autosd/10.0/autosd.BUILD +++ b/packages/linux/x86_64/autosd/10.0/autosd.BUILD @@ -50,6 +50,11 @@ filegroup( srcs = ["usr/bin/strip"], ) +filegroup( + name = "ld_library_paths", + srcs = [], +) + # The sysroot for AutoSD is the entire extracted directory # since it contains usr/ and lib64/ at the root filegroup( diff --git a/packages/linux/x86_64/gcc/12.2.0/gcc.BUILD b/packages/linux/x86_64/gcc/12.2.0/gcc.BUILD index 9eba51a..32b547b 100644 --- a/packages/linux/x86_64/gcc/12.2.0/gcc.BUILD +++ b/packages/linux/x86_64/gcc/12.2.0/gcc.BUILD @@ -50,6 +50,11 @@ filegroup( srcs = ["bin/x86_64-unknown-linux-gnu-strip"], ) +filegroup( + name = "ld_library_paths", + srcs = [], +) + filegroup( name = "sysroot_dir", srcs = ["x86_64-unknown-linux-gnu/sysroot"], diff --git a/rules/gcc.bzl b/rules/gcc.bzl index a14f14e..7050def 100644 --- a/rules/gcc.bzl +++ b/rules/gcc.bzl @@ -50,6 +50,7 @@ cc_toolchain_config( cxx_binary = "@{tc_pkg_repo}//:cxx", gcov_binary = "@{tc_pkg_repo}//:gcov", strip_binary = "@{tc_pkg_repo}//:strip", + ld_library_path_dirs = "@{tc_pkg_repo}//:ld_library_paths", sysroot = "@{tc_pkg_repo}//:sysroot_dir", target_cpu = "{tc_cpu}", target_os = "{tc_os}", @@ -81,6 +82,7 @@ cc_toolchain_config( host_dir = "@{tc_pkg_repo}//:host_dir", target_dir = "@{tc_pkg_repo}//:target_dir", cxx_builtin_include_directories = "@{tc_pkg_repo}//:cxx_builtin_include_directories", + ld_library_path_dirs = "@{tc_pkg_repo}//:ld_library_path_dirs", target_cpu = "{tc_cpu}", target_os = "{tc_os}", visibility = ["//visibility:public"], diff --git a/templates/linux/cc_toolchain_config.bzl.template b/templates/linux/cc_toolchain_config.bzl.template index 3bce396..20bac1e 100644 --- a/templates/linux/cc_toolchain_config.bzl.template +++ b/templates/linux/cc_toolchain_config.bzl.template @@ -16,6 +16,8 @@ load("@bazel_tools//tools/build_defs/cc:action_names.bzl", "ACTION_NAMES") load("@bazel_tools//tools/cpp:cc_toolchain_config_lib.bzl", "action_config", + "env_entry", + "env_set", "feature", "feature_set", "flag_group", @@ -654,7 +656,27 @@ def _impl(ctx): sysroot = None if ctx.attr.sysroot != None: sysroot = ctx.attr.sysroot[DefaultInfo].files.to_list()[0].path + + # Get ld_library_paths from attribute if provided and set LD_LIBRARY_PATH environment variable for actions + if hasattr(ctx.attr, "ld_library_path_dirs") and ctx.attr.ld_library_path_dirs and ctx.attr.ld_library_path_dirs[DefaultInfo].files.to_list(): + values = ["/proc/self/cwd/" + entry.path for entry in ctx.attr.ld_library_path_dirs[DefaultInfo].files.to_list()] + ld_library_path = ":".join(values) + + sdk_env_feature = feature( + name = "sdk_env", + enabled = True, + env_sets = [ + env_set( + actions = all_actions, + env_entries = [ + env_entry(key = "LD_LIBRARY_PATH", value = ld_library_path), + ], + ), + ], + ) + features.append(sdk_env_feature) + return cc_common.create_cc_toolchain_config_info( ctx = ctx, abi_version = "%{tc_abi_version}", @@ -687,5 +709,6 @@ cc_toolchain_config = rule( "host_dir": attr.label(default = None), "target_dir": attr.label(default = None), "cxx_builtin_include_directories": attr.label(allow_files = True, default = None), + "ld_library_path_dirs": attr.label(allow_files = True, default = None), }, ) \ No newline at end of file From cd704ba8ec88b893cdefaba0553ee25ffe069d66 Mon Sep 17 00:00:00 2001 From: Oliver Pajonk Date: Mon, 23 Feb 2026 11:02:58 +0100 Subject: [PATCH 3/7] weird stuff --- packages/linux/aarch64/ebclfsa/0.1.0/ebclfsa.BUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/linux/aarch64/ebclfsa/0.1.0/ebclfsa.BUILD b/packages/linux/aarch64/ebclfsa/0.1.0/ebclfsa.BUILD index f646783..199ed61 100644 --- a/packages/linux/aarch64/ebclfsa/0.1.0/ebclfsa.BUILD +++ b/packages/linux/aarch64/ebclfsa/0.1.0/ebclfsa.BUILD @@ -17,7 +17,7 @@ package(default_visibility = ["//visibility:public"]) filegroup( name = "all_files", - srcs = glob(["*/**/*"], exclude = ["usr/share/ca-certificates/**","usr/lib/ssl/certs/**", "lib/ssl/certs/**", "etc/ssl/certs/**", "usr/share/man/**", "var/lib/**"]), + srcs = glob(["*/**/*"], exclude = ["usr/share/ca-certificates/**","usr/lib/ssl/certs/**", "lib/ssl/certs/**", "etc/ssl/certs/**", "usr/share/man/**", "usr/share/perl/**", "var/lib/**"]), ) filegroup( From a390fcf7944bf738728a908060044bf3cbafef13 Mon Sep 17 00:00:00 2001 From: Oliver Pajonk Date: Mon, 23 Feb 2026 12:00:37 +0100 Subject: [PATCH 4/7] add -L flags to compiler as well so it can resolve static libaries --- packages/version_matrix.bzl | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/packages/version_matrix.bzl b/packages/version_matrix.bzl index ff96662..17c59af 100644 --- a/packages/version_matrix.bzl +++ b/packages/version_matrix.bzl @@ -132,6 +132,13 @@ VERSION_MATRIX = { "external/%{toolchain_pkg}%/usr/lib/gcc-cross/aarch64-linux-gnu/13/include", "-isystem", "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/include", + "-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++", @@ -146,6 +153,13 @@ VERSION_MATRIX = { "external/%{toolchain_pkg}%/usr/lib/gcc-cross/aarch64-linux-gnu/13/include", "-isystem", "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/include", + "-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": [ "-L", @@ -160,7 +174,7 @@ VERSION_MATRIX = { "-static-libstdc++", "-static-libgcc", "-static", - "-no-canonical-prefixes" + "-no-canonical-prefixes", ], "sha256": "3b31952c513dd3ade46bc697f8a8796bff7b8ceef89152c5963a331c0ecdf1ed", "strip_prefix": "fastdev-sdk-ubuntu-ebclfsa-ebcl-qemuarm64", From 1463f369043c2f6ce076ad3999721d151a80571f Mon Sep 17 00:00:00 2001 From: Oliver Pajonk Date: Mon, 23 Feb 2026 15:22:39 +0100 Subject: [PATCH 5/7] reduce number of options --- .../linux/aarch64/ebclfsa/0.1.0/ebclfsa.BUILD | 2 +- packages/version_matrix.bzl | 82 ++++++++++--------- 2 files changed, 44 insertions(+), 40 deletions(-) diff --git a/packages/linux/aarch64/ebclfsa/0.1.0/ebclfsa.BUILD b/packages/linux/aarch64/ebclfsa/0.1.0/ebclfsa.BUILD index 199ed61..3195214 100644 --- a/packages/linux/aarch64/ebclfsa/0.1.0/ebclfsa.BUILD +++ b/packages/linux/aarch64/ebclfsa/0.1.0/ebclfsa.BUILD @@ -57,7 +57,7 @@ filegroup( filegroup( name = "ld_library_paths", - srcs = ["usr/lib/x86_64-linux-gnu"], + srcs = ["usr/lib/x86_64-linux-gnu", "lib/x86_64-linux-gnu"], ) # The sysroot for EBcLfSA is the entire extracted directory diff --git a/packages/version_matrix.bzl b/packages/version_matrix.bzl index 17c59af..fc7a397 100644 --- a/packages/version_matrix.bzl +++ b/packages/version_matrix.bzl @@ -127,57 +127,61 @@ VERSION_MATRIX = { "aarch64-linux-sdk_0.1.0-ebclfsa": { "build_file": "@score_bazel_cpp_toolchains//packages/linux/aarch64/ebclfsa/0.1.0:ebclfsa.BUILD", "extra_c_compile_flags": [ - "-nostdinc", - "-isystem", - "external/%{toolchain_pkg}%/usr/lib/gcc-cross/aarch64-linux-gnu/13/include", - "-isystem", - "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/include", - "-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", + # "-nostdinc", + # "-isystem", + # "external/%{toolchain_pkg}%/usr/lib/gcc-cross/aarch64-linux-gnu/13/include", + # "-isystem", + # "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/include", + # "-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", + # "--verbose", ], "extra_cxx_compile_flags": [ - "-nostdinc++", - "-isystem", - "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/include/c++/13", - "-isystem", - "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/include/c++/13/aarch64-linux-gnu", - "-isystem", - "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/include/c++/13/backward", - "-nostdinc", - "-isystem", - "external/%{toolchain_pkg}%/usr/lib/gcc-cross/aarch64-linux-gnu/13/include", - "-isystem", - "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/include", - "-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", + # "-nostdinc++", + # "-isystem", + # "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/include/c++/13", + # "-isystem", + # "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/include/c++/13/aarch64-linux-gnu", + # "-isystem", + # "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/include/c++/13/backward", + # "-nostdinc", + # "-isystem", + # "external/%{toolchain_pkg}%/usr/lib/gcc-cross/aarch64-linux-gnu/13/include", + # "-isystem", + # "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/include", + # "-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", + # "--verbose", ], "extra_link_flags": [ - "-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", + # "-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-canonical-prefixes", ], - "sha256": "3b31952c513dd3ade46bc697f8a8796bff7b8ceef89152c5963a331c0ecdf1ed", "strip_prefix": "fastdev-sdk-ubuntu-ebclfsa-ebcl-qemuarm64", + "sha256": "56ebcf0476d1cb7651304a42a7ac40b23a93655d075926ddb32fed316c22d811", "url": "https://github.com/elektrobit-contrib/eclipse-score_toolchains_gcc/releases/download/0.6.0-beta/fastdev-sdk-ubuntu-ebclfsa-ebcl-qemuarm64.tar.gz", }, "x86_64-qnx-sdp_8.0.0": { From 89d311bc4c1b85f3b147ca32045d427dd8452f5e Mon Sep 17 00:00:00 2001 From: Oliver Pajonk Date: Mon, 23 Feb 2026 15:22:48 +0100 Subject: [PATCH 6/7] add devcontainer --- .devcontainer/devcontainer.json | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .devcontainer/devcontainer.json diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..1c29e2f --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,5 @@ + +{ + "name": "eclipse-s-core", + "image": "ghcr.io/eclipse-score/devcontainer:v1.2.0" +} From b102789c80334c76ce683f870a4245427ec3c3df Mon Sep 17 00:00:00 2001 From: Oliver Pajonk Date: Mon, 23 Feb 2026 15:31:29 +0100 Subject: [PATCH 7/7] reenable options --- packages/version_matrix.bzl | 76 ++++++++++++++++++------------------- 1 file changed, 37 insertions(+), 39 deletions(-) diff --git a/packages/version_matrix.bzl b/packages/version_matrix.bzl index fc7a397..678b042 100644 --- a/packages/version_matrix.bzl +++ b/packages/version_matrix.bzl @@ -127,51 +127,49 @@ VERSION_MATRIX = { "aarch64-linux-sdk_0.1.0-ebclfsa": { "build_file": "@score_bazel_cpp_toolchains//packages/linux/aarch64/ebclfsa/0.1.0:ebclfsa.BUILD", "extra_c_compile_flags": [ - # "-nostdinc", - # "-isystem", - # "external/%{toolchain_pkg}%/usr/lib/gcc-cross/aarch64-linux-gnu/13/include", - # "-isystem", - # "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/include", - # "-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", + "-nostdinc", + "-isystem", + "external/%{toolchain_pkg}%/usr/lib/gcc-cross/aarch64-linux-gnu/13/include", + "-isystem", + "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/include", + "-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", - # "--verbose", ], "extra_cxx_compile_flags": [ - # "-nostdinc++", - # "-isystem", - # "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/include/c++/13", - # "-isystem", - # "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/include/c++/13/aarch64-linux-gnu", - # "-isystem", - # "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/include/c++/13/backward", - # "-nostdinc", - # "-isystem", - # "external/%{toolchain_pkg}%/usr/lib/gcc-cross/aarch64-linux-gnu/13/include", - # "-isystem", - # "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/include", - # "-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", + "-nostdinc++", + "-isystem", + "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/include/c++/13", + "-isystem", + "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/include/c++/13/aarch64-linux-gnu", + "-isystem", + "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/include/c++/13/backward", + "-nostdinc", + "-isystem", + "external/%{toolchain_pkg}%/usr/lib/gcc-cross/aarch64-linux-gnu/13/include", + "-isystem", + "external/%{toolchain_pkg}%/usr/aarch64-linux-gnu/include", + "-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", - # "--verbose", ], "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", + "-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",