Sun C Compiler: Difference between revisions

From MultimediaWiki
Jump to navigation Jump to search
No edit summary
 
(mention more issues)
Line 17: Line 17:


A number of functions are miscompiled due to bug #6895158.
A number of functions are miscompiled due to bug #6895158.
The assembler does not accept 32-bit register addressing unless -a32 option is used (bug #6905803), --extra-cflags=-Wa,-a32 are added to the list of  configure options as a workaround.
libavcodec/x86/mlpdsp.c is unbuildable, compilation fails with the messages "address of a void object cannot be taken". The mlp decoder is disabled using a configure option.

Revision as of 13:14, 7 April 2010

The Sun C Compiler (suncc) is a part of the Sun Studio compiler suite which latest version is freely downloadable for OpenSolaris users and SDN members. The license terms are quite restrictive though. Sun Studio 12 Update 1 provides suncc of version 5.10, the suite itself is available for the following platforms:

  • (Open)Solaris/SPARC
  • (Open)Solaris/x86
  • Linux/x86

FFmpeg

The most of compiler-related issues are raised with inline assembly and optimizations enabled. The simplest workaround is to pass --disable-asm option to configure.

FATE currently covers two x86 configurations:

suncc 5.10, Linux/x86_32

The function get_cabac_bypass_sign() is miscompiled (bug #6895158 - registers mentioned in the clobber list are used by the compiler).

suncc 5.10, Linux/x86_64

A number of functions are miscompiled due to bug #6895158.

The assembler does not accept 32-bit register addressing unless -a32 option is used (bug #6905803), --extra-cflags=-Wa,-a32 are added to the list of configure options as a workaround.

libavcodec/x86/mlpdsp.c is unbuildable, compilation fails with the messages "address of a void object cannot be taken". The mlp decoder is disabled using a configure option.