Thanks guys but omitting -fomit-frame-pointer in the last gcc call or
replacing it with -fno-omit-frame-pointer resulted in the same error
(trying both gcc and clang).

Here's my output of gcc -v:
Using built-in specs.
Target: i686-apple-darwin11
Configured with:
/private/var/tmp/llvmgcc42/llvmgcc42-2336.1~1/src/configure
--disable-checking --enable-werror
--prefix=/Developer/usr/llvm-gcc-4.2 --mandir=/share/man
--enable-languages=c,objc,c++,obj-c++ --program-prefix=llvm-
--program-transform-name=/^[cg][^.-]*$/s/$/-4.2/
--with-slibdir=/usr/lib --build=i686-apple-darwin11
--enable-llvm=/private/var/tmp/llvmgcc42/llvmgcc42-2336.1~1/dst-llvmCore/Developer/usr/local
--program-prefix=i686-apple-darwin11- --host=x86_64-apple-darwin11
--target=i686-apple-darwin11
--with-gxx-include-dir=/usr/include/c++/4.2.1
Thread model: posix
gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.00)


clang reports the same error but it provides more verbose output:

CC      libavcodec/h264_cabac.o
fatal error: error in backend: Ran out of registers during register allocation!
Cannot allocate: %vreg6948,inf = [162608u,162612d:0)  0@162608u
Please check your inline asm statement for invalid constraints:
INLINEASM <es:movl ${6:a}($5), $2
        movl ${7:a}($5), $1
        movzbl ($4)    , $0
        mov    $2     , $3
        and    $$0xC0       , $2
        movzbl _ff_h264_lps_range($0, $2, 2), $2
        sub    $2     , $3
        mov    $3       , %ecx
        shl    $$17         , $3
        sub    $1       , $3
        sar    $$31         , $3
        sub    %ecx       , $2
        and    $3       , $2
        add    %ecx       , $2
        shl    $$17         , %ecx
        and    $3       , %ecx
        sub    %ecx       , $1
        xor    $3       , $0
        movzbl _ff_h264_norm_shift($2), %ecx
        shl    %cl        , $2
        movzbl _ff_h264_mlps_state+128($0), $3
        mov    ${3:b}   , ($4)
        shl    %cl        , $1
        test   ${1:w}   , ${1:w}
         jnz   1f
        mov ${8:a}($5), %ecx
        movzwl (%ecx)     , $3
        bswap  $3
        shr    $$15         , $3
        sub    $$0xFFFF     , $3
        add    $$2          , %ecx
        mov    %ecx   , ${8:a}($5)
        lea    -1($1)   , %ecx
        xor    $1       , %ecx
        shr    $$15         , %ecx
        movzbl _ff_h264_norm_shift(%ecx), %ecx
        neg    %ecx
        add    $$7          , %ecx
        shl    %cl        , $3
        add    $3       , $1
        1:
        movl $2, ${6:a}($5)
        movl $1, ${7:a}($5)
        > [sideeffect], $0:[regdef-ec], %vreg6948<earlyclobber,def>,
$1:[regdef-ec], %vreg3438<earlyclobber,def,dead>, $2:[regdef-ec],
%vreg3439<earlyclobber,def,dead>, $3:[regdef-ec],
%vreg3440<earlyclobber,def,dead>, $4:[reguse], %vreg3441<kill>,
$5:[reguse], %vreg6882<kill>, $6:[imm], 4, $7:[imm], 0, $8:[imm], 16,
$9:[clobber], %ECX<earlyclobber,imp-def,dead>, $10:[clobber],
%EFLAGS<earlyclobber,imp-def,dead>, <<badref>>;
GR32_ABCD:%vreg6948,%vreg3440
GR32:%vreg3438,%vreg3439,%vreg3441,%vreg6882
dbg:libavcodec/x86/cabac.h:93:5 @[ libavcodec/cabac.h:340:5 @[
libavcodec/h264_cabac.c:1726:13 @[ libavcodec/h264_cabac.c:1737:5 @[
libavcodec/h264_cabac.c:1762:5 @[ libavcodec/h264_cabac.c:2322:21 ] ]
] ] ]

make: *** [libavcodec/h264_cabac.o] Error 1


make V=1 of clang is:
clang -m32 -I. -I"/Users/user/Downloads/ffmpeg-0.8.7" -D_ISOC99_SOURCE
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DPIC -DHAVE_AV_CONFIG_H
-std=c99 -mdynamic-no-pic -fomit-frame-pointer -fPIC -g
-Wdeclaration-after-statement -Wall -Wno-parentheses -Wno-switch
-Wdisabled-optimization -Wpointer-arith -Wredundant-decls
-Wno-pointer-sign -Wcast-qual -Wwrite-strings -Wtype-limits -Wundef
-Wmissing-prototypes -Wno-pointer-to-int-cast -O3 -fno-math-errno
-fno-signed-zeros -mllvm -stack-alignment=16 -Qunused-arguments  -MMD
-c -o libavcodec/h264_cabac.o libavcodec/h264_cabac.c



At this point I'm just wiling to pay someone who can compile this for me ;-)


On Wed, Nov 23, 2011 at 2:13 AM, Carl Eugen Hoyos <[email protected]> wrote:
> Simon Daniels <simondaniels23@...> writes:
>
>> gcc -m32 -I. -I"/Users/user/Downloads/ffmpeg-0.8.7" -D_ISOC99_SOURCE
>> -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DHAVE_AV_CONFIG_H -std=c99
>> -mdynamic-no-pic -fomit-frame-pointer -g -Wdeclaration-after-statement
>> -Wall -Wno-parentheses -Wno-switch -Wdisabled-optimization
>> -Wpointer-arith -Wredundant-decls -Wno-pointer-sign -Wcast-qual
>> -Wwrite-strings -Wundef -Wmissing-prototypes -Wno-pointer-to-int-cast
>> -O3 -fno-math-errno -mllvm -stack-alignment=16  -MMD -MF
>> libavcodec/h264_cabac.d -MT libavcodec/h264_cabac.o -c -o
>> libavcodec/h264_cabac.o libavcodec/h264_cabac.c
>> cc1: error in backend: Ran out of registers during register allocation!
>> make: *** [libavcodec/h264_cabac.o] Error 1
>
> Afaict, this is a compiler error;-(
>
> Could you add the output of gcc-v?
> Does it make any difference if you use "./configure --cc='clang -m32'"?
>
> If you just want to compile FFmpeg, I suggest you copy above command (from gcc
> to cabac.c), paste it and remove -fomit-frame-pointer (or replace it with
> -fno-omit-frame-pointer). The compilation of h264_cabac.o should succeed and 
> you
> can run "make" to compile the rest of the project.
>
> Carl Eugen
>
> _______________________________________________
> Libav-user mailing list
> [email protected]
> http://ffmpeg.org/mailman/listinfo/libav-user
>
_______________________________________________
Libav-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/libav-user

Reply via email to