Sun C Compiler

From MultimediaWiki
Revision as of 10:46, 23 September 2010 by Mik (talk | contribs) (Oracle Solaris Studio 12.2)
Jump to navigation Jump to search

The Sun C Compiler (suncc) is a part of the Oracle Solaris Studio (previously Sun Studio) compiler suite which latest version is freely downloadable for OTN members. The license terms are quite restrictive though. Oracle Solaris Studio 12.2 provides suncc of version 5.11, the suite itself is available for the following platforms:

  • Solaris10/SPARC
  • Solaris10/x86
  • Linux/x86

The Sun Studio 12 Update 1 and some older Express Editions still can be installed from the OpenSolaris Repositories.

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. The GPL code is disabled because of bug #6901853 (a deadlock of the optimizer during compiling libpostproc/postprocess.c) and #6905799 (an assertion when compiling libswscale/swscale.c). These issues can be worked around by reducing the optimization level to -O2 and -O3 respectively.

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.