Cool Tools - GCC for SPARC® Systems 4.0.3 - Release Notes
Content
- Documentation Information
- System Requirements
- Installation
- New Features
- Differences in Command-Line Options from GCC 4.0.3
- Differences in Command-Line Options from GCC for SPARC Systems release 4.0.2
- Debugging Issues
- Known Bugs
- 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
|