From 8fe9684914fce5fafd7143bf99bd315835882239 Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Aug 24 2007 08:47:32 +0000 Subject: Update from devel to get the PPC "bug fixes" --- diff --git a/liboil.spec b/liboil.spec index b12c445..7de895a 100644 --- a/liboil.spec +++ b/liboil.spec @@ -1,16 +1,29 @@ Summary: Library of Optimized Inner Loops, CPU optimized functions Name: liboil Version: 0.3.12 -Release: 5%{?dist} -License: LGPL +Release: 9%{?dist} +# See COPYING which details everything, various BSD licenses apply +License: BSD Group: System Environment/Libraries URL: http://liboil.freedesktop.org/ Source: http://liboil.freedesktop.org/download/liboil-%{version}.tar.gz + Patch1: liboil-0.3.9-s390.patch +# PPC64 isn't being detected properly # http://bugzilla.redhat.com/242418 -Patch2: liboil-0.3.12-ppc64-configure.patch +# Patch2: liboil-0.3.12-ppc64-configure.patch + +# Disable PPC altogether, as oil_prototype_from_string() crashes in malloc +# otherwise +# https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=252179#c16 +Patch2: liboil-0.3.12-disable-altivec.patch + +# Fix SIGILL handling for CPU tests +# https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=252179 +Patch3: liboil-0.3.12-altivec-sigill.patch +Patch4: liboil-0.3.12-altivec-sigill-2.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root -BuildRequires: glib2-devel, gcc-c++ +BuildRequires: glib2-devel %description Liboil is a library of simple functions that are optimized for various CPUs. @@ -34,29 +47,40 @@ and summing an array of N numbers. Clearly such functions are candidates for significant optimization using various techniques, especially by using extended instructions provided by modern CPUs (Altivec, MMX, SSE, etc.). - %prep %setup -q %patch1 -p1 -b .s390 %patch2 -p0 -b .ppc64 +pushd liboil +%patch3 -p0 -b .altivec +%patch4 -p0 -b .altivec2 +popd + +# Disable Altivec, so that liboil doesn't SIGILL on non-Altivec PPCs +# See https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=252179#c15 +sed -i 's/CFLAGS="$CFLAGS "-maltivec""/CFLAGS="$CFLAGS "-fno-tree-vectorize -Wa,-maltivec""/' configure +sed -i 's/LIBOIL_CFLAGS -maltivec/LIBOIL_CFLAGS -fno-tree-vectorize -Wa,-maltivec/' configure %build %configure +# Remove standard rpath from oil-bugreport +sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool +sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool # multi-jobbed make makes the build fail: # ./build_prototypes_doc >liboilfuncs-doc.h # /bin/sh: ./build_prototypes_doc: No such file or directory -# %{__make} %{?_smp_mflags} -%{__make} +#make %{?_smp_mflags} +make %install -%{__rm} -rf %{buildroot} -make install DESTDIR=$RPM_BUILD_ROOT -rm -f $RPM_BUILD_ROOT%{_libdir}/*.la -rm -f $RPM_BUILD_ROOT%{_libdir}/*.a +rm -rf %{buildroot} +make install DESTDIR=%{buildroot} +rm -f %{buildroot}%{_libdir}/*.la +rm -f %{buildroot}%{_libdir}/*.a %clean -%{__rm} -rf %{buildroot} +rm -rf %{buildroot} %post -p /sbin/ldconfig @@ -65,12 +89,12 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.a %files -%defattr(-, root, root, 0755) +%defattr(-,root,root,-) %doc ChangeLog %{_libdir}/*.so.* %files devel -%defattr(-, root, root, 0755) +%defattr(-,root,root,-) %{_bindir}/oil-bugreport %{_includedir}/* %{_libdir}/*.so @@ -79,13 +103,30 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.a %changelog -* Tue Aug 14 2007 - Bastien Nocera - 0.3.12-5 -- Revert previous change, it's not the fix +* Thu Aug 23 2007 - Bastien Nocera - 0.3.12-9 +- Disable Altivec so we don't crash on non-Altivec PPCs, see + https://bugzilla.redhat.com/bugzilla/process_bug.cgi#c16 -* Tue Aug 14 2007 - Bastien Nocera - 0.3.12-4 +* Thu Aug 16 2007 - Bastien Nocera - 0.3.12-8 +- And another go at fixing #252179 + +* Wed Aug 15 2007 - Bastien Nocera - 0.3.12-7 +- Add upstream patch to not crash on PPC machines without Altivec + (hopefully this time the right one) (#252179) + +* Tue Aug 14 2007 - Bastien Nocera - 0.3.12-6 +- Revert previous change it's not the fix + +* Tue Aug 14 2007 - Bastien Nocera - 0.3.12-5 - Add upstream patch to not crash on PPC machines without Altivec (#252179) +* Sun Aug 5 2007 Matthias Saou 0.3.12-4 +- Update License field. +- Remove standard gcc-c++ build requirement. +- Spec file cleanup, only consistency changes. +- Remove standard rpath from oil-bugreport. + * Mon Jun 04 2007 - Bastien Nocera - 0.3.12-3 - Add patch from David Woodhouse to allow building on ppc64 systems (#242418)