[FFmpeg-cvslog] r29011 - in trunk/libswscale: swscale.c swscale_internal.h swscale_template.c

Reimar Döffinger Reimar.Doeffinger
Fri Mar 20 18:24:02 CET 2009


On Fri, Mar 20, 2009 at 06:18:05PM +0100, Gwenole Beauchesne wrote:
> On Fri, 20 Mar 2009, Reimar D?ffinger wrote:
> 
> > On Fri, Mar 20, 2009 at 05:58:30PM +0100, Gwenole Beauchesne wrote:
> >> On Fri, 20 Mar 2009, Reimar D?ffinger wrote:
> >> 
> >> > When you write a special x86_64 version where you have 16 registers
> >> > available, what in the seven hells makes you use rbx, which is almost
> >> > guaranteed to have issues?
> >> > Fixed it, though I did not test it particularly thoroughly.
> >> 
> >> I don't think this would change anything, %rbx is not the PIC register on 
> >> x86_64. The GOT is %rip relative, that was the goal. ;-)
> >
> > Quoted from FATE:
> >> /Users/melanson/fate/source/libswscale/swscale_template.c:1247: error: PIC register ?%rbx? clobbered in ?asm?
> >
> > Either you are wrong or gcc is wrong. I guess you are because you
> > actually don't know the OSX x86_64 ABI.
> 
> Mmmm, Mach-O was already a gross hack on 32-bit x86... I wonder what they 
> use the %rip register for then.

I have no idea and not much interest and would not exclude a compiler
bug, but it might well be a provision intended to allow combining 32 and
64 bit code, preserving the PIC pointer in rbx for use as ebx by any 32
bit code.




More information about the ffmpeg-cvslog mailing list