In Rust, library filenames include a version-specific hash to help
the run-time linker find the correct version. Unlike in C/C++, the
compiler looks for all libraries matching a glob that ignores the
hash and reads embedded metadata to work out versions, etc.
The upshot is that there is no need for the usual "libfoo.so ->
libfoo-1.2.3.so" symlink common with C/C++ when building with Rust,
and no need to communicate an alternate filename to use at run-time
vs compile time. If linking to a Rust dylib from C/C++ however, a
"libfoo.so -> libfoo-$hash.so" symlink may well be useful and in
this case DT_SONAME=libfoo-$hash.so would be required. More
mundanely, various tools (eg: dpkg-shlibdeps) complain if they don't
find DT_SONAME on shared libraries in public directories.
This patch passes -Wl,-soname=$outfile when building dylibs (and
using a GNU linker).
Our patch to mdbook installs symlinks to systems versions of font-awesome,
highlight, etc. Upstream mdbook otherwise doesn't use symlinks, so this
doesn't affect anything else that's already generated.
Comment: Use https://github.com/infinity0/mdBook/tree/debian to help you rebase the patch on top of a newer version. . Make sure the paths here match the ones in debian/rust-doc.links
Gbp-Pq: Name d-0002-mdbook-strip-embedded-libs.patch
Pietro Albini [Fri, 15 Sep 2023 14:09:45 +0000 (16:09 +0200)]
[PATCH] avoid blessing cargo deps's source code in ui tests
FG: just the stderr part for now, the rest needs a newer cargo Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Gbp-Pq: Name u-avoid-blessing-cargo-deps-s-source-code-in-ui-tests.patch
Josh Stone [Tue, 25 Jul 2023 20:11:50 +0000 (13:11 -0700)]
[PATCH] Allow using external builds of the compiler-rt profile lib
This changes the bootstrap config `target.*.profiler` from a plain bool
to also allow a string, which will be used as a path to the pre-built
profiling runtime for that target. Then `profiler_builtins/build.rs`
reads that in a `LLVM_PROFILER_RT_LIB` environment variable.
explicitly disable split unpacked debuginfo for now on riscv64,
it's broken and we don't want cargo to auto-enable it..
https://github.com/llvm/llvm-project/issues/56642
https://github.com/rust-lang/rust/issues/110224Z
Gbp-Pq: Name u-riscv-disable-unpacked-split-debuginfo.patch
When cfg(test), Config::parse doesn't parse a config.toml but uses default
values, failing when the initial rustc is needed. This is a workaround before
upstream issue gets solved.
Last-Update: 2023-03-29
Gbp-Pq: Name u-fix-get-toml-when-test.patch
cross_conmpile::alternate states it should only be used in test cases
after checking cross_compile::disabled(), which is missing here. these
tests fail despite setting CFG_DISABLE_CROSS_TESTS on i386, since both
the host and the alternate cross target would be i686 in that case.
Signed-off-by: Fabian Grünbichler <debian@fabian.gruenbichler.email>
Gbp-Pq: Name c-0003-tests-add-missing-cross-disabled-checks.patch