Help in compiling galib on sun
AKSHAY MOHAN
mohana at iitk.ac.in
Mon May 15 16:44:40 EDT 2000
Thankyou for replying so quickly. It is a C++ compiler. Also we
donot have g++ installed on our workstations. I am enclosing the
compiler's readme file, if that gives you some innformation.
regards
Akshay
On Mon, 15 May 2000, Jason Rennie wro te:
> Date: Mon, 15 May 2000 16:25:37 -0400
> From: Jason Rennie <jrennie at ai.mit.edu>
> To: AKSHAY MOHAN <mohana at iitk.ac.in>
> Cc: jrennie at ai.mit.edu, galib at mit.edu
> Subject: Re: Help in compiling galib on sun
>
>
> mohana at iitk.ac.in said:
> > i am a new user of galib. Can anyone please help me in the changes I
> > require to make in the files to compile on Solaris. I have the CC
> > compiler installed.
>
> GAlib is C++ code. Hence, at the very least, you need a C++ compiler.
> CC may not be. I recommend that you use the GNU C++ compiler. It might
> be installed on your system as 'g++'. If so, you can probably just run
> "make" and "make install" as suggested in the GAlib README.
>
> I was able compile GAlib on a SunOS 5.6 box using exactly that procedure.
> No special tricks were needed. If you have difficult to understand
> compiler errors, you may wish to post those exact errors along with the
> exact commands that you issued. Compilation errors are often difficult to
> resolve without exact details.
>
> Jason Rennie
> (617) 253-5339
> jrennie at ai.mit.edu
> http://www.ai.mit.edu/~jrennie/
>
>
>
-------------- next part --------------
November 20, 1996 C++ 4.2 README
============================================================================
Introduction
============
The C++ 4.2 compiler release supports the following
operating environments:
Solaris(TM) 2.4, 2.5 and 2.5.1 operating system for SPARC(R)-
based workstations
Solaris 2.5.1 operating system for PowerPC(TM)-based
workstations
Solaris 2.4, 2.5 and 2.5.1 operating system for x86-based
workstations
Note: The C++ 4.2 compiler documentation supports several
platforms. Anything unique to one or more platforms is
identified as "(SPARC)", "(Intel)" and/or "(PowerPC)".
The following information may be incomplete.
___________________________________________________________________________
Contents
A. C++ 4.2 Highlights
B. New Features/Patches
C. Changes to Features
D. Software Incompatibilities
E. Current Software Bugs
F. Documentation Errata
G. Shippable Libraries
____________________________________________________________________________
A. C++ 4.2 Highlights
New - this release now implements:
o Standard template instantiation
o Standard template specialization
o Improved template processing
o Run-time type information (RTTI) (typeid)
o New cast operations, including dynamic_cast
o Rogue Wave tools.h++ 7.0 (rwtools7)
o Incremental linking (ild)
o Support for SourceBrowser cross referencing
* Shared library, libC.so, for Solaris 2.x:
----------------------------------------
The C++ compiler includes the static library, libC.a.
However, the corresponding bundled shared library,
libC.so.5, is out of sync with the C++ 4.2 compiler.
The correct patch numbers are:
SPARC: 101242-11; x86: 102859-02; PowerPC: 103721-01.
See point 2-a, "Solaris 2.x patches," under section B,
"New Features/Patches," for details.
* Note for ISVs:
-------------
C++ 4.2 requires an OS patch that contains the shared
library libC.so.5. Patch numbers are: SPARC: 101242-11;
x86: 102859-02; PowerPC: 103721-01. When you ship
applications or libraries that depend on libC.so.5, we
recommend that you include this patch with your products.
* Note on C++4.0.1/C++4.2 Compatibility
------------------------------------
The object files produced by C++ 4.2 and C++ 4.0.1 are
binary compatible for most cases. That is, object files
created by C++ 4.0.1 can be linked using the C++ 4.2 compiler,
and object files created by C++ 4.2 can be linked using the
C++ 4.0.1 compiler, without any problems. However, this may
not be true if you are using exceptions and link statically
with libC.
Refer to Chapter 2, "The Compiler", in the C++ 4.2 User's
Guide for further information.
* Note on C++ 4.1/C++4.2 Compatibility
------------------------------------
Object files produced by C++ 4.1 and C++ 4.2 are fully binary
compatible. However, 4.1 objects do not contain runtime
type identification (RTTI) information. Refer to Chapter 2,
"The Compiler", in the C++ 4.2 User's Guide for further
information.
ONLINE DOCUMENTATION-
AnswerBook:
----------
A script has been provided to automatically set up your
environment to view the available WorkShop and compiler
manuals.
Type the following at a command prompt:
workshop-answerbooks
The script sets the AB_CARDCATALOG environment variable
and starts /usr/openwin/bin/answerbook.
When the AnswerBook Navigator opens, add the WorkShop and
and compiler manuals to your doc library by using the
"Modify Library" button.
(For more information on running AnswerBook, see the
answerbook(1) man page.)
HTML:
----
HTML versions of the WorkShop and compiler manuals have also
been provided. These may be viewed with any HTML browser
capable of displaying tables (HTML 3.0).
Point your browser to the URL:
file:/opt/SUNWspro/DOC4.0/lib/locale/C/html_docs/index.html
________________________________________________________________________________
B. New Features
This section contains the following subsections:
1. New compiler options
2. Solaris 2.x patches
3. Incremental linking
1. New Compiler Options
=======================
The following new options are now in place and apply to SPARC-based
systems only; please refer to the CC man page or C++ User's Guide
for details:
-features=[no%]{anachronisms | castop | rtti},...
-------------------------------------------------
Enables/disables various C++ language features.
-features=[no%]anachronisms: [Do not] Allow anachronistic
constructs
-features=[no%]castop: [Do not] Allow new-style casts
(dynamic or otherwise)
-features=[no%]rtti: [Do not] Allow RTTI
-instances={static | extern | global}
-------------------------------------
Controls the link attributes of template instantiations.
-instances=static : Replacement for -pto
-instances=extern : The default mode of the compiler
-instances=global : Replacement for -ptg
-library=[no%]{rwtools6 | rwtools7 | complex | libC | libm},...
----------------------------------------------------
Forces inclusion of specific library(s) and associated files
as necessary.
-library=[no%]rwtools6 : [Do not] Use Tools.h++ v 6
-library=[no%]rwtools7 : [Do not] Use Tools.h++ v 7
-library=[no%]complex : [Do not] Use libcomplex
-library=[no%]libC : [Do not] Use libC
-library=[no%]libm : [Do not] Use libm
-library=%all : Use all libraries in the order:
rwtools7, complex, libC, libm
-staticlib=[no%]{rwtools6 | rwtools7 | libC | libm | complex},...
-----------------------------------------------------------------
Determines whether C++ libraries specified in the -library option
are linked statically.
-staticlib=[no%]rwtools6: Tools.h++ v6 [not] linked statically
-staticlib=[no%]rwtools7: Tools.h++ v7 [not] linked statically
-staticlib=[no%]libC : libC [not] linked statically
-staticlib=[no%]libm : libm [not] linked statically
-staticlib=[no%]complex : libcomplex [not] linked statically
-staticlib=%all : All libraries specified in the -library
option are linked statically.
-template={wholeclass}
----------------------
Enables/disables various template options.
-template=wholeclass: Replacement for -pta
-verbose={template | diags | version},...
-----------------------------------------
Controls verbosity during compilation.
-verbose=template : Replacement for -ptv
-verbose=diags : Replacement for -v : Optional for 4.2
-verbose=version : Replacement for -V : Optional for 4.2
-fprecision={single | double | extended}
----------------------------------------
(Intel, Solaris 2 only) Sets FP rounding precision mode p (single,
double, extended)
-xlic_lib=<l>
-------------
(SPARC, Solaris 2.x only) Links in the Sun-supplied,
licensed libraries specified in <l>
Option changes have been made for this release that now allow
all flags on all platforms. For those platforms where a flag
is not valid, the flag will be quietly accepted. No warning
will be given. -flags will only show the valid flags for the
particular platform.
The following options, previously available only on SPARC, are now
available on Intel and PowerPC:
-fround
-fsimple
-ftrap
-xprofile=tcov
-xspace
-xunroll=n
The following options, previously SPARC only, are now available in
restricted form on Intel and PowerPC:
-xtarget Intel accepts:
generic
native
386 (Replacement for -x386)
486 (Replacement for -x486)
pentium (Replacement for -xpentium)
pentium_pro
PowerPC accepts:
generic
native
-xarch Intel accepts:
generic
386
pentium_pro
PowerPC accepts:
generic
ppc
-xchip Intel accepts:
generic
386
486
pentium
pentium_pro
PowerPC accepts:
generic
603
604
2. Solaris 2.x patches (SPARC only)
===================================
Some of the C++ 4.2 users may need the OS patches given in
the Patch directory of the C++ 4.2 distribution. Please
read the README file in Patch directory for more details.
Since patches for bundled, SUNWlibC package (101242-11)
and SUNWbtool package (101051-01) are important for many
4.2 Solaris 2.x users, more explanation is given below for
installing these packages.
2-a. 101242-11 patch on SPARC, (102859-02 on x86), (103721-01
on PowerPC) for SUNWlibC package for libC.so.5
On Solaris 2.x, Patch 101242-11 will install libC.so.5 in
/usr/lib. You may install this patch if you would like your
C++ programs compiled with C++ 4.2 to be linked dynamically
with libC.so. If you are running Solaris version 2.4, 2.5 or
2.5.1, and already have a bundled SUNWlibC package
installed on your machine, then you must remove the existing
SUNWlibC package before installing this patch. To remove the
SUNWlibC package, become superuser and type:
"pkgrm SUNWlibC".
To install patch 101242-11, do the following:
-become superuser
-cd patch_dir/101242-11
-pkgadd -d `pwd` SUNWlibC
This patch is available along with other OS patches in the
C++ 4.2 distribution under the directory patch_dir. This patch
should be installed on the user's workstations, as well as on
the build machines. If the SUNWlibC package is not installed,
programs compiled with C++ 4.2 will be linked statically with
libC.a.
3. Incremental Linking
======================
In addition to instructing the compiler to prepare the program
for debugging, the -g option has an another meaning.
It enables incremental linking on all architectures by invoking
ild in place of ld unless any of the following are true: the
-G option is present, the -xildoff option is present, or any
source files are named on the command line. For linker options
not supported by ild, ild invokes ld to perform the link. See
the ild.1 man page for more information.
_________________________________________________________________________
C. Changes to Features
This section contains the following subsections:
1. Changes to /usr/include/sys/signal.h
2. Template Database Changes
3. Link Order When Using Templates
4. Change in link line.
5. Macro definition using +p option.
1. Changes to /usr/include/sys/signal.h
=======================================
Changes to /usr/include/sys/signal.h in Solaris 2.5
cause the sigaction sa_handler member to be a void(*)(int)
in cplusplus, rather than a void(*)(), as before. This was
seen on sun4m and sun4c systems.
The new signal.h contains this new definition of sigaction:
#pragma ident "@(#)signal.h 1.42 95/02/26 SMI" /* SVr4.0 11.44 */
/*
* The signal handler routine can have either one or three
* arguments. Existing C code has used either form so not
* specifing the arguments neatly finesses the problem.
* C++ doesn't accept this. To C++, "(*sa_handler)()"
* indicates a routine with no arguments (ANSI C would
* specify this as "(*sa_handler)(void)"). One or the
* other form must be used for C++ and the only logical
* choice is "(*sa_handler)(int)" to allow the SIG_*
* defines to work.
* "(*sa_sigaction)(int, siginfo_t *, void *)" can be
* used for the three argument form.
*/
struct sigaction {
int sa_flags;
union {
#ifdef __cplusplus
void (*_handler)(int);
#else
void (*_handler)();
#endif
#if defined(__EXTENSIONS__) || ((__STDC__ - 0 == 0) && \
!defined(_POSIX_C_SOURCE) && \
!defined(_XOPEN_SOURCE)) || \
(_POSIX_C_SOURCE > 2)
void (*_sigaction)(int, siginfo_t *, void *);
#endif
} _funcptr;
sigset_t sa_mask;
int sa_resv[2];
};
2. Template Database Changes
============================
The template database manager has been upgraded to improve
performance for template compilation. With this upgrade,
the database format has changed slightly, enough to cause
it to be incompatible with earlier releases. Because of this
incompatibility, data currently stored in the database is
unusable by newer compilers, and any instantiations which
are required will automatically be regenerated.
Although the formats are incompatible, no failures should
occur because of this change. If the new compiler is used
with an old-style database, the compiler and tdb_link will
issue the following warning:
Database corrupt or from an older compiler. Ignoring
existing data.
This warning will occur until the first link takes place
and will not occur for subsequent compiles. If an older
compiler is used against a new-style database, no warning
will be issued, but the effect is the same, i.e., any
existing data will be ignored.
3. Link order when using templates
==================================
The previous compiler had an error in constructing the link
line when templates were involved. In these cases, the old
compiler would automatically place archives at the end of
the supplied (and inserted template) object files. This
could have unknown consequences when link order was important.
The new compiler leaves the link order exactly as supplied,
and only inserts template object files before the first
non-object file (such as an archive or shared library).
4. Change in link line
======================
The CC driver no longer passes "-lsunmath" by default
on the link line. If you need the "libsunmath.a
library, you must manually add the "-lsunmath" flag.
5. Macro definition using +p option
===================================
The CC man page specifies that the macros sparc, sun, and
i386 are not defined if +p is used. The previous version
of the compiler did not enforce this requirement; C++ 4.1
defined these macros even if +p was used. The C++ 4.2
compiler enforces this requirement. You can use the
macros __sparc, __unix, __sun, and __i386 instead.
These '__' versions of the macros are always defined by
the CC driver.
____________________________________________________________________________
D. Software Incompatibilities
C++ 4.2 is a native compiler implementation of parts of the draft
ANSI/ISO C++ standard. This release supports all the
WorkShop tools. If you encounter any problems using
any of the WorkShop tools with this compiler, please report them.
1. Multiple database (-ptr) usage:
==================================
It is recommended that you do not use multiple -ptr options on the
command line when using templates. Although this should work
with the current version of the compiler, it is not guaranteed
to work in future releases.
2. Error conditions in multithreaded programs
=============================================
Due to the way the C++ 4.2 runtime library handles certain
error conditions in multithreaded programs, you must replace
the default handlers for those conditions with handlers that
terminate the process. Each thread that you create,
including your "main" program executable, must include lines
of code such as the following:
#include <exception.h>
#include <stdlib.h>
main ()
{
...
(void) set_terminate (abort);
(void) set_unexpected (abort);
...
// then it does "real work"
}
Of course, you do not need to use "abort", but if you use
any other routine (e.g. one that logs an error message) it
must exit the process. The default handler provided by
the C++ runtime library just exits the thread, which
corrupts the process state because it doesn't unwind the
stack and release resources such as locks.
3. Incompatible mangling of pointers to const member functions
==============================================================
The C++ 4.0.1 compiler generated different mangled names for
pointers to const member functions than do the C++ 4.1 and
C++ 4.2 compilers. If you are unable to link with a library
built with 4.0.1 and containing such names, you should either
recompile the library, or compile the rest of the program with
the flag "-Qoption ccfe -abi=1:4.0.1".
4. Unparsable mangling of extern "C" functions as template arguments
===================================================================
The C++ 4.0.1 and C++ 4.1 compilers generated a mangled name
that was unparsable for templates instantiated with an
extern "C" function. As a consequence, debugging tools behaved
incorrectly. We have corrected the problem, but some users may
be unable to link objects compiled with C++ 4.2 with libraries
compiled with earlier compilers. This incompatibility should be
extremely rare, but in the event that it does happen, you can
either recompile the library with the C++ 4.2 compiler, or compile
new objects with the "-Qoption ccfe -abi=1:4.1" flag.
_________________________________________________________________________
E. Current Software Bugs
1. abort() and static destructors
=================================
abort() should not call static destructors in a program,
but it does. This behavior exists because static
constructors and destructors are implemented using the
.init and .fini sections of the ELF object format.
This implementation ensures that the static
constructors/destructors of a shared library are called
at dlopen()/dlclose(), but this implementation does not
work correctly for abort().
2. Using -xar to add generated templates
========================================
When using -xar to add generated templates to an archive,
please be aware that this command will both update
existing object files in the archive, and add new ones.
Existing object files that may be obsolete will still
be present. In these cases, the safest course of action
would be to delete the .a file prior to the invocation of -xar.
3. Run-time error, libC
=======================
If your program issues the error
Run-time error, libC:
'delete[]' does not correspond to any 'new[]'
it is most likely a bug in your code. Please check for
the following possible causes of this error:
1) Make sure that all objects allocated using new are
deallocated using delete, and all objects allocated
using new[] are deallocated using delete[], i.e., an
object allocated using new should not be deallocated
using delete[] and an object allocated using new[]
should not be deallocated using delete.
2) Make sure that an object of a derived class allocated
using new[] is not deleted as an object of a base class.
The following example illustrates this problem:
class base
{
public:
base() : i(1) {}
virtual ~base();
int i;
};
class derived : public base
{
public:
derived() : j(2) {}
virtual ~derived();
int j;
};
base::~base() {}
derived::~derived() {}
int main()
{
// This program works correctly if the type of b
// is 'derived*', it does not work correctly if the
// type of b is 'base*'.
base *b;
b = new derived [2];
delete [] b; // change this to: delete [] (derived *)b;
return 0;
}
The draft C++ standard states that the above code leads to
undefined behavior. The workaround is to cast b to (derived*)
before calling delete.
3) Make sure you don't try to delete a pointer (using delete[])
that has already been deleted. A good way to detect such
errors is to use Run Time Checking (RTC). You can type
'help rtc' under dbx to get more information. There is also
a batch utility, bcheck, for this. Type 'man bcheck' for
details.
4. Two implicit user-defined conversions for argument
=====================================================
The earlier compiler sometimes allowed two implicit,
user-defined conversions for an argument. It now detects
this error.
5. Large C++ applications with -PIC
===================================
Some large C++ applications compiled using C++ 4.2 Beta
Phase I with the -PIC option result in ld errors in the
linking step.
6. Incorrect mangling of pointers to member functions
=====================================================
The C++ compiler incorrectly mangles the link names for pointers
to member functions. The consequence of this error is that the
demangler, and hence some debugging tools, like dbx and c++filt,
report the member functions as having an extra leading parameter
consisting of a reference to the class type of which the function
is a member.
To correct this problem, recompile your C++ sources with the flag
"-Qoption ccfe -abi=1:4.2:1". Note, however, that sources compiled
with this flag may be binary incompatible with sources compiled
without the flag.
7. Uninitialized static data (LOCL/OBJT ELF symbols) have no size
=================================================================
(Bug ID 4005207)
Using -O -g, you can't print uninitialized static variables
with dbx.
8. Problem with -U option
=========================
The -U option does not work correctly with the C++ 4.2 compiler.
For example,
the command 'CC -Usparc ...' does not undefine the macro sparc.
the command 'CC -DXXX -UXXX ...' does not udefine the macro XXX.
The fix for this problem will be provided in a patch for the C++ 4.2
compiler.
9. Incorrect redefinition error in template handling
====================================================
(Bug ID 4014569)
As a result of processing some template definitions, the C++
compiler may incorrectly issue an error, claiming that a class
member has been redefined. This bug may affect users that
use templates heavily.
10. reinterpret_cast doesn't work with pointer to member types
==============================================================
(Bug ID 1264126)
The reinterpret_cast operator cant' be used to cast a pointer
to member of a base class to a pointer to a member of a
derived class. As a workaround, use a C-style cast.
11. Can't use the '>' operator in template args
===============================================
(Bug ID 1264132)
A template non-type argument cannot be a constant
expression involving the '>' operator. As a workaround,
define a constant (const variable) using the expression
and use the constant as the template argument.
12. Incorrect precedence of ?: versus assignment
================================================
(Bug ID 4013762)
The compiler parses an expression such as the following
a ? b? c = d
like this
( a ? b ? c ) = d
instead of this
a ? b ? (c = d )
As a workaround, use parentheses.
____________________________________________________________________________
F. Documentation Errata
1. -xtarget Expansions
======================
There are corrections, additions, and deletions to the -xtarget
expansions that appear on pages 62 through 65 of the C++ User's
Guide. Here is the complete, corrected list of expansions:
-xtarget -xarch -xchip -xcache
-------- ------ ------ -------
sun4/15 v8a micro 2/16/1
sun4/20 v7 old 64/16/1
sun4/25 v7 old 64/32/1
sun4/30 v8a micro 2/16/1
sun4/40 v7 old 64/16/1
sun4/50 v7 old 64/32/1
sun4/60 v7 old 64/16/1
sun4/65 v7 old 64/16/1
sun4/75 v7 old 64/32/1
sun4/110 v7 old 2/16/1
sun4/150 v7 old 2/16/1
sun4/260 v7 old 128/16/1
sun4/280 v7 old 128/16/1
sun4/330 v7 old 128/16/1
sun4/370 v7 old 128/16/1
sun4/390 v7 old 128/16/1
sun4/470 v7 old 128/32/1
sun4/490 v7 old 128/32/1
sun4/630 v7 old 64/32/1
sun4/670 v7 old 64/32/1
sun4/690 v7 old 64/32/1
sselc v7 old 64/32/1
ssipc v7 old 64/16/1
ssipx v7 old 64/32/1
sslc v8a micro 2/16/1
sslt v7 old 64/32/1
sslx v8a micro 2/16/1
sslx2 v8a micro2 8/16/1
ssslc v7 old 64/16/1
ss1 v7 old 64/16/1
ss1plus v7 old 64/16/1
ss2 v7 old 64/32/1
ss2p v7 powerup 64/32/1
ss4 v8a micro2 8/16/1
ss4/85 v8a micro2 8/16/1
ss4/110 v8a micro2 8/16/1
ss5 v8a micro2 8/16/1
ss5/85 v8a micro2 8/16/1
ss5/110 v8a micro2 8/16/1
ssvyger v8a micro2 8/16/1
ss10 v8 super 16/32/4
ss10/hs11 v8 hyper 256/64/1
ss10/hs12 v8 hyper 256/64/1
ss10/hs14 v8 hyper 256/64/1
ss10/20 v8 super 16/32/4
ss10/hs21 v8 hyper 256/64/1
ss10/hs22 v8 hyper 256/64/1
ss10/30 v8 super 16/32/4
ss10/40 v8 super 16/32/4
ss10/41 v8 super 16/32/4:1024/32/1
ss10/50 v8 super 16/32/4
ss10/51 v8 super 16/32/4:1024/32/1
ss10/61 v8 super 16/32/4:1024/32/1
ss10/71 v8 super2 16/32/4:1024/32/1
ss10/402 v8 super 16/32/4
ss10/412 v8 super 16/32/4:1024/32/1
ss10/512 v8 super 16/32/4:1024/32/1
ss10/514 v8 super 16/32/4:1024/32/1
ss10/612 v8 super 16/32/4:1024/32/1
ss10/712 v8 super2 16/32/4:1024/32/1
ss20 v8 super 16/32/4:1024/32/1
ss20/hs11 v8 hyper 256/64/1
ss20/hs12 v8 hyper 256/64/1
ss20/hs14 v8 hyper 256/64/1
ss20/hs21 v8 hyper 256/64/1
ss20/hs22 v8 hyper 256/64/1
ss20/50 v8 super 16/32/4
ss20/51 v8 super 16/32/4:1024/32/1
ss20/61 v8 super 16/32/4:1024/32/1
ss20/71 v8 super2 16/32/4:1024/32/1
ss20/151 v8 hyper 512/64/1
ss20/152 v8 hyper 512/64/1
ss20/502 v8 super 16/32/4
ss20/512 v8 super 16/32/4:1024/32/1
ss20/514 v8 super 16/32/4:1024/32/1
ss20/612 v8 super 16/32/4:1024/32/1
ss20/712 v8 super2 16/32/4:1024/32/1
ss600/41 v8 super 16/32/4:1024/32/1
ss600/51 v8 super 16/32/4:1024/32/1
ss600/61 v8 super 16/32/4:1024/32/1
ss600/120 v7 old 64/32/1
ss600/140 v7 old 64/32/1
ss600/412 v8 super 16/32/4:1024/32/1
ss600/512 v8 super 16/32/4:1024/32/1
ss600/514 v8 super 16/32/4:1024/32/1
ss600/612 v8 super 16/32/4:1024/32/1
ss1000 v8 super 16/32/4:1024/32/1
sc2000 v8 super 16/32/4:2048/64/1
cs6400 v8 super 16/32/4:2048/64/1
solb5 v7 old 128/32/1
solb6 v8 super 16/32/4:1024/32/1
ultra v8 ultra 16/32/1:512/64/1
ultra2 v8 ultra2 16/32/1:512/64/1
ultra1/140 v8 ultra 16/32/1:512/64/1
ultra1/170 v8 ultra 16/32/1:512/64/1
ultra1/200 v8 ultra 16/32/1:512/64/1
ultra2/1170 v8 ultra 16/32/1:512/64/1
ultra2/1200 v8 ultra 16/32/1:1024/64/1
ultra2/1300 v8 ultra2 16/32/1:2048/64/1
ultra2/2170 v8 ultra 16/32/1:512/64/1
ultra2/2200 v8 ultra 16/32/1:1024/64/1
ultra2/2300 v8 ultra2 16/32/1:2048/64/1
entr2 v8 ultra 16/32/1:512/64/1
entr2/1170 v8 ultra 16/32/1:512/64/1
entr2/2170 v8 ultra 16/32/1:512/64/1
entr2/1200 v8 ultra 16/32/1:512/64/1
entr2/2200 v8 ultra 16/32/1:512/64/1
entr150 v8 ultra 16/32/1:512/64/1
entr3000 v8 ultra 16/32/1:512/64/1
entr4000 v8 ultra 16/32/1:512/64/1
entr5000 v8 ultra 16/32/1:512/64/1
entr6000 v8 ultra 16/32/1:512/64/1
2. Migration Guide Error Message
================================
In the "Migration Guide" (Appendix A of the C++ User's Guide),
on page 170, under "Incompatibilities: C++ 3.0 to 4.2",
the error message, "K&R-style function definitions are no
longer allowed", is no longer issued.
3. C++ User's Guide: -xprofile
==============================
The description of the -xprofile= option in Chapter 2 is
incorrect. The correct description can be found in the CC
man page.
4. C++ User's Guide: xunexpected() function
===========================================
The xunexpected() function described in Chapter 4 is not
implemented at this time.
5. C++ User's Guide: -xar option
================================
The example given under the -xar option (Chapter 2), should
be corrected as follows (-O should be -o):
CC -xar -o libmain.a a.o b.o c.o
_____________________________________________________________________________
G. Shippable Libraries
If your executable uses a Sun dynamic library listed in the
file named below, your license includes the right to
redistribute the library to your customer.
Standard Install /opt/SUNWspro/READMEs/runtime.libraries
Install to /my/dir/ /my/dir/SUNWspro/READMEs/runtime.libraries
You may not redistribute or otherwise disclose the header files,
source code, object modules, or static libraries of object modules
in any form.
The License to Use appears in the End User Object Code License,
viewable from the back of the plastic case containing the CDROM.
____________________________________________________________________________
Solaris, SunOS, OpenWindows and AnswerBook are trademarks or registered
trademarks of Sun Microsystems, Inc. All SPARC trademarks, including
the SCD Compliant logo are trademarks of SPARC International, Inc.
PowerPC is a trademark of International Business Machines Corporation.
More information about the galib
mailing list