[FFmpeg-devel] [PATCH] add cflags filtering rules for suncc

Michael Kostylev michael.kostylev
Sat Oct 31 23:54:19 CET 2009


On Sat Oct 31 20:11:16 2009
M?ns Rullg?rd wrote:

>>>>>> The -Os mapping may be ajusted/safely removed, -O2 is set just because 
>>>>>> the -O[3-5] options are currently unusable on x86.
>>>>> 
>>>>> Are you sure you attached the patch you're talking about there?  I see
>>>>> nothing about 3-5.
>>>>
>>>> Theoretically, `-O[3-5] -xspace' should work too, -xspace is an additional
>>>> flag, it is used to disable optimizations which increase code size.
>>>> Maybe `-O5 -xspace' works ok on sparc, I don't know.
>>> 
>>> The bugs should be tracked down and fixed or worked around.  Disabling
>>> optimisations is a bad idea (except for the gcc vectoriser, which will
>>> never be of any use).
>>
>> I thought that O2 is better than nothing and slightly better than O1.
>> Currently, non-working O3 requires some hackery with the options like 
>> --disable-optimizations --extra-cflags='-O2 -xregs=frameptr' or
>> --enable-small --disable-optimizations --extra-cflags='-O2 -xspace -xregs=frameptr'
> 
> But _why_ does -O[1-5] not work?  We should make sure the bug isn't in
> our code.

To be more precisely, compiling postprocess.c is a showstopper (yes, even 
motion_est is not an issue) on both x86 configurations. Iropt looks to be
deadlocked and can be stopped only with kill -9.

Building h264.c on amd64 with -O[3-5] raises
"h264.c", [decode_mb_cavlc]:ube: error: SIGNAL: Segmentation Fault
or a bunch of "syntax errors" reported by assembler (no optimization, -O[12]).

Futhermore, on amd64 x86/mlpdsp.c always fails to build with the following
message:
...x86/mlpdsp.c", line 44: address of a void object cannot be taken
...
...x86/mlpdsp.c", line 51: address of a void object cannot be taken

Michael



More information about the ffmpeg-devel mailing list