[FFmpeg-devel] swscale-test segfault with 64-bit icc 11.1

Reimar Döffinger Reimar.Doeffinger
Sat Jul 17 22:37:19 CEST 2010

On Sat, Jul 17, 2010 at 04:50:10PM -0300, Ramiro Polla wrote:
> Is this a compiler bug (as in should it detect a call inside asm)?
> Could (or should) we hint to the compiler that a call is being made
> inside the asm block (I don't even know if this is possible)?

The only idea I could quickly think of is to change code to use jmp
instead of call and store the return address in e.g. ebp.
However, that does not really work since ebp might be needed to resolve
the call address.
Setting up a local array which will also serve as call stack and storing
everything the ASM needs there and passing the asm only this one pointer
might work.
Probably will be easier if getting rid of the senseless
            "mov                      %0, %%"REG_c" \n\t"
            "mov                      %1, %%"REG_D" \n\t"
            "mov                      %2, %%"REG_d" \n\t"
and instead specify the proper constraints directly.
Changing the type of mmx2FilterCode to be a function pointer could
be made to serve as a hint to the compiler, but I guess that will
work rather badly.

More information about the ffmpeg-devel mailing list