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