Loïc Minier a écrit : > 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?
Well I don't really understand. The current version of ffmpeg (ie 0.cvs20060823-4) builds fine on arm. However the "missing" parts in your attached diff seems necessary. Looking closely, it looks like you applied the patch twice, which results in twice the same patch in 030_arm_workaround.diff and 030_arm_cpu_detect.diff. Could you confirm that? Bye, Aurelien > ------------------------------------------------------------------------ > > 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"\ This line ^^^^ is exactly the same as > +--- 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"\ this one ^^^^· > 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) This line ^^^^ is exactly the same as > +--- 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) this one ^^^^· > 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 The last two lines are actually duplicates of the two previous one. -- .''`. Aurelien Jarno | GPG: 1024D/F1BCDB73 : :' : Debian developer | Electrical Engineer `. `' [EMAIL PROTECTED] | [EMAIL PROTECTED] `- people.debian.org/~aurel32 | www.aurel32.net -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]