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
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
[changes brought forward from 1.15.1+dfsg1-1~exp3+rpi1 by Peter Michael Green <plugwash@raspbian.org> at Wed, 15 Mar 2017 10:16:18 +0000]
* Build for armv6.
[changes introduced in 1.18.0+dfsg1-4+rpi1 by Peter Michael Green]
* Disable testsuite.
[changes introduced in 1.37.0+dfsg1-1+rpi1 by Peter Michael Green]
* Set DEB_BUILD_RUST_TYPE based on the compiler that is actually installed.
[changes introduced in 1.42.0+dfsg1-1+rpi1 by Peter Michael Green]
* Use the compiler itself rather than dpkg to detect DEB_BUILD_RUST_TYPE
[changes introduced in 1.57.0+dfsg1-1+rpi1 by Peter Michael Green]
* Disable testsuite for arch all builds as well.