comparison gcc/doc/install.texi @ 63:b7f97abdc517 gcc-4.6-20100522

update gcc from gcc-4.5.0 to gcc-4.6
author ryoma <e075725@ie.u-ryukyu.ac.jp>
date Mon, 24 May 2010 12:47:05 +0900
parents 77e2b8dfacca
children f6334be47118
comparison
equal deleted inserted replaced
56:3c8a44c06a95 63:b7f97abdc517
43 @ifset gfdlhtml 43 @ifset gfdlhtml
44 @settitle Installing GCC: GNU Free Documentation License 44 @settitle Installing GCC: GNU Free Documentation License
45 @end ifset 45 @end ifset
46 46
47 @c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 47 @c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
48 @c 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. 48 @c 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
49 @c 2010 Free Software Foundation, Inc.
49 @c *** Converted to texinfo by Dean Wakerley, dean@wakerley.com 50 @c *** Converted to texinfo by Dean Wakerley, dean@wakerley.com
50 51
51 @c IMPORTANT: whenever you modify this file, run `install.texi2html' to 52 @c IMPORTANT: whenever you modify this file, run `install.texi2html' to
52 @c test the generation of HTML documents for the gcc.gnu.org web pages. 53 @c test the generation of HTML documents for the gcc.gnu.org web pages.
53 @c 54 @c
300 301
301 Necessary (only on some platforms) to untar the source code. Many 302 Necessary (only on some platforms) to untar the source code. Many
302 systems' @command{tar} programs will also work, only try GNU 303 systems' @command{tar} programs will also work, only try GNU
303 @command{tar} if you have problems. 304 @command{tar} if you have problems.
304 305
305 @item GNU Multiple Precision Library (GMP) version 4.2 (or later) 306 @item GNU Multiple Precision Library (GMP) version 4.3.2 (or later)
306 307
307 Necessary to build GCC@. If you do not have it installed in your 308 Necessary to build GCC@. If you do not have it installed in your
308 library search path, you will have to configure with the 309 library search path, you will have to configure with the
309 @option{--with-gmp} configure option. See also @option{--with-gmp-lib} 310 @option{--with-gmp} configure option. See also @option{--with-gmp-lib}
310 and @option{--with-gmp-include}. Alternatively, if a GMP source 311 and @option{--with-gmp-include}. Alternatively, if a GMP source
311 distribution is found in a subdirectory of your GCC sources named 312 distribution is found in a subdirectory of your GCC sources named
312 @file{gmp}, it will be built together with GCC@. 313 @file{gmp}, it will be built together with GCC@.
313 314
314 @item MPFR Library version 2.3.2 (or later) 315 @item MPFR Library version 2.4.2 (or later)
315 316
316 Necessary to build GCC@. It can be downloaded from 317 Necessary to build GCC@. It can be downloaded from
317 @uref{http://www.mpfr.org/}. The @option{--with-mpfr} configure 318 @uref{http://www.mpfr.org/}. The @option{--with-mpfr} configure
318 option should be used if your MPFR Library is not installed in your 319 option should be used if your MPFR Library is not installed in your
319 default library search path. See also @option{--with-mpfr-lib} and 320 default library search path. See also @option{--with-mpfr-lib} and
320 @option{--with-mpfr-include}. Alternatively, if a MPFR source 321 @option{--with-mpfr-include}. Alternatively, if a MPFR source
321 distribution is found in a subdirectory of your GCC sources named 322 distribution is found in a subdirectory of your GCC sources named
322 @file{mpfr}, it will be built together with GCC@. 323 @file{mpfr}, it will be built together with GCC@.
323 324
324 @item MPC Library version 0.8.0 (or later) 325 @item MPC Library version 0.8.1 (or later)
325 326
326 Necessary to build GCC@. It can be downloaded from 327 Necessary to build GCC@. It can be downloaded from
327 @uref{http://www.multiprecision.org/}. The @option{--with-mpc} 328 @uref{http://www.multiprecision.org/}. The @option{--with-mpc}
328 configure option should be used if your MPC Library is not installed 329 configure option should be used if your MPC Library is not installed
329 in your default library search path. See also @option{--with-mpc-lib} 330 in your default library search path. See also @option{--with-mpc-lib}
356 357
357 @item libelf version 0.8.12 (or later) 358 @item libelf version 0.8.12 (or later)
358 359
359 Necessary to build link-time optimization (LTO) support. It can be 360 Necessary to build link-time optimization (LTO) support. It can be
360 downloaded from @uref{http://www.mr511.de/software/libelf-0.8.12.tar.gz}, 361 downloaded from @uref{http://www.mr511.de/software/libelf-0.8.12.tar.gz},
361 though it is commonly available in several systems. 362 though it is commonly available in several systems. The version in
363 IRIX 6.5 doesn't work since it lacks @file{gelf.h}. The version in
364 Solaris 2 does work.
362 365
363 The @option{--with-libelf} configure option should be used if libelf is 366 The @option{--with-libelf} configure option should be used if libelf is
364 not installed in your default library search patch. 367 not installed in your default library search patch.
365 368
366 @end table 369 @end table
371 @itemx GNU m4 version 1.4.6 (or later) 374 @itemx GNU m4 version 1.4.6 (or later)
372 375
373 Necessary when modifying @file{configure.ac}, @file{aclocal.m4}, etc.@: 376 Necessary when modifying @file{configure.ac}, @file{aclocal.m4}, etc.@:
374 to regenerate @file{configure} and @file{config.in} files. 377 to regenerate @file{configure} and @file{config.in} files.
375 378
376 @item automake version 1.11 379 @item automake version 1.11.1
377 380
378 Necessary when modifying a @file{Makefile.am} file to regenerate its 381 Necessary when modifying a @file{Makefile.am} file to regenerate its
379 associated @file{Makefile.in}. 382 associated @file{Makefile.in}.
380 383
381 Much of GCC does not use automake, so directly edit the @file{Makefile.in} 384 Much of GCC does not use automake, so directly edit the @file{Makefile.in}
382 file. Specifically this applies to the @file{gcc}, @file{intl}, 385 file. Specifically this applies to the @file{gcc}, @file{intl},
383 @file{libcpp}, @file{libiberty}, @file{libobjc} directories as well 386 @file{libcpp}, @file{libiberty}, @file{libobjc} directories as well
384 as any of their subdirectories. 387 as any of their subdirectories.
385 388
386 For directories that use automake, GCC requires the latest release in 389 For directories that use automake, GCC requires the latest release in
387 the 1.11 series, which is currently 1.11. When regenerating a directory 390 the 1.11 series, which is currently 1.11.1. When regenerating a directory
388 to a newer version, please update all the directories using an older 1.11 391 to a newer version, please update all the directories using an older 1.11
389 to the latest released version. 392 to the latest released version.
390 393
391 @item gettext version 0.14.5 (or later) 394 @item gettext version 0.14.5 (or later)
392 395
1167 1170
1168 @item --with-mode=@var{mode} 1171 @item --with-mode=@var{mode}
1169 Specify if the compiler should default to @option{-marm} or @option{-mthumb}. 1172 Specify if the compiler should default to @option{-marm} or @option{-mthumb}.
1170 This option is only supported on ARM targets. 1173 This option is only supported on ARM targets.
1171 1174
1175 @item --with-fpmath=sse
1176 Specify if the compiler should default to @option{-msse2} and
1177 @option{-mfpmath=sse}. This option is only supported on i386 and
1178 x86-64 targets.
1179
1172 @item --with-divide=@var{type} 1180 @item --with-divide=@var{type}
1173 Specify how the compiler should generate code for checking for 1181 Specify how the compiler should generate code for checking for
1174 division by zero. This option is only supported on the MIPS target. 1182 division by zero. This option is only supported on the MIPS target.
1175 The possibilities for @var{type} are: 1183 The possibilities for @var{type} are:
1176 @table @code 1184 @table @code
1222 This is the default for the m32r platform. 1230 This is the default for the m32r platform.
1223 1231
1224 @item --with-cpp-install-dir=@var{dirname} 1232 @item --with-cpp-install-dir=@var{dirname}
1225 Specify that the user visible @command{cpp} program should be installed 1233 Specify that the user visible @command{cpp} program should be installed
1226 in @file{@var{prefix}/@var{dirname}/cpp}, in addition to @var{bindir}. 1234 in @file{@var{prefix}/@var{dirname}/cpp}, in addition to @var{bindir}.
1235
1236 @item --enable-comdat
1237 Enable COMDAT group support. This is primarily used to override the
1238 automatically detected value.
1227 1239
1228 @item --enable-initfini-array 1240 @item --enable-initfini-array
1229 Force the use of sections @code{.init_array} and @code{.fini_array} 1241 Force the use of sections @code{.init_array} and @code{.fini_array}
1230 (instead of @code{.init} and @code{.fini}) for constructors and 1242 (instead of @code{.init} and @code{.fini}) for constructors and
1231 destructors. Option @option{--disable-initfini-array} has the 1243 destructors. Option @option{--disable-initfini-array} has the
1623 Tells GCC to use the gnu_unique_object relocation for C++ template 1635 Tells GCC to use the gnu_unique_object relocation for C++ template
1624 static data members and inline function local statics. Enabled by 1636 static data members and inline function local statics. Enabled by
1625 default for a native toolchain with an assembler that accepts it and 1637 default for a native toolchain with an assembler that accepts it and
1626 GLIBC 2.11 or above, otherwise disabled. 1638 GLIBC 2.11 or above, otherwise disabled.
1627 1639
1640 @item --enable-lto
1641 Enable support for link-time optimization (LTO). This is enabled by
1642 default if a working libelf implementation is found (see
1643 @option{--with-libelf}).
1644
1645 @item --with-libelf=@var{pathname}
1646 @itemx --with-libelf-include=@var{pathname}
1647 @itemx --with-libelf-lib=@var{pathname}
1648 If you do not have libelf installed in a standard location and you
1649 want to enable support for link-time optimization (LTO), you can
1650 explicitly specify the directory where libelf is installed
1651 (@samp{--with-libelf=@var{libelfinstalldir}}). The
1652 @option{--with-libelf=@var{libelfinstalldir}} option is shorthand for
1653 @option{--with-libelf-include=@var{libelfinstalldir}/include}
1654 @option{--with-libelf-lib=@var{libelfinstalldir}/lib}.
1655
1656 @item --enable-gold
1657 Enable support for using @command{gold} as the linker. If gold support is
1658 enabled together with @option{--enable-lto}, an additional directory
1659 @file{lto-plugin} will be built. The code in this directory is a
1660 plugin for gold that allows the link-time optimizer to extract object
1661 files with LTO information out of library archives. See
1662 @option{-flto} and @option{-fwhopr} for details.
1628 @end table 1663 @end table
1629 1664
1630 @subheading Cross-Compiler-Specific Options 1665 @subheading Cross-Compiler-Specific Options
1631 The following options only apply to building cross compilers. 1666 The following options only apply to building cross compilers.
1632 1667
1904 @item unicode 1939 @item unicode
1905 Use the @code{WCHAR} and Win32 W functions natively. Does @emph{not} 1940 Use the @code{WCHAR} and Win32 W functions natively. Does @emph{not}
1906 add @code{-lunicows} to @file{libgcj.spec}. The built executables will 1941 add @code{-lunicows} to @file{libgcj.spec}. The built executables will
1907 only run on Microsoft Windows NT and above. 1942 only run on Microsoft Windows NT and above.
1908 @end table 1943 @end table
1909
1910 @item --enable-lto
1911 Enable support for link-time optimization (LTO). This is enabled by
1912 default if a working libelf implementation is found (see
1913 @option{--with-libelf}).
1914
1915 @item --with-libelf=@var{pathname}
1916 @itemx --with-libelf-include=@var{pathname}
1917 @itemx --with-libelf-lib=@var{pathname}
1918 If you do not have libelf installed in a standard location and you
1919 want to enable support for link-time optimization (LTO), you can
1920 explicitly specify the directory where libelf is installed
1921 (@samp{--with-libelf=@var{libelfinstalldir}}). The
1922 @option{--with-libelf=@var{libelfinstalldir}} option is shorthand for
1923 @option{--with-libelf-include=@var{libelfinstalldir}/include}
1924 @option{--with-libelf-lib=@var{libelfinstalldir}/lib}.
1925
1926 @item --enable-gold
1927 Enable support for using @command{gold} as the linker. If gold support is
1928 enabled together with @option{--enable-lto}, an additional directory
1929 @file{lto-plugin} will be built. The code in this directory is a
1930 plugin for gold that allows the link-time optimizer to extract object
1931 files with LTO information out of library archives. See
1932 @option{-flto} and @option{-fwhopr} for details.
1933 @end table 1944 @end table
1934 1945
1935 @subsubheading AWT-Specific Options 1946 @subsubheading AWT-Specific Options
1936 1947
1937 @table @code 1948 @table @code
2849 @ifhtml 2860 @ifhtml
2850 @itemize 2861 @itemize
2851 @item 2862 @item
2852 @uref{#alpha-x-x,,alpha*-*-*} 2863 @uref{#alpha-x-x,,alpha*-*-*}
2853 @item 2864 @item
2854 @uref{#alpha-dec-osf,,alpha*-dec-osf*} 2865 @uref{#alpha-dec-osf51,,alpha*-dec-osf5.1}
2855 @item 2866 @item
2856 @uref{#arc-x-elf,,arc-*-elf} 2867 @uref{#arc-x-elf,,arc-*-elf}
2857 @item 2868 @item
2858 @uref{#arm-x-elf,,arm-*-elf} 2869 @uref{#arm-x-elf,,arm-*-elf}
2859 @item 2870 @item
2939 @item 2950 @item
2940 @uref{#x-x-solaris2,,*-*-solaris2*} 2951 @uref{#x-x-solaris2,,*-*-solaris2*}
2941 @item 2952 @item
2942 @uref{#sparc-sun-solaris2,,sparc-sun-solaris2*} 2953 @uref{#sparc-sun-solaris2,,sparc-sun-solaris2*}
2943 @item 2954 @item
2944 @uref{#sparc-sun-solaris27,,sparc-sun-solaris2.7} 2955 @uref{#sparc-sun-solaris210,,sparc-sun-solaris2.10}
2945 @item 2956 @item
2946 @uref{#sparc-x-linux,,sparc-*-linux*} 2957 @uref{#sparc-x-linux,,sparc-*-linux*}
2947 @item 2958 @item
2948 @uref{#sparc64-x-solaris2,,sparc64-*-solaris2*} 2959 @uref{#sparc64-x-solaris2,,sparc64-*-solaris2*}
2949 @item 2960 @item
2994 shared libraries. 3005 shared libraries.
2995 3006
2996 @html 3007 @html
2997 <hr /> 3008 <hr />
2998 @end html 3009 @end html
2999 @heading @anchor{alpha-dec-osf}alpha*-dec-osf* 3010 @heading @anchor{alpha-dec-osf51}alpha*-dec-osf5.1
3000 Systems using processors that implement the DEC Alpha architecture and 3011 Systems using processors that implement the DEC Alpha architecture and
3001 are running the DEC/Compaq Unix (DEC OSF/1, Digital UNIX, or Compaq 3012 are running the DEC/Compaq/HP Unix (DEC OSF/1, Digital UNIX, or Compaq/HP
3002 Tru64 UNIX) operating system, for example the DEC Alpha AXP systems. 3013 Tru64 UNIX) operating system, for example the DEC Alpha AXP systems.
3003 3014
3004 As of GCC 3.2, versions before @code{alpha*-dec-osf4} are no longer 3015 As of GCC 3.2, versions before @code{alpha*-dec-osf4} are no longer
3005 supported. (These are the versions which identify themselves as DEC 3016 supported. (These are the versions which identify themselves as DEC
3006 OSF/1.) 3017 OSF/1.) As of GCC 4.6, support for Tru64 UNIX V4.0 and V5.0 has been
3007 3018 removed.
3008 In Digital Unix V4.0, virtual memory exhausted bootstrap failures 3019
3009 may be fixed by configuring with @option{--with-gc=simple}, 3020 On Tru64 UNIX, virtual memory exhausted bootstrap failures
3010 reconfiguring Kernel Virtual Memory and Swap parameters 3021 may be fixed by reconfiguring Kernel Virtual Memory and Swap parameters
3011 per the @command{/usr/sbin/sys_check} Tuning Suggestions, 3022 per the @command{/usr/sbin/sys_check} Tuning Suggestions,
3012 or applying the patch in 3023 or applying the patch in
3013 @uref{http://gcc.gnu.org/ml/gcc/2002-08/msg00822.html}. 3024 @uref{http://gcc.gnu.org/ml/gcc/2002-08/msg00822.html}. Depending on
3014 3025 the OS version used, you need a data segment size between 512 MB and
3015 In Tru64 UNIX V5.1, Compaq introduced a new assembler that does not 3026 1 GB, so simply use @command{ulimit -Sd unlimited}.
3016 currently (2001-06-13) work with @command{mips-tfile}. As a workaround, 3027
3017 we need to use the old assembler, invoked via the barely documented 3028 As of GNU binutils 2.20.1, neither GNU @command{as} nor GNU @command{ld}
3018 @option{-oldas} option. To bootstrap GCC, you either need to use the
3019 Compaq C Compiler:
3020
3021 @smallexample
3022 % CC=cc @var{srcdir}/configure [@var{options}] [@var{target}]
3023 @end smallexample
3024
3025 or you can use a copy of GCC 2.95.3 or higher built on Tru64 UNIX V4.0:
3026
3027 @smallexample
3028 % CC=gcc -Wa,-oldas @var{srcdir}/configure [@var{options}] [@var{target}]
3029 @end smallexample
3030
3031 As of GNU binutils 2.11.2, neither GNU @command{as} nor GNU @command{ld}
3032 are supported on Tru64 UNIX, so you must not configure GCC with 3029 are supported on Tru64 UNIX, so you must not configure GCC with
3033 @option{--with-gnu-as} or @option{--with-gnu-ld}. 3030 @option{--with-gnu-as} or @option{--with-gnu-ld}.
3034 3031
3035 GCC writes a @samp{.verstamp} directive to the assembler output file 3032 GCC writes a @samp{.verstamp} directive to the assembler output file
3036 unless it is built as a cross-compiler. It gets the version to use from 3033 unless it is built as a cross-compiler. It gets the version to use from
3037 the system header file @file{/usr/include/stamp.h}. If you install a 3034 the system header file @file{/usr/include/stamp.h}. If you install a
3038 new version of DEC Unix, you should rebuild GCC to pick up the new version 3035 new version of Tru64 UNIX, you should rebuild GCC to pick up the new version
3039 stamp. 3036 stamp.
3040
3041 @samp{make compare} may fail on old versions of DEC Unix unless you add
3042 @option{-save-temps} to @code{BOOT_CFLAGS}. On these systems, the name
3043 of the assembler input file is stored in the object file, and that makes
3044 comparison fail if it differs between the @code{stage1} and
3045 @code{stage2} compilations. The option @option{-save-temps} forces a
3046 fixed name to be used for the assembler input file, instead of a
3047 randomly chosen name in @file{/tmp}. Do not add @option{-save-temps}
3048 unless the comparisons fail without that option. If you add
3049 @option{-save-temps}, you will have to manually delete the @samp{.i} and
3050 @samp{.s} files after each series of compilations.
3051 3037
3052 GCC now supports both the native (ECOFF) debugging format used by DBX 3038 GCC now supports both the native (ECOFF) debugging format used by DBX
3053 and GDB and an encapsulated STABS format for use only with GDB@. See the 3039 and GDB and an encapsulated STABS format for use only with GDB@. See the
3054 discussion of the @option{--with-stabs} option of @file{configure} above 3040 discussion of the @option{--with-stabs} option of @file{configure} above
3055 for more information on these formats and how to select them. 3041 for more information on these formats and how to select them.
3042 @c FIXME: does this work at all? If so, perhaps make default.
3056 3043
3057 There is a bug in DEC's assembler that produces incorrect line numbers 3044 There is a bug in DEC's assembler that produces incorrect line numbers
3058 for ECOFF format when the @samp{.align} directive is used. To work 3045 for ECOFF format when the @samp{.align} directive is used. To work
3059 around this problem, GCC will not emit such alignment directives 3046 around this problem, GCC will not emit such alignment directives
3060 while writing ECOFF format debugging information even if optimization is 3047 while writing ECOFF format debugging information even if optimization is
3063 different depending on whether or not @option{-g} is also specified. 3050 different depending on whether or not @option{-g} is also specified.
3064 3051
3065 To avoid this behavior, specify @option{-gstabs+} and use GDB instead of 3052 To avoid this behavior, specify @option{-gstabs+} and use GDB instead of
3066 DBX@. DEC is now aware of this problem with the assembler and hopes to 3053 DBX@. DEC is now aware of this problem with the assembler and hopes to
3067 provide a fix shortly. 3054 provide a fix shortly.
3055
3056 @c FIXME: still applicable?
3068 3057
3069 @html 3058 @html
3070 <hr /> 3059 <hr />
3071 @end html 3060 @end html
3072 @heading @anchor{arc-x-elf}arc-*-elf 3061 @heading @anchor{arc-x-elf}arc-*-elf
3474 @html 3463 @html
3475 <hr /> 3464 <hr />
3476 @end html 3465 @end html
3477 @heading @anchor{ix86-x-solaris210}i?86-*-solaris2.10 3466 @heading @anchor{ix86-x-solaris210}i?86-*-solaris2.10
3478 Use this for Solaris 10 or later on x86 and x86-64 systems. This 3467 Use this for Solaris 10 or later on x86 and x86-64 systems. This
3479 configuration is supported by GCC 4.0 and later versions only. 3468 configuration is supported by GCC 4.0 and later versions only. Unlike
3480 3469 @samp{sparcv9-sun-solaris2*}, there is no corresponding 64-bit
3481 It is recommended that you configure GCC to use the GNU assembler in 3470 configuration like @samp{amd64-*-solaris2*} or @samp{x86_64-*-solaris2*}.
3482 @file{/usr/sfw/bin/gas} but the Sun linker, using the options 3471 @c FIXME: will there ever be?
3483 @option{--with-gnu-as --with-as=/usr/sfw/bin/gas --without-gnu-ld 3472
3484 --with-ld=/usr/ccs/bin/ld}. 3473 It is recommended that you configure GCC to use the GNU assembler, in
3474 @file{/usr/sfw/bin/gas}. The versions included in Solaris 10, from GNU
3475 binutils 2.15, and Solaris 11, from GNU binutils 2.19, work fine,
3476 although the current version, from GNU binutils
3477 2.20.1, is known to work, too. Recent versions of the Sun assembler in
3478 @file{/usr/ccs/bin/as} work almost as well, though.
3479 @c FIXME: as patch requirements?
3480
3481 For linking, the Sun linker, is preferred. If you want to use the GNU
3482 linker instead, which is available in @file{/usr/sfw/bin/gld}, note that
3483 due to a packaging bug the version in Solaris 10, from GNU binutils
3484 2.15, cannot be used, while the version in Solaris 11, from GNU binutils
3485 2.19, works, as does the latest version, from GNU binutils 2.20.1.
3486
3487 To use GNU @command{as}, configure with the options
3488 @option{--with-gnu-as --with-as=/usr/sfw/bin/gas}. It may be necessary
3489 to configure with @option{--without-gnu-ld --with-ld=/usr/ccs/bin/ld} to
3490 guarantee use of Sun @command{ld}.
3491 @c FIXME: why --without-gnu-ld --with-ld?
3485 3492
3486 @html 3493 @html
3487 <hr /> 3494 <hr />
3488 @end html 3495 @end html
3489 @heading @anchor{ia64-x-linux}ia64-*-linux 3496 @heading @anchor{ia64-x-linux}ia64-*-linux
3814 @html 3821 @html
3815 <hr /> 3822 <hr />
3816 @end html 3823 @end html
3817 @heading @anchor{mips-sgi-irix5}mips-sgi-irix5 3824 @heading @anchor{mips-sgi-irix5}mips-sgi-irix5
3818 3825
3819 In order to compile GCC on an SGI running IRIX 5, the @samp{compiler_dev.hdr} 3826 Support for IRIX 5 has been removed in GCC 4.6.
3820 subsystem must be installed from the IDO CD-ROM supplied by SGI@.
3821 It is also available for download from
3822 @uref{ftp://ftp.sgi.com/sgi/IRIX5.3/iris-development-option-5.3.tardist}.
3823
3824 If you use the MIPS C compiler to bootstrap, it may be necessary
3825 to increase its table size for switch statements with the
3826 @option{-Wf,-XNg1500} option. If you use the @option{-O2}
3827 optimization option, you also need to use @option{-Olimit 3000}.
3828
3829 To enable debugging under IRIX 5, you must use GNU binutils 2.15 or
3830 later, and use the @option{--with-gnu-ld} @command{configure} option
3831 when configuring GCC@. You need to use GNU @command{ar} and @command{nm},
3832 also distributed with GNU binutils.
3833
3834 Some users have reported that @command{/bin/sh} will hang during bootstrap.
3835 This problem can be avoided by running the commands:
3836
3837 @smallexample
3838 % CONFIG_SHELL=/bin/ksh
3839 % export CONFIG_SHELL
3840 @end smallexample
3841
3842 @noindent
3843 before starting the build.
3844 3827
3845 @html 3828 @html
3846 <hr /> 3829 <hr />
3847 @end html 3830 @end html
3848 @heading @anchor{mips-sgi-irix6}mips-sgi-irix6 3831 @heading @anchor{mips-sgi-irix6}mips-sgi-irix6
3832
3833 Support for IRIX 6 releases before 6.5 has been removed in GCC 4.6, as
3834 well as support for
3835 the O32 ABI. It is @emph{strongly} recommended to upgrade to at least
3836 IRIX 6.5.18. This release introduced full ISO C99 support, though for
3837 the N32 and N64 ABIs only.
3838
3839 To build and use GCC on IRIX 6.5, you need the IRIX Development Foundation
3840 (IDF) and IRIX Development Libraries (IDL). They are included with the
3841 IRIX 6.5 media.
3849 3842
3850 If you are using SGI's MIPSpro @command{cc} as your bootstrap compiler, you must 3843 If you are using SGI's MIPSpro @command{cc} as your bootstrap compiler, you must
3851 ensure that the N32 ABI is in use. To test this, compile a simple C 3844 ensure that the N32 ABI is in use. To test this, compile a simple C
3852 file with @command{cc} and then run @command{file} on the 3845 file with @command{cc} and then run @command{file} on the
3853 resulting object file. The output should look like: 3846 resulting object file. The output should look like:
3900 3893
3901 MIPSpro C 7.4 may cause bootstrap failures, due to a bug when inlining 3894 MIPSpro C 7.4 may cause bootstrap failures, due to a bug when inlining
3902 @code{memcmp}. Either add @code{-U__INLINE_INTRINSICS} to the @env{CC} 3895 @code{memcmp}. Either add @code{-U__INLINE_INTRINSICS} to the @env{CC}
3903 environment variable as a workaround or upgrade to MIPSpro C 7.4.1m. 3896 environment variable as a workaround or upgrade to MIPSpro C 7.4.1m.
3904 3897
3905 GCC on IRIX 6 is usually built to support the N32, O32 and N64 ABIs. If 3898 GCC on IRIX 6.5 is usually built to support the N32 and N64 ABIs. If
3906 you build GCC on a system that doesn't have the N64 libraries installed 3899 you build GCC on a system that doesn't have the N64 libraries installed
3907 or cannot run 64-bit binaries, 3900 or cannot run 64-bit binaries,
3908 you need to configure with @option{--disable-multilib} so GCC doesn't 3901 you need to configure with @option{--disable-multilib} so GCC doesn't
3909 try to use them. This will disable building the O32 libraries, too. 3902 try to use them.
3910 Look for @file{/usr/lib64/libc.so.1} to see if you 3903 Look for @file{/usr/lib64/libc.so.1} to see if you
3911 have the 64-bit libraries installed. 3904 have the 64-bit libraries installed.
3912 3905
3913 To enable debugging for the O32 ABI, you must use GNU @command{as} from 3906 GCC must be configured with GNU @command{as}. The latest version, from GNU
3914 GNU binutils 2.15 or later. You may also use GNU @command{ld}, but 3907 binutils 2.20.1, is known to work. On the other hand, bootstrap fails
3915 this is not required and currently causes some problems with Ada. 3908 with GNU @command{ld} at least since GNU binutils 2.17.
3916 3909
3917 The @option{--enable-libgcj} 3910 The @option{--enable-libgcj}
3918 option is disabled by default: IRIX 6 uses a very low default limit 3911 option is disabled by default: IRIX 6 uses a very low default limit
3919 (20480) for the command line length. Although @command{libtool} contains a 3912 (20480) for the command line length. Although @command{libtool} contains a
3920 workaround for this problem, at least the N64 @samp{libgcj} is known not 3913 workaround for this problem, at least the N64 @samp{libgcj} is known not
3921 to build despite this, running into an internal error of the native 3914 to build despite this, running into an internal error of the native
3922 @command{ld}. A sure fix is to increase this limit (@samp{ncargs}) to 3915 @command{ld}. A sure fix is to increase this limit (@samp{ncargs}) to
3923 its maximum of 262144 bytes. If you have root access, you can use the 3916 its maximum of 262144 bytes. If you have root access, you can use the
3924 @command{systune} command to do this. 3917 @command{systune} command to do this.
3918 @c FIXME: does this work with current libtool?
3925 3919
3926 @code{wchar_t} support in @samp{libstdc++} is not available for old 3920 @code{wchar_t} support in @samp{libstdc++} is not available for old
3927 IRIX 6.5.x releases, @math{x < 19}. The problem cannot be autodetected 3921 IRIX 6.5.x releases, @math{x < 19}. The problem cannot be autodetected
3928 and in order to build GCC for such targets you need to configure with 3922 and in order to build GCC for such targets you need to configure with
3929 @option{--disable-wchar_t}. 3923 @option{--disable-wchar_t}.
3930
3931 See @uref{http://freeware.sgi.com/} for more
3932 information about using GCC on IRIX platforms.
3933 3924
3934 @html 3925 @html
3935 <hr /> 3926 <hr />
3936 @end html 3927 @end html
3937 @heading @anchor{moxie-x-elf}moxie-*-elf 3928 @heading @anchor{moxie-x-elf}moxie-*-elf
4052 @c with 2.0 until 2.6, 7, 8, etc. Solaris 1 was a marketing name for 4043 @c with 2.0 until 2.6, 7, 8, etc. Solaris 1 was a marketing name for
4053 @c SunOS 4 releases which we don't use to avoid confusion. Solaris 4044 @c SunOS 4 releases which we don't use to avoid confusion. Solaris
4054 @c alone is too unspecific and must be avoided. 4045 @c alone is too unspecific and must be avoided.
4055 @heading @anchor{x-x-solaris2}*-*-solaris2* 4046 @heading @anchor{x-x-solaris2}*-*-solaris2*
4056 4047
4057 Sun does not ship a C compiler with Solaris 2. To bootstrap and install 4048 Support for Solaris 7 has been removed in GCC 4.6.
4058 GCC you first have to install a pre-built compiler, see the 4049
4050 Sun does not ship a C compiler with Solaris 2, though you can download
4051 the Sun Studio compilers for free from
4052 @uref{http://developers.sun.com/sunstudio/downloads/}. Alternatively,
4053 you can install a pre-built GCC to bootstrap and install GCC. See the
4059 @uref{binaries.html,,binaries page} for details. 4054 @uref{binaries.html,,binaries page} for details.
4060 4055
4061 The Solaris 2 @command{/bin/sh} will often fail to configure 4056 The Solaris 2 @command{/bin/sh} will often fail to configure
4062 @file{libstdc++-v3}, @file{boehm-gc} or @file{libjava}. We therefore 4057 @samp{libstdc++-v3}, @samp{boehm-gc} or @samp{libjava}. We therefore
4063 recommend using the following initial sequence of commands 4058 recommend using the following initial sequence of commands
4064 4059
4065 @smallexample 4060 @smallexample
4066 % CONFIG_SHELL=/bin/ksh 4061 % CONFIG_SHELL=/bin/ksh
4067 % export CONFIG_SHELL 4062 % export CONFIG_SHELL
4068 @end smallexample 4063 @end smallexample
4069 4064
4065 @noindent
4070 and proceed as described in @uref{configure.html,,the configure instructions}. 4066 and proceed as described in @uref{configure.html,,the configure instructions}.
4071 In addition we strongly recommend specifying an absolute path to invoke 4067 In addition we strongly recommend specifying an absolute path to invoke
4072 @var{srcdir}/configure. 4068 @command{@var{srcdir}/configure}.
4073 4069
4074 Solaris 2 comes with a number of optional OS packages. Some of these 4070 Solaris 2 comes with a number of optional OS packages. Some of these
4075 are needed to use GCC fully, namely @code{SUNWarc}, 4071 are needed to use GCC fully, namely @code{SUNWarc},
4076 @code{SUNWbtool}, @code{SUNWesu}, @code{SUNWhea}, @code{SUNWlibm}, 4072 @code{SUNWbtool}, @code{SUNWesu}, @code{SUNWhea}, @code{SUNWlibm},
4077 @code{SUNWsprot}, and @code{SUNWtoo}. If you did not install all 4073 @code{SUNWsprot}, and @code{SUNWtoo}. If you did not install all
4090 4086
4091 The build process works more smoothly with the legacy Sun tools so, if you 4087 The build process works more smoothly with the legacy Sun tools so, if you
4092 have @file{/usr/xpg4/bin} in your @env{PATH}, we recommend that you place 4088 have @file{/usr/xpg4/bin} in your @env{PATH}, we recommend that you place
4093 @file{/usr/bin} before @file{/usr/xpg4/bin} for the duration of the build. 4089 @file{/usr/bin} before @file{/usr/xpg4/bin} for the duration of the build.
4094 4090
4095 We recommend the use of GNU binutils 2.14 or later, or the vendor tools 4091 We recommend the use of the Sun assembler or the GNU assembler, in
4096 (Sun @command{as}, Sun @command{ld}). Note that your mileage may vary 4092 conjunction with the Sun linker. The GNU @command{as}
4093 versions included in Solaris 10, from GNU binutils 2.15, and Solaris 11,
4094 from GNU binutils 2.19, are known to work. They can be found in
4095 @file{/usr/sfw/bin/gas}. Current versions of GNU binutils (2.20.1)
4096 are known to work as well. Note that your mileage may vary
4097 if you use a combination of the GNU tools and the Sun tools: while the 4097 if you use a combination of the GNU tools and the Sun tools: while the
4098 combination GNU @command{as} + Sun @command{ld} should reasonably work, 4098 combination GNU @command{as} + Sun @command{ld} should reasonably work,
4099 the reverse combination Sun @command{as} + GNU @command{ld} is known to 4099 the reverse combination Sun @command{as} + GNU @command{ld} is known to
4100 cause memory corruption at runtime in some cases for C++ programs. 4100 cause memory corruption at runtime in some cases for C++ programs.
4101 4101 @c FIXME: still?
4102 The stock GNU binutils 2.15 release is broken on this platform because of a 4102 GNU @command{ld} usually works as well, although the version included in
4103 single bug. It has been fixed on the 2.15 branch in the CVS repository. 4103 Solaris 10 cannot be used due to several bugs. Again, the current
4104 You can obtain a working version by checking out the binutils-2_15-branch 4104 version (2.20.1) is known to work, but generally lacks platform specific
4105 from the CVS repository or applying the patch 4105 features, so better stay with Sun @command{ld}.
4106 @uref{http://sourceware.org/ml/binutils-cvs/2004-09/msg00036.html} to the
4107 release.
4108
4109 We recommend the use of GNU binutils 2.16 or later in conjunction with GCC
4110 4.x, or the vendor tools (Sun @command{as}, Sun @command{ld}). However,
4111 for Solaris 10 and above, an additional patch is required in order for the
4112 GNU linker to be able to cope with a new flavor of shared libraries. You
4113 can obtain a working version by checking out the binutils-2_16-branch from
4114 the CVS repository or applying the patch
4115 @uref{http://sourceware.org/ml/binutils-cvs/2005-07/msg00122.html} to the
4116 release.
4117 4106
4118 Sun bug 4296832 turns up when compiling X11 headers with GCC 2.95 or 4107 Sun bug 4296832 turns up when compiling X11 headers with GCC 2.95 or
4119 newer: @command{g++} will complain that types are missing. These headers 4108 newer: @command{g++} will complain that types are missing. These headers
4120 assume that omitting the type means @code{int}; this assumption worked for 4109 assume that omitting the type means @code{int}; this assumption worked for
4121 C89 but is wrong for C++, and is now wrong for C99 also. 4110 C90 but is wrong for C++, and is now wrong for C99 also.
4122 4111
4123 @command{g++} accepts such (invalid) constructs with the option 4112 @command{g++} accepts such (invalid) constructs with the option
4124 @option{-fpermissive}; it will assume that any missing type is @code{int} 4113 @option{-fpermissive}; it will assume that any missing type is @code{int}
4125 (as defined by C89). 4114 (as defined by C90).
4126 4115
4127 There are patches for Solaris 7 (108376-21 or newer for SPARC, 4116 There are patches for Solaris 8 (108652-24 or newer for SPARC,
4128 108377-20 for Intel), and Solaris 8 (108652-24 or newer for SPARC,
4129 108653-22 for Intel) that fix this bug. 4117 108653-22 for Intel) that fix this bug.
4130 4118
4131 Sun bug 4927647 sometimes causes random spurious testsuite failures 4119 Sun bug 4927647 sometimes causes random spurious testsuite failures
4132 related to missing diagnostic output. This bug doesn't affect GCC 4120 related to missing diagnostic output. This bug doesn't affect GCC
4133 itself, rather it is a kernel bug triggered by the @command{expect} 4121 itself, rather it is a kernel bug triggered by the @command{expect}
4142 @html 4130 @html
4143 <hr /> 4131 <hr />
4144 @end html 4132 @end html
4145 @heading @anchor{sparc-sun-solaris2}sparc-sun-solaris2* 4133 @heading @anchor{sparc-sun-solaris2}sparc-sun-solaris2*
4146 4134
4147 When GCC is configured to use binutils 2.14 or later the binaries 4135 When GCC is configured to use GNU binutils 2.14 or later, the binaries
4148 produced are smaller than the ones produced using Sun's native tools; 4136 produced are smaller than the ones produced using Sun's native tools;
4149 this difference is quite significant for binaries containing debugging 4137 this difference is quite significant for binaries containing debugging
4150 information. 4138 information.
4151 4139
4152 Starting with Solaris 7, the operating system is capable of executing 4140 Starting with Solaris 7, the operating system is capable of executing
4172 GCC 3.4 triggers a code generation bug in versions 5.4 (Sun ONE Studio 7) 4160 GCC 3.4 triggers a code generation bug in versions 5.4 (Sun ONE Studio 7)
4173 and 5.5 (Sun ONE Studio 8) of the Sun compiler, which causes a bootstrap 4161 and 5.5 (Sun ONE Studio 8) of the Sun compiler, which causes a bootstrap
4174 failure in form of a miscompilation of the stage1 compiler by the Sun 4162 failure in form of a miscompilation of the stage1 compiler by the Sun
4175 compiler. This is Sun bug 4974440. This is fixed with patch 112760-07. 4163 compiler. This is Sun bug 4974440. This is fixed with patch 112760-07.
4176 4164
4177 GCC 3.4 changed the default debugging format from STABS to DWARF-2 for 4165 GCC 3.4 changed the default debugging format from Stabs to DWARF-2 for
4178 32-bit code on Solaris 7 and later. If you use the Sun assembler, this 4166 32-bit code on Solaris 7 and later. If you use the Sun assembler, this
4179 change apparently runs afoul of Sun bug 4910101 (which is referenced as 4167 change apparently runs afoul of Sun bug 4910101 (which is referenced as
4180 an x86-only problem by Sun, probably because they do not use DWARF-2). 4168 an x86-only problem by Sun, probably because they do not use DWARF-2).
4181 A symptom of the problem is that you cannot compile C++ programs like 4169 A symptom of the problem is that you cannot compile C++ programs like
4182 @command{groff} 1.19.1 without getting messages similar to the following: 4170 @command{groff} 1.19.1 without getting messages similar to the following:
4185 ld: warning: relocation error: R_SPARC_UA32: @dots{} 4173 ld: warning: relocation error: R_SPARC_UA32: @dots{}
4186 external symbolic relocation against non-allocatable section 4174 external symbolic relocation against non-allocatable section
4187 .debug_info cannot be processed at runtime: relocation ignored. 4175 .debug_info cannot be processed at runtime: relocation ignored.
4188 @end smallexample 4176 @end smallexample
4189 4177
4178 @noindent
4190 To work around this problem, compile with @option{-gstabs+} instead of 4179 To work around this problem, compile with @option{-gstabs+} instead of
4191 plain @option{-g}. 4180 plain @option{-g}.
4192 4181
4193 When configuring the GNU Multiple Precision Library (GMP) or the MPFR 4182 When configuring the GNU Multiple Precision Library (GMP) or the MPFR
4194 library on a Solaris 7 or later system, the canonical target triplet 4183 library on a Solaris 7 or later system, the canonical target triplet
4195 must be specified as the @command{build} parameter on the configure 4184 must be specified as the @command{build} parameter on the configure
4196 line. This triplet can be obtained by invoking ./config.guess in 4185 line. This triplet can be obtained by invoking @command{./config.guess} in
4197 the toplevel source directory of GCC (and not that of GMP or MPFR). 4186 the toplevel source directory of GCC (and not that of GMP or MPFR).
4198 For example on a Solaris 7 system: 4187 For example on a Solaris 9 system:
4199 4188
4200 @smallexample 4189 @smallexample
4201 % ./configure --build=sparc-sun-solaris2.7 --prefix=xxx 4190 % ./configure --build=sparc-sun-solaris2.9 --prefix=xxx
4202 @end smallexample 4191 @end smallexample
4203 4192
4204 @html 4193 @html
4205 <hr /> 4194 <hr />
4206 @end html 4195 @end html
4207 @heading @anchor{sparc-sun-solaris27}sparc-sun-solaris2.7 4196 @heading @anchor{sparc-sun-solaris210}sparc-sun-solaris2.10
4208 4197
4209 Sun patch 107058-01 (1999-01-13) for Solaris 7/SPARC triggers a bug in 4198 There is a bug in older versions of the Sun assembler which breaks
4210 the dynamic linker. This problem (Sun bug 4210064) affects GCC 2.8 4199 thread-local storage (TLS). A typical error message is
4211 and later, including all EGCS releases. Sun formerly recommended
4212 107058-01 for all Solaris 7 users, but around 1999-09-01 it started to
4213 recommend it only for people who use Sun's compilers.
4214
4215 Here are some workarounds to this problem:
4216 @itemize @bullet
4217 @item
4218 Do not install Sun patch 107058-01 until after Sun releases a
4219 complete patch for bug 4210064. This is the simplest course to take,
4220 unless you must also use Sun's C compiler. Unfortunately 107058-01
4221 is preinstalled on some new Solaris 7-based hosts, so you may have to
4222 back it out.
4223
4224 @item
4225 Copy the original, unpatched Solaris 7
4226 @command{/usr/ccs/bin/as} into
4227 @command{/usr/local/libexec/gcc/sparc-sun-solaris2.7/3.4/as},
4228 adjusting the latter name to fit your local conventions and software
4229 version numbers.
4230
4231 @item
4232 Install Sun patch 106950-03 (1999-05-25) or later. Nobody with
4233 both 107058-01 and 106950-03 installed has reported the bug with GCC
4234 and Sun's dynamic linker. This last course of action is riskiest,
4235 for two reasons. First, you must install 106950 on all hosts that
4236 run code generated by GCC; it doesn't suffice to install it only on
4237 the hosts that run GCC itself. Second, Sun says that 106950-03 is
4238 only a partial fix for bug 4210064, but Sun doesn't know whether the
4239 partial fix is adequate for GCC@. Revision -08 or later should fix
4240 the bug. The current (as of 2004-05-23) revision is -24, and is included in
4241 the Solaris 7 Recommended Patch Cluster.
4242 @end itemize
4243
4244 GCC 3.3 triggers a bug in version 5.0 Alpha 03/27/98 of the Sun assembler,
4245 which causes a bootstrap failure when linking the 64-bit shared version of
4246 libgcc. A typical error message is:
4247 4200
4248 @smallexample 4201 @smallexample
4249 ld: fatal: relocation error: R_SPARC_32: file libgcc/sparcv9/_muldi3.o: 4202 ld: fatal: relocation error: R_SPARC_TLS_LE_HIX22: file /var/tmp//ccamPA1v.o:
4250 symbol <unknown>: offset 0xffffffff7ec133e7 is non-aligned. 4203 symbol <unknown>: bad symbol type SECT: symbol type must be TLS
4251 @end smallexample 4204 @end smallexample
4252 4205
4253 This bug has been fixed in the final 5.0 version of the assembler. 4206 @noindent
4254 4207 This bug is fixed in Sun patch 118683-03 or later.
4255 A similar problem was reported for version Sun WorkShop 6 99/08/18 of the
4256 Sun assembler, which causes a bootstrap failure with GCC 4.0.0:
4257
4258 @smallexample
4259 ld: fatal: relocation error: R_SPARC_DISP32:
4260 file .libs/libstdc++.lax/libsupc++convenience.a/vterminate.o:
4261 symbol <unknown>: offset 0xfccd33ad is non-aligned
4262 @end smallexample
4263
4264 This bug has been fixed in more recent revisions of the assembler.
4265 4208
4266 @html 4209 @html
4267 <hr /> 4210 <hr />
4268 @end html 4211 @end html
4269 @heading @anchor{sparc-x-linux}sparc-*-linux* 4212 @heading @anchor{sparc-x-linux}sparc-*-linux*
4279 @heading @anchor{sparc64-x-solaris2}sparc64-*-solaris2* 4222 @heading @anchor{sparc64-x-solaris2}sparc64-*-solaris2*
4280 4223
4281 When configuring the GNU Multiple Precision Library (GMP) or the 4224 When configuring the GNU Multiple Precision Library (GMP) or the
4282 MPFR library, the canonical target triplet must be specified as 4225 MPFR library, the canonical target triplet must be specified as
4283 the @command{build} parameter on the configure line. For example 4226 the @command{build} parameter on the configure line. For example
4284 on a Solaris 7 system: 4227 on a Solaris 9 system:
4285 4228
4286 @smallexample 4229 @smallexample
4287 % ./configure --build=sparc64-sun-solaris2.7 --prefix=xxx 4230 % ./configure --build=sparc64-sun-solaris2.9 --prefix=xxx
4288 @end smallexample 4231 @end smallexample
4289 4232
4290 The following compiler flags must be specified in the configure 4233 The following compiler flags must be specified in the configure
4291 step in order to bootstrap this target with the Sun compiler: 4234 step in order to bootstrap this target with the Sun compiler:
4292 4235
4293 @smallexample 4236 @smallexample
4294 % CC="cc -xarch=v9 -xildoff" @var{srcdir}/configure [@var{options}] [@var{target}] 4237 % CC="cc -xarch=v9 -xildoff" @var{srcdir}/configure [@var{options}] [@var{target}]
4295 @end smallexample 4238 @end smallexample
4296 4239
4240 @noindent
4297 @option{-xarch=v9} specifies the SPARC-V9 architecture to the Sun toolchain 4241 @option{-xarch=v9} specifies the SPARC-V9 architecture to the Sun toolchain
4298 and @option{-xildoff} turns off the incremental linker. 4242 and @option{-xildoff} turns off the incremental linker.
4299 4243
4300 @html 4244 @html
4301 <hr /> 4245 <hr />
4302 @end html 4246 @end html
4303 @heading @anchor{sparcv9-x-solaris2}sparcv9-*-solaris2* 4247 @heading @anchor{sparcv9-x-solaris2}sparcv9-*-solaris2*
4304 4248
4305 This is a synonym for sparc64-*-solaris2*. 4249 This is a synonym for @samp{sparc64-*-solaris2*}.
4306 4250
4307 @html 4251 @html
4308 <hr /> 4252 <hr />
4309 @end html 4253 @end html
4310 @heading @anchor{x-x-vxworks}*-*-vxworks* 4254 @heading @anchor{x-x-vxworks}*-*-vxworks*
4445 @uref{http://www.cygwin.com/,,Cygwin environment}. 4389 @uref{http://www.cygwin.com/,,Cygwin environment}.
4446 4390
4447 GCC will build under Cygwin without modification; it does not build 4391 GCC will build under Cygwin without modification; it does not build
4448 with Microsoft's C++ compiler and there are no plans to make it do so. 4392 with Microsoft's C++ compiler and there are no plans to make it do so.
4449 4393
4450 Cygwin can be compiled with i?86-pc-cygwin. 4394 The Cygwin native compiler can be configured to target any 32-bit x86
4395 cpu architecture desired; the default is i686-pc-cygwin. It should be
4396 used with as up-to-date a version of binutils as possible; use either
4397 the latest official GNU binutils release in the Cygwin distribution,
4398 or version 2.20 or above if building your own.
4451 4399
4452 @html 4400 @html
4453 <hr /> 4401 <hr />
4454 @end html 4402 @end html
4455 @heading @anchor{x-x-interix}*-*-interix 4403 @heading @anchor{x-x-interix}*-*-interix