diff options
| author | Paolo Bonzini <pbonzini@redhat.com> | 2025-11-12 13:37:47 +0100 |
|---|---|---|
| committer | Dylan Baker <dylan@pnwbakers.com> | 2025-11-12 14:56:22 -0800 |
| commit | c53317f7580a3cb8d92e832159ae38a1a278dba0 (patch) | |
| tree | 30722fd5e16432cc539ea8b17cca59cf579df1a8 | |
| parent | 2ea823c80a89c8fca258a1fc3580bd27c5eec3be (diff) | |
| download | meson-c53317f7580a3cb8d92e832159ae38a1a278dba0.tar.gz | |
rust: always pass -C default-linker-libraries
This is often needed for mixed Rust/C programs, and in particular always
needed with sanitizers. Add it always.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
| -rw-r--r-- | docs/markdown/snippets/rust-default-linker-libs.md | 5 | ||||
| -rw-r--r-- | mesonbuild/compilers/rust.py | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/docs/markdown/snippets/rust-default-linker-libs.md b/docs/markdown/snippets/rust-default-linker-libs.md new file mode 100644 index 000000000..9e54c0f49 --- /dev/null +++ b/docs/markdown/snippets/rust-default-linker-libs.md @@ -0,0 +1,5 @@ +## Passing `-C default-linker-libraries` to rustc + +When calling rustc, Meson now passes the `-C default-linker-libraries` option. +While rustc passes the necessary libraries for Rust programs, they are rarely +enough for mixed Rust/C programs. diff --git a/mesonbuild/compilers/rust.py b/mesonbuild/compilers/rust.py index 32b8d8dae..a32499ce8 100644 --- a/mesonbuild/compilers/rust.py +++ b/mesonbuild/compilers/rust.py @@ -338,7 +338,7 @@ class RustCompiler(Compiler): @functools.lru_cache(maxsize=None) def get_linker_always_args(self) -> T.List[str]: - return rustc_link_args(super().get_linker_always_args()) + return rustc_link_args(super().get_linker_always_args()) + ['-Cdefault-linker-libraries'] def get_embed_bitcode_args(self, bitcode: bool, lto: bool) -> T.List[str]: if bitcode: |
