[FFmpeg-devel] [RFC] fix AMD64 OpenBSD 4.7 compilation

Måns Rullgård mans
Fri Aug 20 20:30:08 CEST 2010

Reimar D?ffinger <Reimar.Doeffinger at gmx.de> writes:

> Hello,
> newer binutils are very lenient, accepting e.g. eax as register for
> addressing (which means silently substituting it by rax, since eax can't
> be used for addresses).
> OpenBSD 4.7 comes with an older binutils that does not work like that.
> Issues are in libavcodec/cabac.h and libavcodec/x86/vp56_arith.h.
> Attached is a quick hack that fixes the build, though to avoid larger
> changes the CABAC code now generates different code on 64 bit
> (otherwise the macro would need far more arguments, the register name
> for calculations and the one for addressing - e.g. eax and REG_a).
> Anotther strange thing is that just using movzb instead of movzbl
> works fine, however movzw is not recognized, you have to explicitly
> use either movzwl or movzwq though to my knowledge both result in the
> same instruction code...
> Opinions?

I am of the opinion that x86 is a bloody mess.

M?ns Rullg?rd
mans at mansr.com

More information about the ffmpeg-devel mailing list