Skip to content

Commit ac216d2

Browse files
anforowiczAravind Vasudevan
authored andcommitted
[rust] build_crubit.py: *statically* linking C++ stdlib.
Bug: 1338217 Change-Id: I204f30522164d3ccce4c99a63c32162a939afe33 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3750106 Reviewed-by: Collin Baker <collinbaker@chromium.org> Commit-Queue: Łukasz Anforowicz <lukasza@chromium.org> Cr-Commit-Position: refs/heads/main@{#1050219} NOKEYCHECK=True GitOrigin-RevId: 5fe5d116d1ab94ff66a95411a5fcd2550cff6f78
1 parent 9df5d42 commit ac216d2

File tree

1 file changed

+2
-10
lines changed

1 file changed

+2
-10
lines changed

build_crubit.py

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -113,16 +113,8 @@ def BuildCrubit(gcc_toolchain_path):
113113
gcc_toolchain_flag = (f'--gcc-toolchain={gcc_toolchain_path}'
114114
if gcc_toolchain_path else '')
115115
env["BAZEL_CXXOPTS"] = gcc_toolchain_flag
116-
env["BAZEL_LINKOPTS"] = gcc_toolchain_flag
117-
# TODO(https://crbug.com/1338217): Link C++ stdlib *statically*.
118-
# Things tried so far:
119-
# - Attempts that result in a sefgault when compiling Rust rlib ...
120-
# 1a. env["BAZEL_LINKOPTS"] = f"{gcc_toolchain_flag}:-static"
121-
# 1b. extra_args += ["--features=fully_static_link"]
122-
# # Optionally: extra_args += ["--sandbox_debug"]
123-
# - Attempts that don't have any effect (`ldd ... rs_bindings_from_cc_impl`
124-
# still shows `libstdc++.so.6 => ...`):
125-
# 2. extra_args += ["--dynamic_mode=off"]
116+
env["BAZEL_LINKOPTS"] = f"{gcc_toolchain_flag}:-static-libstdc++"
117+
env["BAZEL_LINKLIBS"] = f"{gcc_toolchain_path}/lib64/libstdc++.a:-lm"
126118

127119
# Run bazel build ...
128120
args = [BAZEL_EXE, "build", "rs_bindings_from_cc:rs_bindings_from_cc_impl"]

0 commit comments

Comments
 (0)