On Sun, Aug 07, 2005 at 12:11:05PM +0200, Christian Aichinger wrote: > 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? Please see the patch in bug #288189 for a fix to this problem, pulled from ffmpeg upstream. (xine-lib includes a bundled version of ffmpeg.) Discussion elsewhere suggests that this is a regression in gcc-4.0 that *may* be fixable, but that the asm code in question is not the height of good style anyway, so there's not much point given that ffmpeg upstream has already fixed things on their end. -- Steve Langasek postmodern programmer
signature.asc
Description: Digital signature