[FFmpeg-cvslog] r20101 - trunk/configure
Måns Rullgård
mans
Wed Sep 30 21:49:55 CEST 2009
Reimar D?ffinger <Reimar.Doeffinger at gmx.de> writes:
> 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.
Sorry, I misread the patch. Does it work with a simple && between the
commands instead? It might need a trivial change to make check_asm
return the status of the test (I don't remember how it's written),
which in that case I think we should do.
>> 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).
Oh, so that's how gcc operates. Don't do that then.
--
M?ns Rullg?rd
mans at mansr.com
More information about the ffmpeg-cvslog
mailing list