Login | Register
Login | Register

My pages Projects SunSource.net openCollabNet
OpenSPARC.net >  Cool Tools >  GCC for SPARC® Systems 4.0.3 >  Release Notes

Cool Tools - GCC for SPARC® Systems 4.0.3 - Release Notes

Content

  1. Documentation Information
  2. System Requirements
  3. Installation
  4. New Features
  5. Differences in Command-Line Options from GCC 4.0.3
  6. Differences in Command-Line Options from GCC for SPARC Systems release 4.0.2
  7. Debugging Issues
  8. Known Bugs
  9. Support

1. Documentation Information

In addition to these release notes, the following documentation is available for GCC for SPARC Systems:

Resource Description
GCC for SPARC Systems Porting Guide Information about porting from earlier versions of GCC to GCC for SPARC Systems
manual pages man pages for GCC for SPARC Systems are installed under /opt/gcc/man.
--help output A list of command-line options provided when gcc, g++, or c++ is invoked with the --help option
GCC online documentation Online documentation of GCC 4.0.3 on which GCC for SPARC Systems is based

General information about the GCC for SPARC Systems project can be found on the following web page: GCC for SPARC Systems Project Home Page

2. System Requirements

OS: SolarisTM 9 or SolarisTM 10 Operating System
CPU: UltraSPARC® II processor or above
Disk space:  130Mbyte
Memory: 512M minimum, 1G recommended
Swap: 1G minimum, 2G recommended

2.1 Required OS Patches For proper operation of the GCC for SPARC Systems compiler, the following Solaris patches should be installed on any system on which the GCC for SPARC Systems compilers are to be run:

Solaris Version Component Patch ID
9 Linker 112963-22
9 libmtsk 117560-03
9 libm 111722-04
10 Linker 117461-04
10 libmtsk 120753-01
10U1 elfexec 121694-01

The appropriate libmtsk patch must be applied to any system on which automatically parallelized programs generated by GCC for SPARC Systems are to be run.

The elfexec patch must be applied on all Solaris 10 Update 1 systems on which binaries instrumented or optimized by BIT will be run.

Each of these patches may be downloaded from http://sunsolve.sun.com. Note that the last two digits of each patch ID is its version number. Patches with version numbers higher than the ones listed above are also acceptable.

If you use components of GNU binutils to process files compiled with -xbinopt=prepare by "GCC for SPARC Systems", you should use binutils version 2.15.96 or later.

3. Installation

GCC for SPARC Systems can be installed by downloading and installing Solaris packages. For details on where to obtain the packages and how to install them, please see the installation guide.

Also note that the packaging has changed with this release. The new package simplifies the install process.

4. New Features

This release introduces automatic Solaris release version detection. The compilers now detect whether the operating system is Solaris 10 or not and proceeds appropriately.

The release also includes the Thread Analyzer tool. Use the Thread Analyzer to analyze the execution of a multi-threaded program and check for a variety of multi-threaded programming errors such as data races and deadlocks.

5. Differences in Command-Line Options from GCC 4.0.3

The man pages and the output of the --help option of the GCC for SPARC Systems compilers list all of the accepted command-line options.

All compiler options accepted by GCC 4.0.3 are also accepted by GCC for SPARC Systems. However, some of these options have no effect in GCC for SPARC Systems. See the GCC for SPARC Systems Porting Guide for more details.

GCC for SPARC Systems also supports several options that are not supported by GCC 4.0.3. These include -parallel, -fast, and -xipo. See the GCC for SPARC Systems Porting Guide for more details. Certain restrictions must be observed when using the new -xbinopt=prepare option. These are described in the document Using -xbinopt=prepare.

6. Differences in Command-Line Options from GCC for SPARC Systems release 4.0.2

The processing of -mcpu, -mtune, -xarch, and -xtarget has been revamped in release 4.0.3. A table showing the effect of mixing these options is available.

The command line option -xinstrument=datarace has been introduced in this release. Use this option to instrument your code for data race detection when using the Thread Analyzer.

7. Debugging Issues

GCC for SPARC Systems generates dwarf2 debug information with -g compilation. Currently the generated debug information is incomplete in some respects. This section describes user observable issues when debugging GCC for SPARC Systems generated binaries using the gdb debugger, resulting from incomplete debug information. Although the description focuses mainly on -O0 compilation, similar issues apply to compilation at other optimization levels.

Known issues with -O0 debugging of C/C++ programs

  • Debug information for unused variables and types are not generated by default and thus cannot be examined during debugging.
  • Functions defined in precompiled header files get incorrect source location. Such functions will appear in the debugger as if they were defined in the main source file.
  • # line directive is not currently supported. Therefore the wrong source file might be attributed to a line of code.
  • Watchpoints are not supported.
  • Incorrect values of struct and float arguments will be observed in the debugger.

For C++ programs, most features are supported for debugging. Unsupported or partially supported features are listed below

  • Namespace types
  • Overloaded methods
  • Templates

8. Known Bugs

As of August 1st, 20006 all of the GCC for SPARC Systems problems reported on the CoolTools Forum have been fixed in version 4.0.3. These include:

  • Cannot build ASPELL. invalid sh_info
  • ATS does not work with g++
  • -mcpu,-mtume,-xtarget,-xarch do not interact correctly
  • Linked generic performance version of libmvec instead of v8plusa version when -xarch=v8plusa is specified

The CoolTools Forum contains known bugs with GCC for SPARC Systems.

9. Support

GGC for SPARC Systems uses a community support model. The CoolTools Forum is also used for reporting bugs. If you want to receive update notifications and other announcements, sign up for the appropriate mailing list