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

Reimar Döffinger Reimar.Doeffinger
Fri Aug 20 19:33:22 CEST 2010


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?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: obsdcomp.diff
Type: text/x-diff
Size: 11251 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20100820/2cee5b07/attachment.diff>



More information about the ffmpeg-devel mailing list