[Ffmpeg-devel] Broken trunk on AMD64 with PIC enabled

Michael Niedermayer michaelni
Tue Apr 3 19:49:03 CEST 2007


Hi

On Tue, Apr 03, 2007 at 06:16:10PM +0200, Diego 'Flameeyes' Petten? wrote:
> I've been trying for a couple of days now to build FFmpeg on AMD64 with
> PIC enabled (both with --enable-shared and by enabling PIC externally
> to embed FFmpeg's build system with xine's), and it always fails with:
> 
> /tmp/ccVd770a.s: Assembler messages:
> /tmp/ccVd770a.s:31: Error: junk `(%rip)' after expression
> /tmp/ccVd770a.s:44: Error: junk `(%rip)' after expression
> /tmp/ccVd770a.s:46: Error: junk `(%rip)+128' after expression
> /tmp/ccVd770a.s:61: Error: junk `(%rip)' after expression
> /tmp/ccVd770a.s:15709: Error: junk `(%rip)' after expression
> /tmp/ccVd770a.s:15722: Error: junk `(%rip)' after expression
> 
> the code is, for instance:
> 
>         and    $0xC0       , %esi
>         movzbl ff_h264_lps_range(%rip)(%eax, %esi, 2), %esi
> 
> problem seems to come from cabac.h:
> 
>         "andl $0xC0, %%ebx                      \n\t"
>         "movzbl "MANGLE(ff_h264_lps_range)"(%0, %%ebx, 2), %%esi\n\t"
> 
> (as far as I can see, %ebx has been replaced with %esi on the output).
> 
> I have no clue what's causing this.

libavutil/internal.h
add a MANGLE2 without rip and use that where addressing over rip is inpossible

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

it is not once nor twice but times without number that the same ideas make
their appearance in the world. -- Aristotle
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20070403/ce0d0f51/attachment.pgp>



More information about the ffmpeg-devel mailing list