On 7/25/11, Måns Rullgård <[email protected]> wrote:
> Sean McGovern <[email protected]> writes:
>
>> Sun's compiler does not like much of the libav inline assembly, so disable
>> it by default.
>> ---
>>  configure |    1 +
>>  1 files changed, 1 insertions(+), 0 deletions(-)
>>
>> diff --git a/configure b/configure
>> index a83d339..2b41a4c 100755
>> --- a/configure
>> +++ b/configure
>> @@ -2016,6 +2016,7 @@ elif $cc -V 2>&1 | grep -q Sun; then
>>      DEPEND_CMD='$(DEPCC) $(DEPFLAGS) $< | sed -e "1s,^.*: ,$@: ," -e
>> "\$$!s,\$$, \\\," -e "1!s,^.*: , ," > $(@:.o=.d)'
>>      DEPFLAGS='$(CPPFLAGS) $(CFLAGS) -xM1'
>>      add_ldflags -xc99
>> +    disable asm
>>      speed_cflags='-O5'
>>      size_cflags='-O5 -xspace'
>>      filter_cflags=suncc_flags
>> --
>
> This disables *all* asm, even yasm, which is probably not what you want.
> The proper solution is to put all inline asm under #if HAVE_INLINE_ASM
> as is done for most other architectures.
>
> --
> Måns Rullgård
> [email protected]
> _______________________________________________
> libav-devel mailing list
> [email protected]
> https://lists.libav.org/mailman/listinfo/libav-devel
>

OK, discard this patch then. I will see what I can do about individual problems.

I started by investigating libavutil/x86/cpu.c last night.. It's
causing an ICE on line 77 -- a call to the cpuid() macro. I'm not at
the machine right now so I can't provide the error message. Oddly
enough if I disable optimization or just comment out that line, it
compiles fine -- the other calls to cpuid() don't have an issue.

I _think_ Sun CC is barfing on the union defined on line 48:

union { int i[3]; char c[12]; } version;

...especially because if I replace each of the union elements with
separate ints, it again compiles, with obviously incorrect results as
the union is now only zeroes.

Any thoughts or words of encouragement?

-- Sean McG
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to