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