On Fri, Jul 22, 2005 at 07:55:05AM -0700, Matt Kraai wrote: > Package: ffmpeg > Version: 0.cvs20050626-2 > Severity: serious > > ffmpeg fails to build because it clobbers the PIC register %ebx in > an asm:
I've a patch that fixes this problem, but compile doesn't succeed afterwords. The %ebx clobber can be safely deleted there, since ebx is not clobbered at all. It's saved on the stack in the beginning and restored later. However I get a compile error later, and that leaves me puzzled. For me it smells like a gcc problem: i386/h264dsp_mmx.c: In function ‘h264_h_loop_filter_luma_mmx2’: i386/dsputil_mmx.c:618: error: can't find a register in class ‘GENERAL_REGS’ while reloading ‘asm’ i386/dsputil_mmx.c:618: error: can't find a register in class ‘GENERAL_REGS’ while reloading ‘asm’ The reason I can't see a solution for that problem is that I don't see a problem. That asm statement doesn't even request registers, only memory operands... If noone else has an idea how to fix this, it could probably be cloned to gcc-4.0? Cheers, Christian Aichinger
Binary files ffmpeg-0.cvs20050626/libavcodec/i386/cputest.o and ffmpeg/libavcodec/i386/cputest.o differ Binary files ffmpeg-0.cvs20050626/libavcodec/i386/fdct_mmx.o and ffmpeg/libavcodec/i386/fdct_mmx.o differ Binary files ffmpeg-0.cvs20050626/libavcodec/libpostproc/postprocess.o and ffmpeg/libavcodec/libpostproc/postprocess.o differ diff -Nur ffmpeg-0.cvs20050626/libavcodec/libpostproc/postprocess_template.c ffmpeg/libavcodec/libpostproc/postprocess_template.c --- ffmpeg-0.cvs20050626/libavcodec/libpostproc/postprocess_template.c 2005-08-07 09:54:10.000000000 +0200 +++ ffmpeg/libavcodec/libpostproc/postprocess_template.c 2005-08-07 10:26:47.000000000 +0200 @@ -3289,7 +3289,6 @@ "r" ((long)srcStride), "r" ((long)dstStride) #if defined(PIC) && !defined(ARCH_X86_64) - : "%"REG_b #else : "%"REG_d #endif @@ -3343,7 +3342,7 @@ "r" ((long)srcStride), "r" ((long)dstStride) #if defined(PIC) && !defined(ARCH_X86_64) - : "%"REG_a, "%"REG_b + : "%"REG_a #else : "%"REG_a, "%"REG_d #endif Binary files ffmpeg-0.cvs20050626/libavcodec/oggvorbis.o and ffmpeg/libavcodec/oggvorbis.o differ
signature.asc
Description: Digital signature