From 3325c20b1371d4f708020435d8d0787e39304d48 Mon Sep 17 00:00:00 2001 From: Slava Barinov Date: Tue, 1 Aug 2017 11:37:43 +0300 Subject: Remove ld.so from /emul to prevent name clashing In certain cases (e.g. qemu-accel-aarch64 on x86_64 host) ld-2.24.so from /emul can be executed instead of native one, this break `ldd' tool. Change-Id: Ibb21d9356f9770d23b12ac94c38c9228cef618b6 Signed-off-by: Slava Barinov --- packaging/qemu-accel-aarch64.spec | 4 ++++ packaging/qemu-accel-armv7l.spec | 4 ++++ packaging/qemu-accel.spec.in | 4 ++++ 3 files changed, 12 insertions(+) (limited to 'packaging') diff --git a/packaging/qemu-accel-aarch64.spec b/packaging/qemu-accel-aarch64.spec index f267cf0..7e735c5 100644 --- a/packaging/qemu-accel-aarch64.spec +++ b/packaging/qemu-accel-aarch64.spec @@ -433,6 +433,10 @@ awk '/post "/ && !x {print $0; print " post \"echo export\\ CLANG_NO_LIBDIR_SUF awk '/post "/ && !x {print $0; print " post \"echo '%{our_path}/lib' >> /etc/ld.so.conf\"\n"; x=1;next} 1' %{_sourcedir}/baselibs.conf > baselibs_updated && mv baselibs_updated %{_sourcedir}/baselibs.conf } +# Remove the ld-$VERSION.so to prevent name clashing with native ld.so +find %{buildroot}%{our_path}%{_libdir} -name 'ld-*.so' -delete +sed -e '\|%{our_path}%{_libdir}/ld-[[:digit:]].*\.so|d' -i %{_sourcedir}/all-accel.list + # allow build of baselibs.conf sed -e "/targettype %{cross} block!/d" -i %{_sourcedir}/baselibs.conf diff --git a/packaging/qemu-accel-armv7l.spec b/packaging/qemu-accel-armv7l.spec index b202934..fb7c359 100644 --- a/packaging/qemu-accel-armv7l.spec +++ b/packaging/qemu-accel-armv7l.spec @@ -433,6 +433,10 @@ awk '/post "/ && !x {print $0; print " post \"echo export\\ CLANG_NO_LIBDIR_SUF awk '/post "/ && !x {print $0; print " post \"echo '%{our_path}/lib' >> /etc/ld.so.conf\"\n"; x=1;next} 1' %{_sourcedir}/baselibs.conf > baselibs_updated && mv baselibs_updated %{_sourcedir}/baselibs.conf } +# Remove the ld-$VERSION.so to prevent name clashing with native ld.so +find %{buildroot}%{our_path}%{_libdir} -name 'ld-*.so' -delete +sed -e '\|%{our_path}%{_libdir}/ld-[[:digit:]].*\.so|d' -i %{_sourcedir}/all-accel.list + # allow build of baselibs.conf sed -e "/targettype %{cross} block!/d" -i %{_sourcedir}/baselibs.conf diff --git a/packaging/qemu-accel.spec.in b/packaging/qemu-accel.spec.in index 22c2ae8..e073b71 100644 --- a/packaging/qemu-accel.spec.in +++ b/packaging/qemu-accel.spec.in @@ -430,6 +430,10 @@ awk '/post "/ && !x {print $0; print " post \"echo export\\ CLANG_NO_LIBDIR_SUF awk '/post "/ && !x {print $0; print " post \"echo '%{our_path}/lib' >> /etc/ld.so.conf\"\n"; x=1;next} 1' %{_sourcedir}/baselibs.conf > baselibs_updated && mv baselibs_updated %{_sourcedir}/baselibs.conf } +# Remove the ld-$VERSION.so to prevent name clashing with native ld.so +find %{buildroot}%{our_path}%{_libdir} -name 'ld-*.so' -delete +sed -e '\|%{our_path}%{_libdir}/ld-[[:digit:]].*\.so|d' -i %{_sourcedir}/all-accel.list + # allow build of baselibs.conf sed -e "/targettype %{cross} block!/d" -i %{_sourcedir}/baselibs.conf -- cgit v1.2.3