Login | Register
Login | Register

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

Cool Tools - GCC for SPARC® Systems - Release Notes

Content

  1. Documentation Information
  2. System Requirements
  3. Installation
  4. Differences in Command-Line Options from GCC 4.0.2
  5. Debugging Issues
  6. Known Bugs
  7. 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.2 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.

4. Differences in Command-Line Options from GCC 4.0.2

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.2 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.2. 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.

5. Debugging Issues

GCC for SPARC Systems generates dwarf2 debug information with -g compilation. Currently the generated debug information is incomplete in some respects most especially for C++ programs. 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

  • Scope information for lexical blocks is missing, therefore debugging of shadowed variables does not work.
  • 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.

For C++ programs, partial debugging support is provided for only the following features. Debug information is currently not generated for any feature not in the list.

  • Classes/Unions/Structs
  • Anonymous unions/structs
  • Non virtual methods
  • Non virtual inheritance
  • Namespace types

6. Known Bugs

The CoolTools Issue Tracker with subcomponent GCC contains known bugs with GCC for SPARC Systems.

7. Support

The procedures for reporting bugs can be found on CoolTools Issue Tracker. Submit bugs/enhancements/etc using subcomponent GCC. If you want to receive update notifications and other announcements, sign up for the appropriate mailing list