On Mon, Sep 25, 2006, Aurelien Jarno wrote:
> ffmpeg fails to build from source because of broken assembly code.
> Please find attached a patch to workaround that by using the C code
> instead of the assembly code. Note also that this patch fixes the
> detection of the arm CPUs.

 Weird, some patches were added in 0.cvs20060823-4, but these seem to
 differ from the one attached here.  Aurélien, could you check whether
 the missing bits (attached) are important?

   Thanks!

-- 
Loïc Minier <[EMAIL PROTECTED]>
Index: debian/patches/030_arm_workaround.diff
===================================================================
--- debian/patches/030_arm_workaround.diff (révision 140)
+++ debian/patches/030_arm_workaround.diff (copie de travail)
@@ -9,3 +9,14 @@
  #   define MULL(a, b) \
          ({  int lo, hi;\
              asm("smull %0, %1, %2, %3     \n\t"\
+--- ffmpeg-0.cvs20060823.orig/libavcodec/mpegaudiodec.c
++++ ffmpeg-0.cvs20060823/libavcodec/mpegaudiodec.c
+@@ -55,7 +55,7 @@
+         ({ int64_t rt; asm ("imull %2\n\t" : "=A"(rt) : "a" (ra), "g" (rb)); rt; })
+ #   define MULH(ra, rb) \
+         ({ int rt, dummy; asm ("imull %3\n\t" : "=d"(rt), "=a"(dummy): "a" (ra), "rm" (rb)); rt; })
+-#elif defined(ARCH_ARMV4L)
++#elif defined(ARCH_ARMV4L_BROKEN)
+ #   define MULL(a, b) \
+         ({  int lo, hi;\
+             asm("smull %0, %1, %2, %3     \n\t"\
Index: debian/patches/030_arm_cpu_detect.diff
===================================================================
--- debian/patches/030_arm_cpu_detect.diff (révision 140)
+++ debian/patches/030_arm_cpu_detect.diff (copie de travail)
@@ -11,3 +11,16 @@
      cpu="armv4l"
    ;;
    alpha)
+--- ffmpeg-0.cvs20060823.orig/configure
++++ ffmpeg-0.cvs20060823/configure
+@@ -360,8 +360,8 @@
+       fi
+     fi
+   ;;
+-  # armv4l is a subset of armv5tel
+-  armv4l|armv5tel)
++  # armv4l is a subset of armv[567]*l
++  armv[4567]*l)
+     cpu="armv4l"
+   ;;
+   alpha)
Index: debian/patches/series
===================================================================
--- debian/patches/series (révision 140)
+++ debian/patches/series (copie de travail)
@@ -11,3 +11,5 @@
 020_really_use_liba52.diff
 030_arm_cpu_detect.diff
 030_arm_workaround.diff
+030_arm_cpu_detect.diff
+030_arm_workaround.diff
Index: debian/changelog
===================================================================
--- debian/changelog (révision 140)
+++ debian/changelog (copie de travail)
@@ -1,8 +1,13 @@
 ffmpeg (0.cvs20060823-5) UNRELEASED; urgency=low
 
   * Add myself to Uploaders.
+  * Update patches to fix arm build failures; thanks Aurélien Jarno;
+    closes: #389346.
+    - 030_arm_workaround.diff: disable the broken ARM assembly code in
+      libavcodec/mpegaudiodec.c.
+    - 030_arm_cpu_detect: correctly detect the newer ARM CPUs.
 
- -- Loic Minier <[EMAIL PROTECTED]>  Tue, 23 Jan 2007 21:54:34 +0100
+ -- Loic Minier <[EMAIL PROTECTED]>  Tue, 23 Jan 2007 22:25:40 +0100
 
 ffmpeg (0.cvs20060823-4) unstable; urgency=high
 

Reply via email to