Diego Biurrun <[email protected]> writes:

> On Mon, Aug 06, 2012 at 01:14:56PM +0100, Måns Rullgård wrote:
>> Diego Biurrun <[email protected]> writes:
>> > On Mon, Aug 06, 2012 at 12:09:15PM +0100, Måns Rullgård wrote:
>> >> Diego Biurrun <[email protected]> writes:
>> >> > On Mon, Aug 06, 2012 at 04:09:13AM +0100, Mans Rullgard wrote:
>> >> >> This is required with oldish nasm versions still shipped with some
>> >> >> systems.  Without this patch, the code still builds but due to
>> >> >> a bug[1] crashes at runtime even if avx is not used.
>> >> >> 
>> >> >> ---
>> >> >>  libavcodec/x86/h264_deblock.asm       | 10 ++++++++++
>> >> >>  libavcodec/x86/h264_deblock_10bit.asm | 14 ++++++++++++++
>> >> >>  libavcodec/x86/h264dsp_mmx.c          |  2 +-
>> >> >>  libavcodec/x86/imdct36_sse.asm        |  4 ++++
>> >> >>  4 files changed, 29 insertions(+), 1 deletion(-)
>> >> >
>> >> > You missed instances in
>> >> >
>> >> > libavcodec/x86/proresdsp.asm
>> >> > libavresample/x86/audio_mix.asm
>> >> > libswscale/x86/input.asm
>> >> > libswscale/x86/output.asm
>> >> >
>> >> > I wonder if we shouldn't maybe blacklist that nasm version instead.
>> >> 
>> >> You were the one insisting on supporting whatever is in debian stale.
>> >
>> > I insist in the sense that we should either support it properly or error
>> > out during configure.  Right now configure does some tests reaching the
>> > conclusion that everything should be fine and then compilation fails.
>> > This situation is untenable.
>> 
>> You are overreacting.
>
> I just want to see the issue fixed.  I'd say we are making excellent
> progress.
>
>> > If blacklisting nasm 2.08 allows us to eliminate the AVX ifdefs, then
>> > I can perfectly live with that.  It's quite possibly the cleanest
>> > long-term solution.
>> 
>> The bug in question was fixed in nasm 2.09.04.
>
> So if we could somehow test for 2.09 we could eliminate the HAVE_AVX
> ifdefs?

The vextractf128 check fails on versions prior to 2.09.07, which is the
minimum version that assembles our avx code correctly.

Are you suggesting we make failure to pass this test disable _all_ asm?
AVX isn't all that widespread yet, so insisting on it to get anything at
all seems a bit harsh.

>> > Also note that Debian stable does contain yasm 0.8, which assembles libav
>> > just fine.
>> 
>> Then why do we care what nasm version it has?  We always use yasm if
>> that exists.  There's not even a configure flag to do otherwise.
>
> This must be a misunderstanding.  I originally stumbled across this
> issue on Cygwin.  Later I used my Debian stable box to test (forcing
> nasm in configure), because Cygwin is a pain to work with for extended
> periods of time.  At some point I must have mentioned it, mistakenly
> causing the impression that Debian 6.0 lacks yasm.
>
>> Now that's debian.  What about other systems, like cygwin?  Or AncientBSD?
>
> Cygwin comes with nasm 2.08 (of course you can compile yasm there).

You can compile yasm anywhere.  I thought this whole exercise was about
supporting what comes with the systems whenever possible.

-- 
Måns Rullgård
[email protected]
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to