Sun C Compiler: Difference between revisions

From MultimediaWiki
Jump to navigation Jump to search
(mention more issues)
(add two issues)
Line 8: Line 8:
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.
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:
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 ==
== suncc 5.10, Linux/x86_32 ==

Revision as of 08:56, 8 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. 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.