[FFmpeg-cvslog] r20101 - trunk/configure

Reimar Döffinger Reimar.Doeffinger
Wed Sep 30 20:51:14 CEST 2009


On Wed, Sep 30, 2009 at 07:46:14PM +0100, M?ns Rullg?rd wrote:
> Reimar D?ffinger <Reimar.Doeffinger at gmx.de> writes:
> 
> > On Wed, Sep 30, 2009 at 06:55:32PM +0200, reimar wrote:
> >> Author: reimar
> >> Date: Wed Sep 30 18:55:32 2009
> >> New Revision: 20101
> >> 
> >> Log:
> >> Use a "b" constraint instead of ebx clobber to detect if EBX is available.
> >> The test using clobber incorrectly indicates ebx to be available with the
> >> default compilers on OpenBSD 4.5 and Haiku.
> >
> > Great, now I broken OSX 64 bit.
> > This change makes them work both (and no, my original variant with =b
> > does not work either for OSX).
> > I'm not sure if it has something to do with -mdynamic-no-pic, but it all
> > doesn't make much sense.
> > Index: configure
> > ===================================================================
> > --- configure   (revision 20101)
> > +++ configure   (working copy)
> > @@ -2163,6 +2163,7 @@
> >
> >      # check whether EBX is available on x86
> >      check_asm ebx_available '""::"b"(0)'
> > +    enabled ebx_available && check_asm ebx_available '"":::"%ebx"'
> >
> >      # check whether more than 10 operands are supported
> >      check_cc <<EOF && enable ten_operands
> 
> This will disable it everywhere, since nothing else ever enables it.

No it doesn't, I sure tested it (well, I admit my testing is unreliable),
What it does is if the first test has enabled it, it runs the second test
and sets ebx_available to the result of the second test.

> What exactly is happening on OSX?  Did the original test work?

Yes.

> Assuming it did, maybe you can simply put back the ebx clobber in
> addition to the "b" operand.

Now _that_ will indeed disable it anywhere, I tested it for MPlayer
quite some time ago. The compiler will try to allocate ebx twice then
and fail (I admit I only tested on x86_64, at least there it will incorrectly
disable).



More information about the ffmpeg-cvslog mailing list