diff --git a/examples/rule_based_toolchain/MODULE.bazel b/examples/rule_based_toolchain/MODULE.bazel index cdd551733..6f1f37868 100644 --- a/examples/rule_based_toolchain/MODULE.bazel +++ b/examples/rule_based_toolchain/MODULE.bazel @@ -57,6 +57,10 @@ http_archive( http_archive( name = "gcc-linux-x86_64", build_file = "//toolchains/gcc:gcc.BUILD", + patches = [ + "//toolchains/gcc:patchs/libc.so.patch", + "//toolchains/gcc:patchs/libm.so.patch", + ], integrity = "sha256-kygjypo+Bn5+KimBCmZtIMnMW7VQ3pR/aHnjis4aqVU=", strip_prefix = "x86-64--glibc--stable-2024.05-1", urls = ["https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64/tarballs/x86-64--glibc--stable-2024.05-1.tar.xz"], diff --git a/examples/rule_based_toolchain/toolchains/gcc/BUILD.bazel b/examples/rule_based_toolchain/toolchains/gcc/BUILD.bazel index 5f093347d..147df04ca 100644 --- a/examples/rule_based_toolchain/toolchains/gcc/BUILD.bazel +++ b/examples/rule_based_toolchain/toolchains/gcc/BUILD.bazel @@ -16,7 +16,7 @@ load("@rules_cc//cc/toolchains:make_variable.bzl", "cc_make_variable") load("@rules_cc//cc/toolchains:toolchain.bzl", "cc_toolchain") licenses(["notice"]) - +exports_files(glob(["patchs/*.patch"])) cc_make_variable( name = "example_variable", value = "-DEXAMPLE=1", diff --git a/examples/rule_based_toolchain/toolchains/gcc/patchs/libc.so.patch b/examples/rule_based_toolchain/toolchains/gcc/patchs/libc.so.patch new file mode 100644 index 000000000..5b7bd35f9 --- /dev/null +++ b/examples/rule_based_toolchain/toolchains/gcc/patchs/libc.so.patch @@ -0,0 +1,8 @@ +--- x86_64-buildroot-linux-gnu/sysroot/usr/lib/libc.so 2025-12-20 10:56:49.263016218 +0000 ++++ x86_64-buildroot-linux-gnu/sysroot/usr/lib/libc.so 2025-12-20 10:57:10.713016082 +0000 +@@ -2,4 +2,4 @@ + Use the shared library, but some functions are only in + the static library, so try that secondarily. */ + OUTPUT_FORMAT(elf64-x86-64) +-GROUP ( /lib64/libc.so.6 /usr/lib64/libc_nonshared.a AS_NEEDED ( /lib64/ld-linux-x86-64.so.2 ) ) ++GROUP ( libc.so.6 libc_nonshared.a AS_NEEDED ( ld-linux-x86-64.so.2 ) ) diff --git a/examples/rule_based_toolchain/toolchains/gcc/patchs/libm.so.patch b/examples/rule_based_toolchain/toolchains/gcc/patchs/libm.so.patch new file mode 100644 index 000000000..c10ca148a --- /dev/null +++ b/examples/rule_based_toolchain/toolchains/gcc/patchs/libm.so.patch @@ -0,0 +1,8 @@ +--- x86_64-buildroot-linux-gnu/sysroot/usr/lib/libm.so 2025-12-20 10:23:21.186653789 +0000 ++++ x86_64-buildroot-linux-gnu/sysroot/usr/lib/libm.so 2025-12-20 10:23:38.186652581 +0000 +@@ -1,4 +1,4 @@ + /* GNU ld script + */ + OUTPUT_FORMAT(elf64-x86-64) +-GROUP ( /lib64/libm.so.6 AS_NEEDED ( /lib64/libmvec.so.1 ) ) ++GROUP ( libm.so.6 AS_NEEDED ( libmvec.so.1 ) )