Author: kwizart
Update of /cvs/free/rpms/libmad/devel
In directory old02.ovh.rpmfusion.lan:/tmp/cvs-serv13925/devel
Modified Files:
libmad.spec
Added Files:
Provide-Thumb-2-alternative-code-for-MAD_F_MLN.diff
libmad.thumb.diff
Log Message:
Add support for ARM
Provide-Thumb-2-alternative-code-for-MAD_F_MLN.diff:
fixed.h | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
--- NEW FILE Provide-Thumb-2-alternative-code-for-MAD_F_MLN.diff ---
diff --git a/fixed.h b/fixed.h
index 4b58abf..ba4bc26 100644
--- a/fixed.h
+++ b/fixed.h
@@ -275,12 +275,25 @@ mad_fixed_t mad_f_mul_inline(mad_fixed_t x, mad_fixed_t y)
: "+r" (lo), "+r" (hi) \
: "%r" (x), "r" (y))
+#ifdef __thumb__
+/* In Thumb-2, the RSB-immediate instruction is only allowed with a zero
+ operand. If needed this code can also support Thumb-1
+ (simply append "s" to the end of the second two instructions). */
+# define MAD_F_MLN(hi, lo) \
+ asm ("rsbs %0, %2, #0\n\t" \
+ "sbc %1, %1, %1\n\t" \
+ "sub %1, %1, %3\n\t" \
+ : "=&r" (lo), "=&r" (hi) \
+ : "0" (lo), "1" (hi) \
+ : "cc")
+#else /* ! __thumb__ */
# define MAD_F_MLN(hi, lo) \
asm ("rsbs %0, %2, #0\n\t" \
"rsc %1, %3, #0" \
- : "=r" (lo), "=r" (hi) \
+ : "=&r" (lo), "=r" (hi) \
: "0" (lo), "1" (hi) \
: "cc")
+#endif /* __thumb__ */
# define mad_f_scale64(hi, lo) \
({ mad_fixed_t __result; \
libmad.thumb.diff:
imdct_l_arm.S | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- NEW FILE libmad.thumb.diff ---
--- ./imdct_l_arm.S.orig 2010-02-25 13:25:23.000000000 +0100
+++ ./imdct_l_arm.S 2010-02-25 13:27:26.000000000 +0100
@@ -468,7 +468,7 @@
@----
- add r2, pc, #(imdct36_long_karray-.-8) @ r2 = base address of Knn array (PIC
safe ?)
+ adr r2, imdct36_long_karray
loop:
Index: libmad.spec
===================================================================
RCS file: /cvs/free/rpms/libmad/devel/libmad.spec,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- libmad.spec 25 Jan 2012 14:50:28 -0000 1.8
+++ libmad.spec 30 Apr 2012 18:27:50 -0000 1.9
@@ -1,6 +1,6 @@
Name: libmad
Version: 0.15.1b
-Release: 14%{?dist}
+Release: 15%{?dist}
Summary: MPEG audio decoder library
Group: System Environment/Libraries
@@ -9,6 +9,10 @@
Source0:
http://download.sourceforge.net/mad/%{name}-%{version}.tar.gz
Patch0: libmad-0.15.1b-multiarch.patch
Patch1: libmad-0.15.1b-ppc.patch
+#https://bugs.launchpad.net/ubuntu/+source/libmad/+bug/534287
+Patch2: Provide-Thumb-2-alternative-code-for-MAD_F_MLN.diff
+#https://bugs.launchpad.net/ubuntu/+source/libmad/+bug/513734
+Patch3: libmad.thumb.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
BuildRequires: automake
@@ -34,8 +38,12 @@
%prep
%setup -q
+%ifarch %{ix86} x86_64 ppc ppc64
%patch0 -p1 -b .multiarch
+%endif
%patch1 -p1 -b .ppc
+%patch2 -p1 -b .alt_t2
+%patch3 -p1 -b .thumb
sed -i -e /-fforce-mem/d configure* # -fforce-mem gone in gcc 4.2, noop earlier
touch -r aclocal.m4 configure.ac NEWS AUTHORS ChangeLog
@@ -60,9 +68,12 @@
%build
autoreconf -sfi
%configure \
-%ifarch x86_64 ia64 ppc64
+%if %{__isa_bits} == 64
--enable-fpm=64bit \
%endif
+%ifarch %{arm}
+ --enable-fpm=arm \
+%endif
--disable-dependency-tracking \
--enable-accuracy \
--disable-debugging \
@@ -99,6 +110,11 @@
%changelog
+* Sat Apr 28 2012 Nicolas Chauvet <kwizart(a)gmail.com> - 0.15.1b-15
+- Don't use multiarch patch when the result is not hardcoded
+- Update FPM
+- Add patches from lp#534287 and lp#534287
+
* Wed Jan 25 2012 Nicolas Chauvet <kwizart(a)gmail.com> - 0.15.1b-14
- Rebuilt for
https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild