Fix the profiler runtime with compiler-rt-17
This commit is contained in:
parent
8570490240
commit
ef85dff5b3
36
rust.spec
36
rust.spec
@ -773,9 +773,14 @@ end}
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{?fedora} || 0%{?rhel} >= 8
|
%if 0%{?fedora} || 0%{?rhel} >= 8
|
||||||
# The exact profiler path is version dependent, and uses LLVM-specific
|
# Find the compiler-rt library for the Rust profiler_builtins crate.
|
||||||
# arch names in the filename, but this find is good enough for now...
|
%if 0%{?clang_major_version} >= 17
|
||||||
PROFILER=$(find %{_libdir}/clang -type f -name 'libclang_rt.profile-*.a')
|
PROFILER='%{clang_resource_dir}/lib/%{_arch}-redhat-linux-gnu/libclang_rt.profile.a'
|
||||||
|
%else
|
||||||
|
# The exact profiler path is version dependent..
|
||||||
|
PROFILER=$(echo %{_libdir}/clang/*/lib/libclang_rt.profile-%{_arch}.a)
|
||||||
|
%endif
|
||||||
|
test -r "$PROFILER"
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%configure --disable-option-checking \
|
%configure --disable-option-checking \
|
||||||
@ -919,16 +924,23 @@ rm -f %{buildroot}%{rustlibdir}/%{rust_triple}/bin/rust-ll*
|
|||||||
|
|
||||||
# Sanity-check the installed binaries, debuginfo-stripped and all.
|
# Sanity-check the installed binaries, debuginfo-stripped and all.
|
||||||
%{buildroot}%{_bindir}/cargo new build/hello-world
|
%{buildroot}%{_bindir}/cargo new build/hello-world
|
||||||
env RUSTC=%{buildroot}%{_bindir}/rustc \
|
(
|
||||||
LD_LIBRARY_PATH="%{buildroot}%{_libdir}:$LD_LIBRARY_PATH" \
|
cd build/hello-world
|
||||||
%{buildroot}%{_bindir}/cargo run --manifest-path build/hello-world/Cargo.toml
|
export RUSTC=%{buildroot}%{_bindir}/rustc \
|
||||||
|
LD_LIBRARY_PATH="%{buildroot}%{_libdir}:$LD_LIBRARY_PATH"
|
||||||
|
%{buildroot}%{_bindir}/cargo run --verbose
|
||||||
|
|
||||||
# Try a build sanity-check for other targets
|
%if 0%{?fedora} || 0%{?rhel} >= 8
|
||||||
for triple in %{?mingw_targets} %{?wasm_targets}; do
|
# Sanity-check that code-coverage builds and runs
|
||||||
env RUSTC=%{buildroot}%{_bindir}/rustc \
|
env RUSTFLAGS="-Cinstrument-coverage" %{buildroot}%{_bindir}/cargo run --verbose
|
||||||
LD_LIBRARY_PATH="%{buildroot}%{_libdir}:$LD_LIBRARY_PATH" \
|
test -r default_*.profraw
|
||||||
%{buildroot}%{_bindir}/cargo build --manifest-path build/hello-world/Cargo.toml --target=$triple
|
%endif
|
||||||
done
|
|
||||||
|
# Try a build sanity-check for other std-enabled targets
|
||||||
|
for triple in %{?mingw_targets} %{?wasm_targets}; do
|
||||||
|
%{buildroot}%{_bindir}/cargo build --verbose --target=$triple
|
||||||
|
done
|
||||||
|
)
|
||||||
|
|
||||||
# The results are not stable on koji, so mask errors and just log it.
|
# The results are not stable on koji, so mask errors and just log it.
|
||||||
# Some of the larger test artifacts are manually cleaned to save space.
|
# Some of the larger test artifacts are manually cleaned to save space.
|
||||||
|
Loading…
Reference in New Issue
Block a user