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

Reimar Döffinger Reimar.Doeffinger
Sat Aug 21 08:22:05 CEST 2010


On Sat, Aug 21, 2010 at 12:31:15AM -0400, David Conrad wrote:
> On Aug 20, 2010, at 1:33 PM, Reimar D?ffinger wrote:
> 
> > 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).
> 
> It's not binutils being lenient; addressing with 32-bit registers is distinct from using 64-bit registers (it uses the 0x67 prefix.) If openbsd's binutils doesn't accept addressing using 32-bit registers it's buggy.

I somehow missed that existed...
It's still a bit of a waste of bytes, since it could use the 64 bit registers.

> But the usage in cabac seem buggy anyway since there's no guarantee that the table addresses will be in the lower 32 bits.

The e* registers are not used for any addresses, only for offsets.
Unless using the 0x67 prefix means using 32 bit addresses, not only
32 bit registers for the offsets...



More information about the ffmpeg-devel mailing list