home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
IRIS Development Option 6.2
/
IRIS_Development_Option_6.2_814-0478-001.iso
/
relnotes
/
c_dev
/
ch2.z
/
ch2
Wrap
Text File
|
1996-03-14
|
11KB
|
330 lines
- 1 -
6.2 ANSI C Release Notes
- 2 -
DDDDooooccccuuuummmmeeeennnntttt NNNNuuuummmmbbbbeeeerrrr 000000007777----1111666655559999----000011110000
2. _I_n_s_t_a_l_l_a_t_i_o_n__I_n_f_o_r_m_a_t_i_o_n
This chapter lists supplemental information to
the _I_R_I_S _S_o_f_t_w_a_r_e _I_n_s_t_a_l_l_a_t_i_o_n _G_u_i_d_e. The
information listed here is product-specific; use
it with the installation guide to install this
product.
2.1 _A_N_S_I__C__S_u_b_s_y_s_t_e_m_s
This section lists the subsystems of the ANSI C
option.
If you are installing this option for the first
time, the subsystems marked ``default'' are
those that are installed if you use the ``go''
menu item. To install a different set of
subsystems, use the ``install,'' ``remove,''
``keep,'' and ``step'' commands in _i_n_s_t to
customize the list of subsystems to be
installed, then select the ``go'' menu item.
_c__d_e_v._b_o_o_k_s._C_L_a_n_g_u_a_g_e_R_e_f Insight-readable
version of the compiler and
C programmer's reference
guide (default)
_c__d_e_v._m_a_n._c Manual page for the _c_c
driver (default)
_c__d_e_v._m_a_n._u_t_i_l Manual pages for C source
utilities - _c_f_l_o_w, _c_b, etc.
(default)
_c__d_e_v._m_a_n._r_e_l_n_o_t_e_s Online version of these
release notes (default)
_c__d_e_v._s_w._c The C front ends and
preprocessors (default)
_c__d_e_v._s_w._c_o_p_t The C scalar optimizer
(default)
_c__d_e_v._h_d_r._l_i_b _c_o_p_t-specific header files -
_k_a_p_i_o._i_n_t_e_r_n_a_l._h,
_k_a_p_i_o._s_g_i._h (default)
- 3 -
_c__d_e_v._s_w._l_i_b _c_o_p_t-specific I/O archive
for shared compiles -
_l_i_b_k_a_p_i_o._a (default)
_c__d_e_v._s_w._s_p_e_c_l_i_b _c_o_p_t-specific I/O archive
for non-shared compiles -
_l_i_b_k_a_p_i_o._a
_c__d_e_v._s_w_3_2._l_i_b _c_o_p_t-specific I/O archive
(N32 ABI) for shared
compiles - _l_i_b_k_a_p_i_o._a
(default on R8000 and R10000
systems only)
_c__d_e_v._s_w_3_2._s_p_e_c_l_i_b _c_o_p_t-specific I/O archive
(N32 ABI) for non-shared
compiles - _l_i_b_k_a_p_i_o._a
_c__d_e_v._s_w_6_4._l_i_b _c_o_p_t-specific I/O archive
(64-bit ABI) for shared
compiles - _l_i_b_k_a_p_i_o._a
(default on R8000 and R10000
systems only)
_c__d_e_v._s_w_6_4._s_p_e_c_l_i_b _c_o_p_t-specific I/O archive
(64-bit ABI) for non-shared
compiles - _l_i_b_k_a_p_i_o._a
_c__d_e_v._s_w._u_t_i_l The C source utilities -
_c_f_l_o_w, _c_b, etc. (default)
_c__d_e_v._m_a_n._c_o_p_t The C scalar optimizer
manual pages (default)
_c__d_e_v._s_r_c._c_u_s_t_o_m_a_l_l_o_c The C source code for
_c_u_s_t_o_m_a_l_l_o_c memory
allocator.
_c__d_e_v._s_r_c._a_c_p_p The C source code for the
ANSI preprocessor _a_c_p_p
2.2 _I_n_s_t_a_l_l_a_t_i_o_n__M_e_t_h_o_d
All of the subsystems for ANSI C can be
installed using IRIX. You do not need to use
the miniroot. Refer to the _I_R_I_S _S_o_f_t_w_a_r_e
_I_n_s_t_a_l_l_a_t_i_o_n _G_u_i_d_e for complete installation
instructions.
- 4 -
2.3 _P_r_e_r_e_q_u_i_s_i_t_e_s
ANSI C 6.2 requires the installation of the IRIS
Development Option (compilers portion) release
6.2. For the compiler subsystems, refer to the
_6._2 _B_a_s_e _C_o_m_p_i_l_e_r _R_e_l_e_a_s_e _N_o_t_e_s.
2.4 _C_o_m_p_a_t_i_b_i_l_i_t_y
ANSI C release 6.2 is a compiler aimed at
software development for a MIPS3 or MIPS4
instruction set architecture (ISA) in 64-bit (-
_6_4) or n32 (-_n_3_2) mode, but with options to
compile for a MIPS2 or MIPS1 ISA in 32-bit mode
(-_3_2). Refer to the _c_c(1) man pages, the
_M_I_P_S_p_r_o _C_o_m_p_i_l_i_n_g, _D_e_b_u_g_g_i_n_g _a_n_d _P_e_r_f_o_r_m_a_n_c_e
_T_u_n_i_n_g _G_u_i_d_e, the _M_I_P_S_p_r_o _6_4-_B_i_t _P_o_r_t_i_n_g _a_n_d
_T_r_a_n_s_i_t_i_o_n _G_u_i_d_e, and the _C _L_a_n_g_u_a_g_e _R_e_f_e_r_e_n_c_e
_M_a_n_u_a_l for a full description of the differences
between 32-bit and 64-bit compilation modes.
For a description of the high performance 32-bit
(n32) mode, please refer to the _M_I_P_S_p_r_o _N_3_2 _A_B_I
_H_a_n_d_b_o_o_k.
In 32-bit mode, the 6.2 release of the ANSI C
compiler is fully compatible with the earlier
releases of the compiler with two exceptions:
+o MIPS2 is the default ISA
+o COFF is no longer supported
In 64-bit mode, the 6.2 release of the ANSI C
compiler follows a new Applications Binary
Interface (ABI). Objects compiled in 64-bit
mode cannot be linked together with objects
compiled in 32-bit mode, and 64-bit objects will
only run in an Irix 6.2 operating system
environment.
In n32 mode, the 6.2 release of the ANSI C
compiler follows a new Applications Binary
Interface (ABI). Objects compiled in n32 mode
cannot be linked together with objects compiled
in 32-bit mode or with objects compiled in 64-
bit mode. N32 objects will only run in an Irix
6.2 operating system environment.
The 6.2 release of the ANSI C compiler is
incompatible with 6.1 release in the way small
- 5 -
(4 bytes or less) C structures and unions are
passed as parameters when compiled -64 or -n32.
As a result, both the caller and the callee
functions must be compiled with the same version
of the compiler, if they use small structures or
unions as parameters. Under our 64-bit and n32
calling conventions, small structures or unions
are left justified when passed as parameters.
Earlier versions of the compiler implemented the
convention incorrectly in code of both the
callee and caller functions, but in a consistent
way (Code passing small structs still "worked").
This bug has been fixed, but results in the
incompatibility described above.
The _COMPILER_VERSION predefined variable can be
used to identify compiler versions that have
this implementation. You can check the value of
this predefine by adding -show to your
compilation command line. The 6.2 compiler sets
this variable to 621.
For 64-bit and N32 compilation, the default
level of enabled exceptions for speculative code
motion (-TENV:X=n) has been changed to X=1 at
all optimization levels. This change was made to
provide the most uniform behavior across all SGI
platforms. For the 6.1 release, this level was
documented to be X=1, but implemented as X=3. As
a result, some applications running on R8000
systems may experience performance degradation
if they are recompiled with the default flags.
If this performance degradation is significant,
you should recompile with -TENV:X=3 explicitly
set in your compilation command line. For more
information about this flag, please check the
_c_c(1) man pages.