Mercurial > hg > CbC > CbC_gcc
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 |