<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 1988-2015 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, the Front-Cover texts being (a) (see below), and
with the Back-Cover Texts being (b) (see below).  A copy of the
license is included in the section entitled "GNU
Free Documentation License".

(a) The FSF's Front-Cover Text is:

A GNU Manual

(b) The FSF's Back-Cover Text is:

You have freedom to copy and modify this GNU Manual, like GNU
     software.  Copies published by the Free Software Foundation raise
     funds for GNU development. -->
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Installing GCC</title>

<meta name="description" content="Installing GCC">
<meta name="keywords" content="Installing GCC">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<h1 class="settitle" align="center">Installing GCC</h1>
























<a name="index-Specific"></a>
<a name="index-Specific-installation-notes"></a>
<a name="index-Target-specific-installation"></a>
<a name="index-Host-specific-installation"></a>
<a name="index-Target-specific-installation-notes"></a>

<p>Please read this document carefully <em>before</em> installing the
GNU Compiler Collection on your machine.
</p>
<p>Note that this list of install notes is <em>not</em> a list of supported
hosts or targets.  Not all supported hosts and targets are listed
here, only the ones that require host-specific or target-specific
information have to. 
</p>
<ul>
<li> <a href="#alpha-x-x">alpha*-*-*</a>
</li><li> <a href="#alpha-dec-osf51">alpha*-dec-osf5.1</a>
</li><li> <a href="#amd64-x-solaris210">amd64-*-solaris2.10</a>
</li><li> <a href="#arm-x-eabi">arm-*-eabi</a>
</li><li> <a href="#avr">avr</a>
</li><li> <a href="#bfin">Blackfin</a>
</li><li> <a href="#dos">DOS</a>
</li><li> <a href="#x-x-freebsd">*-*-freebsd*</a>
</li><li> <a href="#h8300-hms">h8300-hms</a>
</li><li> <a href="#hppa-hp-hpux">hppa*-hp-hpux*</a>
</li><li> <a href="#hppa-hp-hpux10">hppa*-hp-hpux10</a>
</li><li> <a href="#hppa-hp-hpux11">hppa*-hp-hpux11</a>
</li><li> <a href="#x-x-linux-gnu">*-*-linux-gnu</a>
</li><li> <a href="#ix86-x-linux">i?86-*-linux*</a>
</li><li> <a href="#ix86-x-solaris289">i?86-*-solaris2.9</a>
</li><li> <a href="#ix86-x-solaris210">i?86-*-solaris2.10</a>
</li><li> <a href="#ia64-x-linux">ia64-*-linux</a>
</li><li> <a href="#ia64-x-hpux">ia64-*-hpux*</a>
</li><li> <a href="#x-ibm-aix">*-ibm-aix*</a>
</li><li> <a href="#iq2000-x-elf">iq2000-*-elf</a>
</li><li> <a href="#lm32-x-elf">lm32-*-elf</a>
</li><li> <a href="#lm32-x-uclinux">lm32-*-uclinux</a>
</li><li> <a href="#m32c-x-elf">m32c-*-elf</a>
</li><li> <a href="#m32r-x-elf">m32r-*-elf</a>
</li><li> <a href="#m68k-x-x">m68k-*-*</a>
</li><li> <a href="#m68k-uclinux">m68k-uclinux</a>
</li><li> <a href="#mep-x-elf">mep-*-elf</a>
</li><li> <a href="#microblaze-x-elf">microblaze-*-elf</a>
</li><li> <a href="#mips-x-x">mips-*-*</a>
</li><li> <a href="#mips-sgi-irix5">mips-sgi-irix5</a>
</li><li> <a href="#mips-sgi-irix6">mips-sgi-irix6</a>
</li><li> <a href="#nds32le-x-elf">nds32le-*-elf</a>
</li><li> <a href="#nds32be-x-elf">nds32be-*-elf</a>
</li><li> <a href="#powerpc-x-x">powerpc*-*-*</a>
</li><li> <a href="#powerpc-x-darwin">powerpc-*-darwin*</a>
</li><li> <a href="#powerpc-x-elf">powerpc-*-elf</a>
</li><li> <a href="#powerpc-x-linux-gnu">powerpc*-*-linux-gnu*</a>
</li><li> <a href="#powerpc-x-netbsd">powerpc-*-netbsd*</a>
</li><li> <a href="#powerpc-x-eabisim">powerpc-*-eabisim</a>
</li><li> <a href="#powerpc-x-eabi">powerpc-*-eabi</a>
</li><li> <a href="#powerpcle-x-elf">powerpcle-*-elf</a>
</li><li> <a href="#powerpcle-x-eabisim">powerpcle-*-eabisim</a>
</li><li> <a href="#powerpcle-x-eabi">powerpcle-*-eabi</a>
</li><li> <a href="#s390-x-linux">s390-*-linux*</a>
</li><li> <a href="#s390x-x-linux">s390x-*-linux*</a>
</li><li> <a href="#s390x-ibm-tpf">s390x-ibm-tpf*</a>
</li><li> <a href="#x-x-solaris2">*-*-solaris2*</a>
</li><li> <a href="#sparc-x-x">sparc*-*-*</a>
</li><li> <a href="#sparc-sun-solaris2">sparc-sun-solaris2*</a>
</li><li> <a href="#sparc-sun-solaris210">sparc-sun-solaris2.10</a>
</li><li> <a href="#sparc-x-linux">sparc-*-linux*</a>
</li><li> <a href="#sparc64-x-solaris2">sparc64-*-solaris2*</a>
</li><li> <a href="#sparcv9-x-solaris2">sparcv9-*-solaris2*</a>
</li><li> <a href="#c6x-x-x">c6x-*-*</a>
</li><li> <a href="#tilegx-x-linux">tilegx-*-linux*</a>
</li><li> <a href="#tilegxbe-x-linux">tilegxbe-*-linux*</a>
</li><li> <a href="#tilepro-x-linux">tilepro-*-linux*</a>
</li><li> <a href="#x-x-vxworks">*-*-vxworks*</a>
</li><li> <a href="#x86-64-x-x">x86_64-*-*, amd64-*-*</a>
</li><li> <a href="#x86-64-x-solaris210">x86_64-*-solaris2.1[0-9]*</a>
</li><li> <a href="#xtensa-x-elf">xtensa*-*-elf</a>
</li><li> <a href="#xtensa-x-linux">xtensa*-*-linux*</a>
</li><li> <a href="#windows">Microsoft Windows</a>
</li><li> <a href="#x-x-cygwin">*-*-cygwin</a>
</li><li> <a href="#x-x-interix">*-*-interix</a>
</li><li> <a href="#x-x-mingw32">*-*-mingw32</a>
</li><li> <a href="#os2">OS/2</a>
</li><li> <a href="#older">Older systems</a>
</li></ul>

<ul>
<li> <a href="#elf">all ELF targets</a> (SVR4, Solaris 2, etc.)
</li></ul>


<!-- -------- host/target specific issues start here ---------------- -->
<hr /><a name="alpha_002dx_002dx"></a><a name="alpha_002a_002d_002a_002d_002a"></a>
<h3 class="heading">alpha*-*-*</h3>
<p>This section contains general configuration information for all
alpha-based platforms using ELF (in particular, ignore this section for
DEC OSF/1, Digital UNIX and Tru64 UNIX).  In addition to reading this
section, please read all other sections that match your target.
</p>
<p>We require binutils 2.11.2 or newer.
Previous binutils releases had a number of problems with DWARF 2
debugging information, not the least of which is incorrect linking of
shared libraries.
</p>
<hr /><a name="alpha_002ddec_002dosf51"></a><a name="alpha_002a_002ddec_002dosf5_002e1"></a>
<h3 class="heading">alpha*-dec-osf5.1</h3>
<p>Systems using processors that implement the DEC Alpha architecture and
are running the DEC/Compaq/HP Unix (DEC OSF/1, Digital UNIX, or Compaq/HP
Tru64 UNIX) operating system, for example the DEC Alpha AXP systems.
</p>
<p>Support for Tru64 UNIX V5.1 has been removed in GCC 4.8.  As of GCC 4.6,
support for Tru64 UNIX V4.0 and V5.0 has been removed.  As of GCC 3.2,
versions before <code>alpha*-dec-osf4</code> are no longer supported.  (These
are the versions which identify themselves as DEC OSF/1.)
</p>
<hr /><a name="amd64_002dx_002dsolaris210"></a><a name="amd64_002d_002a_002dsolaris2_002e1_005b0_002d9_005d_002a"></a>
<h3 class="heading">amd64-*-solaris2.1[0-9]*</h3>
<p>This is a synonym for &lsquo;<samp>x86_64-*-solaris2.1[0-9]*</samp>&rsquo;.
</p>
<hr /><a name="arc_002dx_002delf32"></a><a name="arc_002d_002a_002delf32"></a>
<h3 class="heading">arc-*-elf32</h3>

<p>Use &lsquo;<samp>configure --target=arc-elf32 --with-cpu=<var>cpu</var> --enable-languages=&quot;c,c++&quot;</samp>&rsquo;
to configure GCC, with <var>cpu</var> being one of &lsquo;<samp>arc600</samp>&rsquo;, &lsquo;<samp>arc601</samp>&rsquo;,
or &lsquo;<samp>arc700</samp>&rsquo;.
</p>
<hr /><a name="arc_002dlinux_002duclibc"></a><a name="arc_002dlinux_002duclibc-1"></a>
<h3 class="heading">arc-linux-uclibc</h3>

<p>Use &lsquo;<samp>configure --target=arc-linux-uclibc --with-cpu=arc700 --enable-languages=&quot;c,c++&quot;</samp>&rsquo; to configure GCC.
</p>
<hr /><a name="arm_002dx_002deabi"></a><a name="arm_002d_002a_002deabi"></a>
<h3 class="heading">arm-*-eabi</h3>
<p>ARM-family processors.  Subtargets that use the ELF object format
require GNU binutils 2.13 or newer.  Such subtargets include:
<code>arm-*-netbsdelf</code>, <code>arm-*-*linux-*</code>
and <code>arm-*-rtemseabi</code>.
</p>
<hr /><a name="avr"></a><a name="avr-1"></a>
<h3 class="heading">avr</h3>
<p>ATMEL AVR-family micro controllers.  These are used in embedded
applications.  There are no standard Unix configurations.
See &ldquo;AVR Options&rdquo; in the main manual
for the list of supported MCU types.
</p>
<p>Use &lsquo;<samp>configure --target=avr --enable-languages=&quot;c&quot;</samp>&rsquo; to configure GCC.
</p>
<p>Further installation notes and other useful information about AVR tools
can also be obtained from:
</p>
<ul>
<li> <a href="http://www.nongnu.org/avr/">http://www.nongnu.org/avr/</a>
</li><li> <a href="http://www.amelek.gda.pl/avr/">http://www.amelek.gda.pl/avr/</a>
</li></ul>

<p>We <em>strongly</em> recommend using binutils 2.13 or newer.
</p>
<p>The following error:
</p><div class="smallexample">
<pre class="smallexample">Error: register required
</pre></div>

<p>indicates that you should upgrade to a newer version of the binutils.
</p>
<hr /><a name="bfin"></a><a name="Blackfin"></a>
<h3 class="heading">Blackfin</h3>
<p>The Blackfin processor, an Analog Devices DSP.
See &ldquo;Blackfin Options&rdquo; in the main manual
</p>
<p>More information, and a version of binutils with support for this processor,
is available at <a href="http://blackfin.uclinux.org">http://blackfin.uclinux.org</a>
</p>
<hr /><a name="cr16"></a><a name="CR16"></a>
<h3 class="heading">CR16</h3>
<p>The CR16 CompactRISC architecture is a 16-bit architecture. This
architecture is used in embedded applications.
</p>

<p>See &ldquo;CR16 Options&rdquo; in the main manual for a list of CR16-specific options.
</p>
<p>Use &lsquo;<samp>configure --target=cr16-elf --enable-languages=c,c++</samp>&rsquo; to configure
GCC&nbsp;for building a CR16 elf cross-compiler.
</p>
<p>Use &lsquo;<samp>configure --target=cr16-uclinux --enable-languages=c,c++</samp>&rsquo; to
configure GCC&nbsp;for building a CR16 uclinux cross-compiler.
</p>
<hr /><a name="cris"></a><a name="CRIS"></a>
<h3 class="heading">CRIS</h3>
<p>CRIS is the CPU architecture in Axis Communications ETRAX system-on-a-chip
series.  These are used in embedded applications.
</p>
<p>See &ldquo;CRIS Options&rdquo; in the main manual
for a list of CRIS-specific options.
</p>
<p>There are a few different CRIS targets:
</p><dl compact="compact">
<dt><code>cris-axis-elf</code></dt>
<dd><p>Mainly for monolithic embedded systems.  Includes a multilib for the
&lsquo;<samp>v10</samp>&rsquo; core used in &lsquo;<samp>ETRAX 100 LX</samp>&rsquo;.
</p></dd>
<dt><code>cris-axis-linux-gnu</code></dt>
<dd><p>A GNU/Linux port for the CRIS architecture, currently targeting
&lsquo;<samp>ETRAX 100 LX</samp>&rsquo; by default.
</p></dd>
</dl>

<p>For <code>cris-axis-elf</code> you need binutils 2.11
or newer.  For <code>cris-axis-linux-gnu</code> you need binutils 2.12 or newer.
</p>
<p>Pre-packaged tools can be obtained from
<a href="ftp://ftp.axis.com/pub/axis/tools/cris/compiler-kit/">ftp://ftp.axis.com/pub/axis/tools/cris/compiler-kit/</a>.  More
information about this platform is available at
<a href="http://developer.axis.com/">http://developer.axis.com/</a>.
</p>
<hr /><a name="dos"></a><a name="DOS"></a>
<h3 class="heading">DOS</h3>
<p>Please have a look at the <a href="binaries.html">binaries page</a>.
</p>
<p>You cannot install GCC by itself on MSDOS; it will not compile under
any MSDOS compiler except itself.  You need to get the complete
compilation package DJGPP, which includes binaries as well as sources,
and includes all the necessary compilation tools and libraries.
</p>
<hr /><a name="epiphany_002dx_002delf"></a><a name="epiphany_002d_002a_002delf"></a>
<h3 class="heading">epiphany-*-elf</h3>
<p>Adapteva Epiphany.
This configuration is intended for embedded systems.
</p>
<hr /><a name="x_002dx_002dfreebsd"></a><a name="g_t_002a_002d_002a_002dfreebsd_002a"></a>
<h3 class="heading">*-*-freebsd*</h3>
<p>Support for FreeBSD 1 was discontinued in GCC 3.2.  Support for
FreeBSD 2 (and any mutant a.out variants of FreeBSD 3) was
discontinued in GCC 4.0.
</p>
<p>In order to better utilize FreeBSD base system functionality and match
the configuration of the system compiler, GCC 4.5 and above as well as
GCC 4.4 past 2010-06-20 leverage SSP support in libc (which is present
on FreeBSD 7 or later) and the use of <code>__cxa_atexit</code> by default
(on FreeBSD 6 or later).  The use of <code>dl_iterate_phdr</code> inside
<samp>libgcc_s.so.1</samp> and boehm-gc (on FreeBSD 7 or later) is enabled
by GCC 4.5 and above.
</p>
<p>We support FreeBSD using the ELF file format with DWARF 2 debugging
for all CPU architectures.  You may use <samp>-gstabs</samp> instead of
<samp>-g</samp>, if you really want the old debugging format.  There are
no known issues with mixing object files and libraries with different
debugging formats.  Otherwise, this release of GCC should now match
more of the configuration used in the stock FreeBSD configuration of
GCC.  In particular, <samp>--enable-threads</samp> is now configured by
default.  However, as a general user, do not attempt to replace the
system compiler with this release.  Known to bootstrap and check with
good results on FreeBSD 7.2-STABLE.  In the past, known to bootstrap
and check with good results on FreeBSD 3.0, 3.4, 4.0, 4.2, 4.3, 4.4,
4.5, 4.8, 4.9 and 5-CURRENT.
</p>
<p>The version of binutils installed in <samp>/usr/bin</samp> probably works
with this release of GCC.  Bootstrapping against the latest GNU
binutils and/or the version found in <samp>/usr/ports/devel/binutils</samp> has
been known to enable additional features and improve overall testsuite
results.  However, it is currently known that boehm-gc (which itself
is required for java) may not configure properly on FreeBSD prior to
the FreeBSD 7.0 release with GNU binutils after 2.16.1.
</p>
<hr /><a name="h8300_002dhms"></a><a name="h8300_002dhms-1"></a>
<h3 class="heading">h8300-hms</h3>
<p>Renesas H8/300 series of processors.
</p>
<p>Please have a look at the <a href="binaries.html">binaries page</a>.
</p>
<p>The calling convention and structure layout has changed in release 2.6.
All code must be recompiled.  The calling convention now passes the
first three arguments in function calls in registers.  Structures are no
longer a multiple of 2 bytes.
</p>
<hr /><a name="hppa_002dhp_002dhpux"></a><a name="hppa_002a_002dhp_002dhpux_002a"></a>
<h3 class="heading">hppa*-hp-hpux*</h3>
<p>Support for HP-UX version 9 and older was discontinued in GCC 3.4.
</p>
<p>We require using gas/binutils on all hppa platforms.  Version 2.19 or
later is recommended.
</p>
<p>It may be helpful to configure GCC with the
<a href="./configure.html#with-gnu-as"><samp>--with-gnu-as</samp></a> and
<samp>--with-as=&hellip;</samp> options to ensure that GCC can find GAS.
</p>
<p>The HP assembler should not be used with GCC.  It is rarely tested and may
not work.  It shouldn&rsquo;t be used with any languages other than C due to its
many limitations.
</p>
<p>Specifically, <samp>-g</samp> does not work (HP-UX uses a peculiar debugging
format which GCC does not know about).  It also inserts timestamps
into each object file it creates, causing the 3-stage comparison test to
fail during a bootstrap.  You should be able to continue by saying
&lsquo;<samp>make all-host all-target</samp>&rsquo; after getting the failure from &lsquo;<samp>make</samp>&rsquo;.
</p>
<p>Various GCC features are not supported.  For example, it does not support weak
symbols or alias definitions.  As a result, explicit template instantiations
are required when using C++.  This makes it difficult if not impossible to
build many C++ applications.
</p>
<p>There are two default scheduling models for instructions.  These are
PROCESSOR_7100LC and PROCESSOR_8000.  They are selected from the pa-risc
architecture specified for the target machine when configuring.
PROCESSOR_8000 is the default.  PROCESSOR_7100LC is selected when
the target is a &lsquo;<samp>hppa1*</samp>&rsquo; machine.
</p>
<p>The PROCESSOR_8000 model is not well suited to older processors.  Thus,
it is important to completely specify the machine architecture when
configuring if you want a model other than PROCESSOR_8000.  The macro
TARGET_SCHED_DEFAULT can be defined in BOOT_CFLAGS if a different
default scheduling model is desired.
</p>
<p>As of GCC 4.0, GCC uses the UNIX 95 namespace for HP-UX 10.10
through 11.00, and the UNIX 98 namespace for HP-UX 11.11 and later.
This namespace change might cause problems when bootstrapping with
an earlier version of GCC or the HP compiler as essentially the same
namespace is required for an entire build.  This problem can be avoided
in a number of ways.  With HP cc, <code>UNIX_STD</code> can be set to &lsquo;<samp>95</samp>&rsquo;
or &lsquo;<samp>98</samp>&rsquo;.  Another way is to add an appropriate set of predefines
to <code>CC</code>.  The description for the <samp>munix=</samp> option contains
a list of the predefines used with each standard.
</p>
<p>More specific information to &lsquo;<samp>hppa*-hp-hpux*</samp>&rsquo; targets follows.
</p>
<hr /><a name="hppa_002dhp_002dhpux10"></a><a name="hppa_002a_002dhp_002dhpux10"></a>
<h3 class="heading">hppa*-hp-hpux10</h3>
<p>For hpux10.20, we <em>highly</em> recommend you pick up the latest sed patch
<code>PHCO_19798</code> from HP.
</p>
<p>The C++ ABI has changed incompatibly in GCC 4.0.  COMDAT subspaces are
used for one-only code and data.  This resolves many of the previous
problems in using C++ on this target.  However, the ABI is not compatible
with the one implemented under HP-UX 11 using secondary definitions.
</p>
<hr /><a name="hppa_002dhp_002dhpux11"></a><a name="hppa_002a_002dhp_002dhpux11"></a>
<h3 class="heading">hppa*-hp-hpux11</h3>
<p>GCC 3.0 and up support HP-UX 11.  GCC 2.95.x is not supported and cannot
be used to compile GCC 3.0 and up.
</p>
<p>The libffi and libjava libraries haven&rsquo;t been ported to 64-bit HP-UX&nbsp;and don&rsquo;t build.
</p>
<p>Refer to <a href="binaries.html">binaries</a> for information about obtaining
precompiled GCC binaries for HP-UX.  Precompiled binaries must be obtained
to build the Ada language as it can&rsquo;t be bootstrapped using C.  Ada is
only available for the 32-bit PA-RISC runtime.
</p>
<p>Starting with GCC 3.4 an ISO C compiler is required to bootstrap.  The
bundled compiler supports only traditional C; you will need either HP&rsquo;s
unbundled compiler, or a binary distribution of GCC.
</p>
<p>It is possible to build GCC 3.3 starting with the bundled HP compiler,
but the process requires several steps.  GCC 3.3 can then be used to
build later versions.  The fastjar program contains ISO C code and
can&rsquo;t be built with the HP bundled compiler.  This problem can be
avoided by not building the Java language.  For example, use the
<samp>--enable-languages=&quot;c,c++,f77,objc&quot;</samp> option in your configure
command.
</p>
<p>There are several possible approaches to building the distribution.
Binutils can be built first using the HP tools.  Then, the GCC
distribution can be built.  The second approach is to build GCC
first using the HP tools, then build binutils, then rebuild GCC.
There have been problems with various binary distributions, so it
is best not to start from a binary distribution.
</p>
<p>On 64-bit capable systems, there are two distinct targets.  Different
installation prefixes must be used if both are to be installed on
the same system.  The &lsquo;<samp>hppa[1-2]*-hp-hpux11*</samp>&rsquo; target generates code
for the 32-bit PA-RISC runtime architecture and uses the HP linker.
The &lsquo;<samp>hppa64-hp-hpux11*</samp>&rsquo; target generates 64-bit code for the
PA-RISC 2.0 architecture.
</p>
<p>The script config.guess now selects the target type based on the compiler
detected during configuration.  You must define <code>PATH</code> or <code>CC</code> so
that configure finds an appropriate compiler for the initial bootstrap.
When <code>CC</code> is used, the definition should contain the options that are
needed whenever <code>CC</code> is used.
</p>
<p>Specifically, options that determine the runtime architecture must be
in <code>CC</code> to correctly select the target for the build.  It is also
convenient to place many other compiler options in <code>CC</code>.  For example,
<code>CC=&quot;cc -Ac +DA2.0W -Wp,-H16376 -D_CLASSIC_TYPES -D_HPUX_SOURCE&quot;</code>
can be used to bootstrap the GCC 3.3 branch with the HP compiler in
64-bit K&amp;R/bundled mode.  The <samp>+DA2.0W</samp> option will result in
the automatic selection of the &lsquo;<samp>hppa64-hp-hpux11*</samp>&rsquo; target.  The
macro definition table of cpp needs to be increased for a successful
build with the HP compiler.  _CLASSIC_TYPES and _HPUX_SOURCE need to
be defined when building with the bundled compiler, or when using the
<samp>-Ac</samp> option.  These defines aren&rsquo;t necessary with <samp>-Ae</samp>.
</p>
<p>It is best to explicitly configure the &lsquo;<samp>hppa64-hp-hpux11*</samp>&rsquo; target
with the <samp>--with-ld=&hellip;</samp> option.  This overrides the standard
search for ld.  The two linkers supported on this target require different
commands.  The default linker is determined during configuration.  As a
result, it&rsquo;s not possible to switch linkers in the middle of a GCC build.
This has been reported to sometimes occur in unified builds of binutils
and GCC.
</p>
<p>A recent linker patch must be installed for the correct operation of
GCC 3.3 and later.  <code>PHSS_26559</code> and <code>PHSS_24304</code> are the
oldest linker patches that are known to work.  They are for HP-UX
11.00 and 11.11, respectively.  <code>PHSS_24303</code>, the companion to
<code>PHSS_24304</code>, might be usable but it hasn&rsquo;t been tested.  These
patches have been superseded.  Consult the HP patch database to obtain
the currently recommended linker patch for your system.
</p>
<p>The patches are necessary for the support of weak symbols on the
32-bit port, and for the running of initializers and finalizers.  Weak
symbols are implemented using SOM secondary definition symbols.  Prior
to HP-UX 11, there are bugs in the linker support for secondary symbols.
The patches correct a problem of linker core dumps creating shared
libraries containing secondary symbols, as well as various other
linking issues involving secondary symbols.
</p>
<p>GCC 3.3 uses the ELF DT_INIT_ARRAY and DT_FINI_ARRAY capabilities to
run initializers and finalizers on the 64-bit port.  The 32-bit port
uses the linker <samp>+init</samp> and <samp>+fini</samp> options for the same
purpose.  The patches correct various problems with the +init/+fini
options, including program core dumps.  Binutils 2.14 corrects a
problem on the 64-bit port resulting from HP&rsquo;s non-standard use of
the .init and .fini sections for array initializers and finalizers.
</p>
<p>Although the HP and GNU linkers are both supported for the
&lsquo;<samp>hppa64-hp-hpux11*</samp>&rsquo; target, it is strongly recommended that the
HP linker be used for link editing on this target.
</p>
<p>At this time, the GNU linker does not support the creation of long
branch stubs.  As a result, it can&rsquo;t successfully link binaries
containing branch offsets larger than 8 megabytes.  In addition,
there are problems linking shared libraries, linking executables
with <samp>-static</samp>, and with dwarf2 unwind and exception support.
It also doesn&rsquo;t provide stubs for internal calls to global functions
in shared libraries, so these calls can&rsquo;t be overloaded.
</p>
<p>The HP dynamic loader does not support GNU symbol versioning, so symbol
versioning is not supported.  It may be necessary to disable symbol
versioning with <samp>--disable-symvers</samp> when using GNU ld.
</p>
<p>POSIX threads are the default.  The optional DCE thread library is not
supported, so <samp>--enable-threads=dce</samp> does not work.
</p>
<hr /><a name="x_002dx_002dlinux_002dgnu"></a><a name="g_t_002a_002d_002a_002dlinux_002dgnu"></a>
<h3 class="heading">*-*-linux-gnu</h3>
<p>Versions of libstdc++-v3 starting with 3.2.1 require bug fixes present
in glibc 2.2.5 and later.  More information is available in the
libstdc++-v3 documentation.
</p>
<hr /><a name="ix86_002dx_002dlinux"></a><a name="i_003f86_002d_002a_002dlinux_002a"></a>
<h3 class="heading">i?86-*-linux*</h3>
<p>As of GCC 3.3, binutils 2.13.1 or later is required for this platform.
See <a href="http://gcc.gnu.org/PR10877">bug 10877</a> for more information.
</p>
<p>If you receive Signal 11 errors when building on GNU/Linux, then it is
possible you have a hardware problem.  Further information on this can be
found on <a href="http://www.bitwizard.nl/sig11/">www.bitwizard.nl</a>.
</p>
<hr /><a name="ix86_002dx_002dsolaris29"></a><a name="i_003f86_002d_002a_002dsolaris2_002e9"></a>
<h3 class="heading">i?86-*-solaris2.9</h3>
<p>The Sun assembler in Solaris 9 has several bugs and limitations.
While GCC works around them, several features are missing, so it is
recommended to use the GNU assembler instead.  There is no bundled
version, but the current version, from GNU binutils 2.22, is known to
work.
</p>
<p>Solaris&nbsp;2/x86 doesn&rsquo;t support the execution of SSE/SSE2 instructions
before Solaris&nbsp;9 4/04, even if the CPU supports them.  Programs will
receive <code>SIGILL</code> if they try.  The fix is available both in
Solaris&nbsp;9 Update&nbsp;6 and kernel patch 112234-12 or newer.  To
avoid this problem,
<samp>-march</samp> defaults to &lsquo;<samp>pentiumpro</samp>&rsquo; on Solaris 9.  If
you have the patch installed, you can configure GCC with an appropriate
<samp>--with-arch</samp> option, but need GNU <code>as</code> for SSE2 support.
</p>
<hr /><a name="ix86_002dx_002dsolaris210"></a><a name="i_003f86_002d_002a_002dsolaris2_002e10"></a>
<h3 class="heading">i?86-*-solaris2.10</h3>
<p>Use this for Solaris 10 or later on x86 and x86-64 systems.  Starting
with GCC 4.7, there is also a 64-bit &lsquo;<samp>amd64-*-solaris2.1[0-9]*</samp>&rsquo; or
&lsquo;<samp>x86_64-*-solaris2.1[0-9]*</samp>&rsquo; configuration that corresponds to
&lsquo;<samp>sparcv9-sun-solaris2*</samp>&rsquo;.
</p>
<p>It is recommended that you configure GCC to use the GNU assembler, in
<samp>/usr/sfw/bin/gas</samp>.  The versions included in Solaris 10, from GNU
binutils 2.15, and Solaris 11, from GNU binutils 2.19, work fine,
although the current version, from GNU binutils
2.22, is known to work, too.  Recent versions of the Sun assembler in
<samp>/usr/ccs/bin/as</samp> work almost as well, though.
</p>
<p>For linking, the Sun linker, is preferred.  If you want to use the GNU
linker instead, which is available in <samp>/usr/sfw/bin/gld</samp>, note that
due to a packaging bug the version in Solaris 10, from GNU binutils
2.15, cannot be used, while the version in Solaris 11, from GNU binutils
2.19, works, as does the latest version, from GNU binutils 2.22.
</p>
<p>To use GNU <code>as</code>, configure with the options
<samp>--with-gnu-as --with-as=/usr/sfw/bin/gas</samp>.  It may be necessary
to configure with <samp>--without-gnu-ld --with-ld=/usr/ccs/bin/ld</samp> to
guarantee use of Sun <code>ld</code>.
</p>
<hr /><a name="ia64_002dx_002dlinux"></a><a name="ia64_002d_002a_002dlinux"></a>
<h3 class="heading">ia64-*-linux</h3>
<p>IA-64 processor (also known as IPF, or Itanium Processor Family)
running GNU/Linux.
</p>
<p>If you are using the installed system libunwind library with
<samp>--with-system-libunwind</samp>, then you must use libunwind 0.98 or
later.
</p>
<p>None of the following versions of GCC has an ABI that is compatible
with any of the other versions in this list, with the exception that
Red Hat 2.96 and Trillian 000171 are compatible with each other:
3.1, 3.0.2, 3.0.1, 3.0, Red Hat 2.96, and Trillian 000717.
This primarily affects C++ programs and programs that create shared libraries.
GCC 3.1 or later is recommended for compiling linux, the kernel.
As of version 3.1 GCC is believed to be fully ABI compliant, and hence no
more major ABI changes are expected.
</p>
<hr /><a name="ia64_002dx_002dhpux"></a><a name="ia64_002d_002a_002dhpux_002a"></a>
<h3 class="heading">ia64-*-hpux*</h3>
<p>Building GCC on this target requires the GNU Assembler.  The bundled HP
assembler will not work.  To prevent GCC from using the wrong assembler,
the option <samp>--with-gnu-as</samp> may be necessary.
</p>
<p>The GCC libunwind library has not been ported to HPUX.  This means that for
GCC versions 3.2.3 and earlier, <samp>--enable-libunwind-exceptions</samp>
is required to build GCC.  For GCC 3.3 and later, this is the default.
For gcc 3.4.3 and later, <samp>--enable-libunwind-exceptions</samp> is
removed and the system libunwind library will always be used.
</p>
<hr /><a name="aarch64_002dx_002dx"></a><a name="aarch64_002a_002d_002a_002d_002a"></a>
<h3 class="heading">aarch64*-*-*</h3>
<p>Binutils pre 2.24 does not have support for selecting <samp>-mabi</samp> and
does not support ILP32.  If it is used to build GCC 4.9 or later, GCC will
not support option <samp>-mabi=ilp32</samp>.
</p>
<p>To enable a workaround for the Cortex-A53 erratum number 835769 by default
(for all CPUs regardless of -mcpu option given) at configure time use the
<samp>--enable-fix-cortex-a53-835769</samp> option.  This will enable the fix by
default and can be explicitly disabled during compilation by passing the
<samp>-mno-fix-cortex-a53-835769</samp> option.  Conversely,
<samp>--disable-fix-cortex-a53-835769</samp> will disable the workaround by
default.  The workaround is disabled by default if neither of
<samp>--enable-fix-cortex-a53-835769</samp> or
<samp>--disable-fix-cortex-a53-835769</samp> is given at configure time.
</p>
<p>To enable a workaround for the Cortex-A53 erratum number 843419 by default
(for all CPUs regardless of -mcpu option given) at configure time use the
<samp>--enable-fix-cortex-a53-843419</samp> option.  This workaround is applied at
link time.  Enabling the workaround will cause GCC to pass the relevant option
to the linker.  It can be explicitly disabled during compilation by passing the
<samp>-mno-fix-cortex-a53-843419</samp> option.  Conversely,
<samp>--disable-fix-cortex-a53-843419</samp> will disable the workaround by default.
The workaround is disabled by default if neither of
<samp>--enable-fix-cortex-a53-843419</samp> or
<samp>--disable-fix-cortex-a53-843419</samp> is given at configure time.
</p>
<hr />
<!-- rs6000-ibm-aix*, powerpc-ibm-aix* --><a name="x_002dibm_002daix"></a><a name="g_t_002a_002dibm_002daix_002a"></a>
<h3 class="heading">*-ibm-aix*</h3>
<p>Support for AIX version 3 and older was discontinued in GCC 3.4.
Support for AIX version 4.2 and older was discontinued in GCC 4.5.
</p>
<p>&ldquo;out of memory&rdquo; bootstrap failures may indicate a problem with
process resource limits (ulimit).  Hard limits are configured in the
<samp>/etc/security/limits</samp> system configuration file.
</p>
<p>GCC can bootstrap with recent versions of IBM XLC, but bootstrapping
with an earlier release of GCC is recommended.  Bootstrapping with XLC
requires a larger data segment, which can be enabled through the
<var>LDR_CNTRL</var> environment variable, e.g.,
</p>
<div class="smallexample">
<pre class="smallexample">% LDR_CNTRL=MAXDATA=0x50000000
% export LDR_CNTRL
</pre></div>

<p>One can start with a pre-compiled version of GCC to build from
sources.  One may delete GCC&rsquo;s &ldquo;fixed&rdquo; header files when starting
with a version of GCC built for an earlier release of AIX.
</p>
<p>To speed up the configuration phases of bootstrapping and installing GCC,
one may use GNU Bash instead of AIX <code>/bin/sh</code>, e.g.,
</p>
<div class="smallexample">
<pre class="smallexample">% CONFIG_SHELL=/opt/freeware/bin/bash
% export CONFIG_SHELL
</pre></div>

<p>and then proceed as described in <a href="build.html">the build
instructions</a>, where we strongly recommend specifying an absolute path
to invoke <var>srcdir</var>/configure.
</p>
<p>Because GCC on AIX is built as a 32-bit executable by default,
(although it can generate 64-bit programs) the GMP and MPFR libraries
required by gfortran must be 32-bit libraries.  Building GMP and MPFR
as static archive libraries works better than shared libraries.
</p>
<p>Errors involving <code>alloca</code> when building GCC generally are due
to an incorrect definition of <code>CC</code> in the Makefile or mixing files
compiled with the native C compiler and GCC.  During the stage1 phase of
the build, the native AIX compiler <strong>must</strong> be invoked as <code>cc</code>
(not <code>xlc</code>).  Once <code>configure</code> has been informed of
<code>xlc</code>, one needs to use &lsquo;<samp>make distclean</samp>&rsquo; to remove the
configure cache files and ensure that <code>CC</code> environment variable
does not provide a definition that will confuse <code>configure</code>.
If this error occurs during stage2 or later, then the problem most likely
is the version of Make (see above).
</p>
<p>The native <code>as</code> and <code>ld</code> are recommended for
bootstrapping on AIX.  The GNU Assembler, GNU Linker, and GNU
Binutils version 2.20 is the minimum level that supports bootstrap on
AIX 5.  The GNU Assembler has not been updated to support AIX 6&nbsp;or
AIX 7.  The native AIX tools do interoperate with GCC.
</p>
<p>AIX 5.3 TL10, AIX 6.1 TL05 and AIX 7.1 TL00 introduced an AIX
assembler change that sometimes produces corrupt assembly files
causing AIX linker errors.  The bug breaks GCC bootstrap on AIX and
can cause compilation failures with existing GCC installations.  An
AIX iFix for AIX 5.3 is available (APAR IZ98385 for AIX 5.3 TL10, APAR
IZ98477 for AIX 5.3 TL11 and IZ98134 for AIX 5.3 TL12). AIX 5.3 TL11 SP8,
AIX 5.3 TL12 SP5, AIX 6.1 TL04 SP11, AIX 6.1 TL05 SP7, AIX 6.1 TL06 SP6,
AIX 6.1 TL07 and AIX 7.1 TL01 should include the fix.
</p>
<p>Building <samp>libstdc++.a</samp> requires a fix for an AIX Assembler bug
APAR IY26685 (AIX 4.3) or APAR IY25528 (AIX 5.1).  It also requires a
fix for another AIX Assembler bug and a co-dependent AIX Archiver fix
referenced as APAR IY53606 (AIX 5.2) or as APAR IY54774 (AIX 5.1)
</p>
<p>&lsquo;<samp>libstdc++</samp>&rsquo; in GCC 3.4 increments the major version number of the
shared object and GCC installation places the <samp>libstdc++.a</samp>
shared library in a common location which will overwrite the and GCC
3.3 version of the shared library.  Applications either need to be
re-linked against the new shared library or the GCC 3.1 and GCC 3.3
versions of the &lsquo;<samp>libstdc++</samp>&rsquo; shared object needs to be available
to the AIX runtime loader.  The GCC 3.1 &lsquo;<samp>libstdc++.so.4</samp>&rsquo;, if
present, and GCC 3.3 &lsquo;<samp>libstdc++.so.5</samp>&rsquo; shared objects can be
installed for runtime dynamic loading using the following steps to set
the &lsquo;<samp>F_LOADONLY</samp>&rsquo; flag in the shared object for <em>each</em>
multilib <samp>libstdc++.a</samp> installed:
</p>
<p>Extract the shared objects from the currently installed
<samp>libstdc++.a</samp> archive:
</p><div class="smallexample">
<pre class="smallexample">% ar -x libstdc++.a libstdc++.so.4 libstdc++.so.5
</pre></div>

<p>Enable the &lsquo;<samp>F_LOADONLY</samp>&rsquo; flag so that the shared object will be
available for runtime dynamic loading, but not linking:
</p><div class="smallexample">
<pre class="smallexample">% strip -e libstdc++.so.4 libstdc++.so.5
</pre></div>

<p>Archive the runtime-only shared object in the GCC 3.4
<samp>libstdc++.a</samp> archive:
</p><div class="smallexample">
<pre class="smallexample">% ar -q libstdc++.a libstdc++.so.4 libstdc++.so.5
</pre></div>

<p>Linking executables and shared libraries may produce warnings of
duplicate symbols.  The assembly files generated by GCC for AIX always
have included multiple symbol definitions for certain global variable
and function declarations in the original program.  The warnings should
not prevent the linker from producing a correct library or runnable
executable.
</p>
<p>AIX 4.3 utilizes a &ldquo;large format&rdquo; archive to support both 32-bit and
64-bit object modules.  The routines provided in AIX 4.3.0 and AIX 4.3.1
to parse archive libraries did not handle the new format correctly.
These routines are used by GCC and result in error messages during
linking such as &ldquo;not a COFF file&rdquo;.  The version of the routines shipped
with AIX 4.3.1 should work for a 32-bit environment.  The <samp>-g</samp>
option of the archive command may be used to create archives of 32-bit
objects using the original &ldquo;small format&rdquo;.  A correct version of the
routines is shipped with AIX 4.3.2 and above.
</p>
<p>Some versions of the AIX binder (linker) can fail with a relocation
overflow severe error when the <samp>-bbigtoc</samp> option is used to link
GCC-produced object files into an executable that overflows the TOC.  A fix
for APAR IX75823 (OVERFLOW DURING LINK WHEN USING GCC AND -BBIGTOC) is
available from IBM Customer Support and from its
<a href="http://techsupport.services.ibm.com/">techsupport.services.ibm.com</a>
website as PTF U455193.
</p>
<p>The AIX 4.3.2.1 linker (bos.rte.bind_cmds Level 4.3.2.1) will dump core
with a segmentation fault when invoked by any version of GCC.  A fix for
APAR IX87327 is available from IBM Customer Support and from its
<a href="http://techsupport.services.ibm.com/">techsupport.services.ibm.com</a>
website as PTF U461879.  This fix is incorporated in AIX 4.3.3 and above.
</p>
<p>The initial assembler shipped with AIX 4.3.0 generates incorrect object
files.  A fix for APAR IX74254 (64BIT DISASSEMBLED OUTPUT FROM COMPILER FAILS
TO ASSEMBLE/BIND) is available from IBM Customer Support and from its
<a href="http://techsupport.services.ibm.com/">techsupport.services.ibm.com</a>
website as PTF U453956.  This fix is incorporated in AIX 4.3.1 and above.
</p>
<p>AIX provides National Language Support (NLS).  Compilers and assemblers
use NLS to support locale-specific representations of various data
formats including floating-point numbers (e.g., &lsquo;<samp>.</samp>&rsquo;  vs &lsquo;<samp>,</samp>&rsquo; for
separating decimal fractions).  There have been problems reported where
GCC does not produce the same floating-point formats that the assembler
expects.  If one encounters this problem, set the <code>LANG</code>
environment variable to &lsquo;<samp>C</samp>&rsquo; or &lsquo;<samp>En_US</samp>&rsquo;.
</p>
<p>A default can be specified with the <samp>-mcpu=<var>cpu_type</var></samp>
switch and using the configure option <samp>--with-cpu-<var>cpu_type</var></samp>.
</p>
<hr /><a name="iq2000_002dx_002delf"></a><a name="iq2000_002d_002a_002delf"></a>
<h3 class="heading">iq2000-*-elf</h3>
<p>Vitesse IQ2000 processors.  These are used in embedded
applications.  There are no standard Unix configurations.
</p>
<hr /><a name="lm32_002dx_002delf"></a><a name="lm32_002d_002a_002delf"></a>
<h3 class="heading">lm32-*-elf</h3>
<p>Lattice Mico32 processor.
This configuration is intended for embedded systems.
</p>
<hr /><a name="lm32_002dx_002duclinux"></a><a name="lm32_002d_002a_002duclinux"></a>
<h3 class="heading">lm32-*-uclinux</h3>
<p>Lattice Mico32 processor.
This configuration is intended for embedded systems running uClinux.
</p>
<hr /><a name="m32c_002dx_002delf"></a><a name="m32c_002d_002a_002delf"></a>
<h3 class="heading">m32c-*-elf</h3>
<p>Renesas M32C processor.
This configuration is intended for embedded systems.
</p>
<hr /><a name="m32r_002dx_002delf"></a><a name="m32r_002d_002a_002delf"></a>
<h3 class="heading">m32r-*-elf</h3>
<p>Renesas M32R processor.
This configuration is intended for embedded systems.
</p>
<hr /><a name="m68k_002dx_002dx"></a><a name="m68k_002d_002a_002d_002a"></a>
<h3 class="heading">m68k-*-*</h3>
<p>By default,
&lsquo;<samp>m68k-*-elf*</samp>&rsquo;, &lsquo;<samp>m68k-*-rtems</samp>&rsquo;,  &lsquo;<samp>m68k-*-uclinux</samp>&rsquo; and
&lsquo;<samp>m68k-*-linux</samp>&rsquo;
build libraries for both M680x0 and ColdFire processors.  If you only
need the M680x0 libraries, you can omit the ColdFire ones by passing
<samp>--with-arch=m68k</samp> to <code>configure</code>.  Alternatively, you
can omit the M680x0 libraries by passing <samp>--with-arch=cf</samp> to
<code>configure</code>.  These targets default to 5206 or 5475 code as
appropriate for the target system when
configured with <samp>--with-arch=cf</samp> and 68020 code otherwise.
</p>
<p>The &lsquo;<samp>m68k-*-netbsd</samp>&rsquo; and
&lsquo;<samp>m68k-*-openbsd</samp>&rsquo; targets also support the <samp>--with-arch</samp>
option.  They will generate ColdFire CFV4e code when configured with
<samp>--with-arch=cf</samp> and 68020 code otherwise.
</p>
<p>You can override the default processors listed above by configuring
with <samp>--with-cpu=<var>target</var></samp>.  This <var>target</var> can either
be a <samp>-mcpu</samp> argument or one of the following values:
&lsquo;<samp>m68000</samp>&rsquo;, &lsquo;<samp>m68010</samp>&rsquo;, &lsquo;<samp>m68020</samp>&rsquo;, &lsquo;<samp>m68030</samp>&rsquo;,
&lsquo;<samp>m68040</samp>&rsquo;, &lsquo;<samp>m68060</samp>&rsquo;, &lsquo;<samp>m68020-40</samp>&rsquo; and &lsquo;<samp>m68020-60</samp>&rsquo;.
</p>
<p>GCC requires at least binutils version 2.17 on these targets.
</p>
<hr /><a name="m68k_002dx_002duclinux"></a><a name="m68k_002d_002a_002duclinux"></a>
<h3 class="heading">m68k-*-uclinux</h3>
<p>GCC 4.3 changed the uClinux configuration so that it uses the
&lsquo;<samp>m68k-linux-gnu</samp>&rsquo; ABI rather than the &lsquo;<samp>m68k-elf</samp>&rsquo; ABI.
It also added improved support for C++ and flat shared libraries,
both of which were ABI changes.
</p>
<hr /><a name="mep_002dx_002delf"></a><a name="mep_002d_002a_002delf"></a>
<h3 class="heading">mep-*-elf</h3>
<p>Toshiba Media embedded Processor.
This configuration is intended for embedded systems.
</p>
<hr /><a name="microblaze_002dx_002delf"></a><a name="microblaze_002d_002a_002delf"></a>
<h3 class="heading">microblaze-*-elf</h3>
<p>Xilinx MicroBlaze processor.
This configuration is intended for embedded systems.
</p>
<hr /><a name="mips_002dx_002dx"></a><a name="mips_002d_002a_002d_002a"></a>
<h3 class="heading">mips-*-*</h3>
<p>If on a MIPS system you get an error message saying &ldquo;does not have gp
sections for all it&rsquo;s [sic] sectons [sic]&rdquo;, don&rsquo;t worry about it.  This
happens whenever you use GAS with the MIPS linker, but there is not
really anything wrong, and it is okay to use the output file.  You can
stop such warnings by installing the GNU linker.
</p>
<p>It would be nice to extend GAS to produce the gp tables, but they are
optional, and there should not be a warning about their absence.
</p>
<p>The libstdc++ atomic locking routines for MIPS targets requires MIPS II
and later.  A patch went in just after the GCC 3.3 release to
make &lsquo;<samp>mips*-*-*</samp>&rsquo; use the generic implementation instead.  You can also
configure for &lsquo;<samp>mipsel-elf</samp>&rsquo; as a workaround.  The
&lsquo;<samp>mips*-*-linux*</samp>&rsquo; target continues to use the MIPS II routines.  More
work on this is expected in future releases.
</p>

<p>The built-in <code>__sync_*</code> functions are available on MIPS II and
later systems and others that support the &lsquo;<samp>ll</samp>&rsquo;, &lsquo;<samp>sc</samp>&rsquo; and
&lsquo;<samp>sync</samp>&rsquo; instructions.  This can be overridden by passing
<samp>--with-llsc</samp> or <samp>--without-llsc</samp> when configuring GCC.
Since the Linux kernel emulates these instructions if they are
missing, the default for &lsquo;<samp>mips*-*-linux*</samp>&rsquo; targets is
<samp>--with-llsc</samp>.  The <samp>--with-llsc</samp> and
<samp>--without-llsc</samp> configure options may be overridden at compile
time by passing the <samp>-mllsc</samp> or <samp>-mno-llsc</samp> options to
the compiler.
</p>
<p>MIPS systems check for division by zero (unless
<samp>-mno-check-zero-division</samp> is passed to the compiler) by
generating either a conditional trap or a break instruction.  Using
trap results in smaller code, but is only supported on MIPS II and
later.  Also, some versions of the Linux kernel have a bug that
prevents trap from generating the proper signal (<code>SIGFPE</code>).  To enable
the use of break, use the <samp>--with-divide=breaks</samp>
<code>configure</code> option when configuring GCC.  The default is to
use traps on systems that support them.
</p>
<p>The assembler from GNU binutils 2.17 and earlier has a bug in the way
it sorts relocations for REL targets (o32, o64, EABI).  This can cause
bad code to be generated for simple C++ programs.  Also the linker
from GNU binutils versions prior to 2.17 has a bug which causes the
runtime linker stubs in very large programs, like <samp>libgcj.so</samp>, to
be incorrectly generated.  GNU Binutils 2.18 and later (and snapshots
made after Nov. 9, 2006) should be free from both of these problems.
</p>
<hr /><a name="mips_002dsgi_002dirix5"></a><a name="mips_002dsgi_002dirix5-1"></a>
<h3 class="heading">mips-sgi-irix5</h3>
<p>Support for IRIX 5 has been removed in GCC 4.6.
</p>
<hr /><a name="mips_002dsgi_002dirix6"></a><a name="mips_002dsgi_002dirix6-1"></a>
<h3 class="heading">mips-sgi-irix6</h3>
<p>Support for IRIX 6.5 has been removed in GCC 4.8.  Support for IRIX 6
releases before 6.5 has been removed in GCC 4.6, as well as support for
the O32 ABI.
</p>
<hr /><a name="moxie_002dx_002delf"></a><a name="moxie_002d_002a_002delf"></a>
<h3 class="heading">moxie-*-elf</h3>
<p>The moxie processor.
</p>
<hr /><a name="msp430_002dx_002delf"></a><a name="msp430_002d_002a_002delf"></a>
<h3 class="heading">msp430-*-elf</h3>
<p>TI MSP430 processor.
This configuration is intended for embedded systems.
</p>
<hr /><a name="nds32le_002dx_002delf"></a><a name="nds32le_002d_002a_002delf"></a>
<h3 class="heading">nds32le-*-elf</h3>
<p>Andes NDS32 target in little endian mode.
</p>
<hr /><a name="nds32be_002dx_002delf"></a><a name="nds32be_002d_002a_002delf"></a>
<h3 class="heading">nds32be-*-elf</h3>
<p>Andes NDS32 target in big endian mode.
</p>
<hr /><a name="powerpc_002dx_002dx"></a><a name="powerpc_002d_002a_002d_002a"></a>
<h3 class="heading">powerpc-*-*</h3>
<p>You can specify a default version for the <samp>-mcpu=<var>cpu_type</var></samp>
switch by using the configure option <samp>--with-cpu-<var>cpu_type</var></samp>.
</p>
<p>You will need
<a href="ftp://ftp.kernel.org/pub/linux/devel/binutils">binutils 2.15</a>
or newer for a working GCC.
</p>
<hr /><a name="powerpc_002dx_002ddarwin"></a><a name="powerpc_002d_002a_002ddarwin_002a"></a>
<h3 class="heading">powerpc-*-darwin*</h3>
<p>PowerPC running Darwin (Mac OS X kernel).
</p>
<p>Pre-installed versions of Mac OS X may not include any developer tools,
meaning that you will not be able to build GCC from source.  Tool
binaries are available at
<a href="http://opensource.apple.com/">http://opensource.apple.com/</a>.
</p>
<p>This version of GCC requires at least cctools-590.36.  The
cctools-590.36 package referenced from
<a href="http://gcc.gnu.org/ml/gcc/2006-03/msg00507.html">http://gcc.gnu.org/ml/gcc/2006-03/msg00507.html</a> will not work
on systems older than 10.3.9 (aka darwin7.9.0).
</p>
<hr /><a name="powerpc_002dx_002delf"></a><a name="powerpc_002d_002a_002delf"></a>
<h3 class="heading">powerpc-*-elf</h3>
<p>PowerPC system in big endian mode, running System V.4.
</p>
<hr /><a name="powerpc_002dx_002dlinux_002dgnu"></a><a name="powerpc_002a_002d_002a_002dlinux_002dgnu_002a"></a>
<h3 class="heading">powerpc*-*-linux-gnu*</h3>
<p>PowerPC system in big endian mode running Linux.
</p>
<hr /><a name="powerpc_002dx_002dnetbsd"></a><a name="powerpc_002d_002a_002dnetbsd_002a"></a>
<h3 class="heading">powerpc-*-netbsd*</h3>
<p>PowerPC system in big endian mode running NetBSD.
</p>
<hr /><a name="powerpc_002dx_002deabisim"></a><a name="powerpc_002d_002a_002deabisim"></a>
<h3 class="heading">powerpc-*-eabisim</h3>
<p>Embedded PowerPC system in big endian mode for use in running under the
PSIM simulator.
</p>
<hr /><a name="powerpc_002dx_002deabi"></a><a name="powerpc_002d_002a_002deabi"></a>
<h3 class="heading">powerpc-*-eabi</h3>
<p>Embedded PowerPC system in big endian mode.
</p>
<hr /><a name="powerpcle_002dx_002delf"></a><a name="powerpcle_002d_002a_002delf"></a>
<h3 class="heading">powerpcle-*-elf</h3>
<p>PowerPC system in little endian mode, running System V.4.
</p>
<hr /><a name="powerpcle_002dx_002deabisim"></a><a name="powerpcle_002d_002a_002deabisim"></a>
<h3 class="heading">powerpcle-*-eabisim</h3>
<p>Embedded PowerPC system in little endian mode for use in running under
the PSIM simulator.
</p>
<hr /><a name="powerpcle_002dx_002deabi"></a><a name="powerpcle_002d_002a_002deabi"></a>
<h3 class="heading">powerpcle-*-eabi</h3>
<p>Embedded PowerPC system in little endian mode.
</p>
<hr /><a name="rl78_002dx_002delf"></a><a name="rl78_002d_002a_002delf"></a>
<h3 class="heading">rl78-*-elf</h3>
<p>The Renesas RL78 processor.
This configuration is intended for embedded systems.
</p>
<hr /><a name="rx_002dx_002delf"></a><a name="rx_002d_002a_002delf"></a>
<h3 class="heading">rx-*-elf</h3>
<p>The Renesas RX processor.  See
<a href="http://eu.renesas.com/fmwk.jsp?cnt=rx600_series_landing.jsp&amp;fp=/products/mpumcu/rx_family/rx600_series">http://eu.renesas.com/fmwk.jsp?cnt=rx600_series_landing.jsp&amp;fp=/products/mpumcu/rx_family/rx600_series</a>
for more information about this processor.
</p>
<hr /><a name="s390_002dx_002dlinux"></a><a name="s390_002d_002a_002dlinux_002a"></a>
<h3 class="heading">s390-*-linux*</h3>
<p>S/390 system running GNU/Linux for S/390.
</p>
<hr /><a name="s390x_002dx_002dlinux"></a><a name="s390x_002d_002a_002dlinux_002a"></a>
<h3 class="heading">s390x-*-linux*</h3>
<p>zSeries system (64-bit) running GNU/Linux for zSeries.
</p>
<hr /><a name="s390x_002dibm_002dtpf"></a><a name="s390x_002dibm_002dtpf_002a"></a>
<h3 class="heading">s390x-ibm-tpf*</h3>
<p>zSeries system (64-bit) running TPF.  This platform is
supported as cross-compilation target only.
</p>
<hr /><a name="x_002dx_002dsolaris2"></a><a name="g_t_002a_002d_002a_002dsolaris2_002a"></a>
<h3 class="heading">*-*-solaris2*</h3>
<p>Support for Solaris 9 has been obsoleted in GCC 4.9, but can still be
enabled by configuring with <samp>--enable-obsolete</samp>.  Support will be
removed in GCC 4.10.  Support for Solaris 8 has removed in GCC 4.8.
Support for Solaris 7 has been removed in GCC 4.6.
</p>
<p>Sun does not ship a C compiler with Solaris 2 before Solaris 10, though
you can download the Sun Studio compilers for free.  In Solaris 10 and
11, GCC 3.4.3 is available as <code>/usr/sfw/bin/gcc</code>.  Solaris 11
also provides GCC 4.5.2 as <code>/usr/gcc/4.5/bin/gcc</code>.  Alternatively,
you can install a pre-built GCC to bootstrap and install GCC.  See the
<a href="binaries.html">binaries page</a> for details.
</p>
<p>The Solaris 2 <code>/bin/sh</code> will often fail to configure
&lsquo;<samp>libstdc++-v3</samp>&rsquo;, &lsquo;<samp>boehm-gc</samp>&rsquo; or &lsquo;<samp>libjava</samp>&rsquo;.  We therefore
recommend using the following initial sequence of commands
</p>
<div class="smallexample">
<pre class="smallexample">% CONFIG_SHELL=/bin/ksh
% export CONFIG_SHELL
</pre></div>

<p>and proceed as described in <a href="configure.html">the configure instructions</a>.
In addition we strongly recommend specifying an absolute path to invoke
<code><var>srcdir</var>/configure</code>.
</p>
<p>Solaris 2 comes with a number of optional OS packages.  Some of these
are needed to use GCC fully, namely <code>SUNWarc</code>,
<code>SUNWbtool</code>, <code>SUNWesu</code>, <code>SUNWhea</code>, <code>SUNWlibm</code>,
<code>SUNWsprot</code>, and <code>SUNWtoo</code>.  If you did not install all
optional packages when installing Solaris 2, you will need to verify that
the packages that GCC needs are installed.
</p>
<p>To check whether an optional package is installed, use
the <code>pkginfo</code> command.  To add an optional package, use the
<code>pkgadd</code> command.  For further details, see the Solaris 2
documentation.
</p>
<p>Trying to use the linker and other tools in
<samp>/usr/ucb</samp> to install GCC has been observed to cause trouble.
For example, the linker may hang indefinitely.  The fix is to remove
<samp>/usr/ucb</samp> from your <code>PATH</code>.
</p>
<p>The build process works more smoothly with the legacy Sun tools so, if you
have <samp>/usr/xpg4/bin</samp> in your <code>PATH</code>, we recommend that you place
<samp>/usr/bin</samp> before <samp>/usr/xpg4/bin</samp> for the duration of the build.
</p>
<p>We recommend the use of the Sun assembler or the GNU assembler, in
conjunction with the Sun linker.  The GNU <code>as</code>
versions included in Solaris 10, from GNU binutils 2.15, and Solaris 11,
from GNU binutils 2.19, are known to work.  They can be found in
<samp>/usr/sfw/bin/gas</samp>.  Current versions of GNU binutils (2.22)
are known to work as well.  Note that your mileage may vary
if you use a combination of the GNU tools and the Sun tools: while the
combination GNU <code>as</code> + Sun <code>ld</code> should reasonably work,
the reverse combination Sun <code>as</code> + GNU <code>ld</code> may fail to
build or cause memory corruption at runtime in some cases for C++ programs.
GNU <code>ld</code> usually works as well, although the version included in
Solaris 10 cannot be used due to several bugs.  Again, the current
version (2.22) is known to work, but generally lacks platform specific
features, so better stay with Sun <code>ld</code>.  To use the LTO linker
plugin (<samp>-fuse-linker-plugin</samp>) with GNU <code>ld</code>, GNU
binutils <em>must</em> be configured with <samp>--enable-largefile</samp>.
</p>
<p>To enable symbol versioning in &lsquo;<samp>libstdc++</samp>&rsquo; with Sun <code>ld</code>,
you need to have any version of GNU <code>c++filt</code>, which is part of
GNU binutils.  &lsquo;<samp>libstdc++</samp>&rsquo; symbol versioning will be disabled if no
appropriate version is found.  Sun <code>c++filt</code> from the Sun Studio
compilers does <em>not</em> work.
</p>
<p>Sun bug 4296832 turns up when compiling X11 headers with GCC 2.95 or
newer: <code>g++</code> will complain that types are missing.  These headers
assume that omitting the type means <code>int</code>; this assumption worked for
C90 but is wrong for C++, and is now wrong for C99 also.
</p>
<p>Sun bug 4927647 sometimes causes random spurious testsuite failures
related to missing diagnostic output.  This bug doesn&rsquo;t affect GCC
itself, rather it is a kernel bug triggered by the <code>expect</code>
program which is used only by the GCC testsuite driver.  When the bug
causes the <code>expect</code> program to miss anticipated output, extra
testsuite failures appear.
</p>
<p>There are patches for Solaris 9 (117171-11 or newer for
SPARC, 117172-11 or newer for Intel) that address this problem.
</p>
<p>Thread-local storage (TLS) is supported in Solaris&nbsp;9, but requires
some patches.  The &lsquo;<samp>libthread</samp>&rsquo; patches provide the
<code>__tls_get_addr</code> (SPARC, 64-bit x86) resp.&nbsp;<code>___tls_get_addr</code>
(32-bit x86) functions.  On Solaris&nbsp;9, the necessary support
on SPARC is present since FCS, while 114432-05 or newer is required on
Intel.  Additionally, on Solaris&nbsp;9/x86, patch 113986-02 or newer is
required for the Sun <code>ld</code> and runtime linker (<code>ld.so.1</code>)
support, while Solaris&nbsp;9/SPARC works since FCS.  The linker
patches must be installed even if GNU <code>ld</code> is used. Sun
<code>as</code> in Solaris&nbsp;9 doesn&rsquo;t support the necessary
relocations, so GNU <code>as</code> must be used.  The <code>configure</code>
script checks for those prerequisites and automatically enables TLS
support if they are met.  Although those minimal patch versions should
work, it is recommended to use the latest patch versions which include
additional bug fixes.
</p>
<hr /><a name="sparc_002dx_002dx"></a><a name="sparc_002a_002d_002a_002d_002a"></a>
<h3 class="heading">sparc*-*-*</h3>
<p>This section contains general configuration information for all
SPARC-based platforms.  In addition to reading this section, please
read all other sections that match your target.
</p>
<p>Newer versions of the GNU Multiple Precision Library (GMP), the MPFR
library and the MPC library are known to be miscompiled by earlier
versions of GCC on these platforms.  We therefore recommend the use
of the exact versions of these libraries listed as minimal versions
in <a href="prerequisites.html">the prerequisites</a>.
</p>
<hr /><a name="sparc_002dsun_002dsolaris2"></a><a name="sparc_002dsun_002dsolaris2_002a"></a>
<h3 class="heading">sparc-sun-solaris2*</h3>
<p>When GCC is configured to use GNU binutils 2.14 or later, the binaries
produced are smaller than the ones produced using Sun&rsquo;s native tools;
this difference is quite significant for binaries containing debugging
information.
</p>
<p>Starting with Solaris 7, the operating system is capable of executing
64-bit SPARC V9 binaries.  GCC 3.1 and later properly supports
this; the <samp>-m64</samp> option enables 64-bit code generation.
However, if all you want is code tuned for the UltraSPARC CPU, you
should try the <samp>-mtune=ultrasparc</samp> option instead, which produces
code that, unlike full 64-bit code, can still run on non-UltraSPARC
machines.
</p>
<p>When configuring on a Solaris 7 or later system that is running a kernel
that supports only 32-bit binaries, one must configure with
<samp>--disable-multilib</samp>, since we will not be able to build the
64-bit target libraries.
</p>
<p>GCC 3.3 and GCC 3.4 trigger code generation bugs in earlier versions of
the GNU compiler (especially GCC 3.0.x versions), which lead to the
miscompilation of the stage1 compiler and the subsequent failure of the
bootstrap process.  A workaround is to use GCC 3.2.3 as an intermediary
stage, i.e. to bootstrap that compiler with the base compiler and then
use it to bootstrap the final compiler.
</p>
<p>GCC 3.4 triggers a code generation bug in versions 5.4 (Sun ONE Studio 7)
and 5.5 (Sun ONE Studio 8) of the Sun compiler, which causes a bootstrap
failure in form of a miscompilation of the stage1 compiler by the Sun
compiler.  This is Sun bug 4974440.  This is fixed with patch 112760-07.
</p>
<p>GCC 3.4 changed the default debugging format from Stabs to DWARF-2 for
32-bit code on Solaris 7 and later.  If you use the Sun assembler, this
change apparently runs afoul of Sun bug 4910101 (which is referenced as
an x86-only problem by Sun, probably because they do not use DWARF-2).
A symptom of the problem is that you cannot compile C++ programs like
<code>groff</code> 1.19.1 without getting messages similar to the following:
</p>
<div class="smallexample">
<pre class="smallexample">ld: warning: relocation error: R_SPARC_UA32: &hellip;
  external symbolic relocation against non-allocatable section
  .debug_info cannot be processed at runtime: relocation ignored.
</pre></div>

<p>To work around this problem, compile with <samp>-gstabs+</samp> instead of
plain <samp>-g</samp>.
</p>
<p>When configuring the GNU Multiple Precision Library (GMP), the MPFR
library or the MPC library on a Solaris 7 or later system, the canonical
target triplet must be specified as the <code>build</code> parameter on the
configure line.  This target triplet can be obtained by invoking <code>./config.guess</code> in the toplevel source directory of GCC (and
not that of GMP or MPFR or MPC).  For example on a Solaris 9 system:
</p>
<div class="smallexample">
<pre class="smallexample">% ./configure --build=sparc-sun-solaris2.9 --prefix=xxx
</pre></div>

<hr /><a name="sparc_002dsun_002dsolaris210"></a><a name="sparc_002dsun_002dsolaris2_002e10"></a>
<h3 class="heading">sparc-sun-solaris2.10</h3>
<p>There is a bug in older versions of the Sun assembler which breaks
thread-local storage (TLS).  A typical error message is
</p>
<div class="smallexample">
<pre class="smallexample">ld: fatal: relocation error: R_SPARC_TLS_LE_HIX22: file /var/tmp//ccamPA1v.o:
  symbol &lt;unknown&gt;: bad symbol type SECT: symbol type must be TLS
</pre></div>

<p>This bug is fixed in Sun patch 118683-03 or later.
</p>
<hr /><a name="sparc_002dx_002dlinux"></a><a name="sparc_002d_002a_002dlinux_002a"></a>
<h3 class="heading">sparc-*-linux*</h3>

<p>GCC versions 3.0 and higher require binutils 2.11.2 and glibc 2.2.4
or newer on this platform.  All earlier binutils and glibc
releases mishandled unaligned relocations on <code>sparc-*-*</code> targets.
</p>

<hr /><a name="sparc64_002dx_002dsolaris2"></a><a name="sparc64_002d_002a_002dsolaris2_002a"></a>
<h3 class="heading">sparc64-*-solaris2*</h3>
<p>When configuring the GNU Multiple Precision Library (GMP), the MPFR
library or the MPC library, the canonical target triplet must be specified
as the <code>build</code> parameter on the configure line.  For example
on a Solaris 9 system:
</p>
<div class="smallexample">
<pre class="smallexample">% ./configure --build=sparc64-sun-solaris2.9 --prefix=xxx
</pre></div>

<p>The following compiler flags must be specified in the configure
step in order to bootstrap this target with the Sun compiler:
</p>
<div class="smallexample">
<pre class="smallexample">% CC=&quot;cc -xarch=v9 -xildoff&quot; <var>srcdir</var>/configure [<var>options</var>] [<var>target</var>]
</pre></div>

<p><samp>-xarch=v9</samp> specifies the SPARC-V9 architecture to the Sun toolchain
and <samp>-xildoff</samp> turns off the incremental linker.
</p>
<hr /><a name="sparcv9_002dx_002dsolaris2"></a><a name="sparcv9_002d_002a_002dsolaris2_002a"></a>
<h3 class="heading">sparcv9-*-solaris2*</h3>
<p>This is a synonym for &lsquo;<samp>sparc64-*-solaris2*</samp>&rsquo;.
</p>
<hr /><a name="c6x_002dx_002dx"></a><a name="c6x_002d_002a_002d_002a"></a>
<h3 class="heading">c6x-*-*</h3>
<p>The C6X family of processors. This port requires binutils-2.22 or newer.
</p>
<hr /><a name="tilegx_002d_002a_002dlinux"></a><a name="tilegx_002d_002a_002dlinux_002a"></a>
<h3 class="heading">tilegx-*-linux*</h3>
<p>The TILE-Gx processor in little endian mode, running GNU/Linux.  This
port requires binutils-2.22 or newer.
</p>
<hr /><a name="tilegxbe_002d_002a_002dlinux"></a><a name="tilegxbe_002d_002a_002dlinux_002a"></a>
<h3 class="heading">tilegxbe-*-linux*</h3>
<p>The TILE-Gx processor in big endian mode, running GNU/Linux.  This
port requires binutils-2.23 or newer.
</p>
<hr /><a name="tilepro_002d_002a_002dlinux"></a><a name="tilepro_002d_002a_002dlinux_002a"></a>
<h3 class="heading">tilepro-*-linux*</h3>
<p>The TILEPro processor running GNU/Linux.  This port requires
binutils-2.22 or newer.
</p>
<hr /><a name="x_002dx_002dvxworks"></a><a name="g_t_002a_002d_002a_002dvxworks_002a"></a>
<h3 class="heading">*-*-vxworks*</h3>
<p>Support for VxWorks is in flux.  At present GCC supports <em>only</em> the
very recent VxWorks 5.5 (aka Tornado 2.2) release, and only on PowerPC.
We welcome patches for other architectures supported by VxWorks 5.5.
Support for VxWorks AE would also be welcome; we believe this is merely
a matter of writing an appropriate &ldquo;configlette&rdquo; (see below).  We are
not interested in supporting older, a.out or COFF-based, versions of
VxWorks in GCC 3.
</p>
<p>VxWorks comes with an older version of GCC installed in
<samp><var>$WIND_BASE</var>/host</samp>; we recommend you do not overwrite it.
Choose an installation <var>prefix</var> entirely outside <var>$WIND_BASE</var>.
Before running <code>configure</code>, create the directories <samp><var>prefix</var></samp>
and <samp><var>prefix</var>/bin</samp>.  Link or copy the appropriate assembler,
linker, etc. into <samp><var>prefix</var>/bin</samp>, and set your <var>PATH</var> to
include that directory while running both <code>configure</code> and
<code>make</code>.
</p>
<p>You must give <code>configure</code> the
<samp>--with-headers=<var>$WIND_BASE</var>/target/h</samp> switch so that it can
find the VxWorks system headers.  Since VxWorks is a cross compilation
target only, you must also specify <samp>--target=<var>target</var></samp>.
<code>configure</code> will attempt to create the directory
<samp><var>prefix</var>/<var>target</var>/sys-include</samp> and copy files into it;
make sure the user running <code>configure</code> has sufficient privilege
to do so.
</p>
<p>GCC&rsquo;s exception handling runtime requires a special &ldquo;configlette&rdquo;
module, <samp>contrib/gthr_supp_vxw_5x.c</samp>.  Follow the instructions in
that file to add the module to your kernel build.  (Future versions of
VxWorks will incorporate this module.)
</p>
<hr /><a name="x86_002d64_002dx_002dx"></a><a name="x86_005f64_002d_002a_002d_002a_002c-amd64_002d_002a_002d_002a"></a>
<h3 class="heading">x86_64-*-*, amd64-*-*</h3>
<p>GCC supports the x86-64 architecture implemented by the AMD64 processor
(amd64-*-* is an alias for x86_64-*-*) on GNU/Linux, FreeBSD and NetBSD.
On GNU/Linux the default is a bi-arch compiler which is able to generate
both 64-bit x86-64 and 32-bit x86 code (via the <samp>-m32</samp> switch).
</p>
<hr /><a name="x86_002d64_002dx_002dsolaris210"></a><a name="x86_005f64_002d_002a_002dsolaris2_002e1_005b0_002d9_005d_002a"></a>
<h3 class="heading">x86_64-*-solaris2.1[0-9]*</h3>
<p>GCC also supports the x86-64 architecture implemented by the AMD64
processor (&lsquo;<samp>amd64-*-*</samp>&rsquo; is an alias for &lsquo;<samp>x86_64-*-*</samp>&rsquo;) on
Solaris 10 or later.  Unlike other systems, without special options a
bi-arch compiler is built which generates 32-bit code by default, but
can generate 64-bit x86-64 code with the <samp>-m64</samp> switch.  Since
GCC 4.7, there is also configuration that defaults to 64-bit code, but
can generate 32-bit code with <samp>-m32</samp>.  To configure and build
this way, you have to provide all support libraries like <samp>libgmp</samp>
as 64-bit code, configure with <samp>--target=x86_64-pc-solaris2.1x</samp>
and &lsquo;<samp>CC=gcc -m64</samp>&rsquo;.
</p>
<hr /><a name="xtensa_002dx_002delf"></a><a name="xtensa_002a_002d_002a_002delf"></a>
<h3 class="heading">xtensa*-*-elf</h3>
<p>This target is intended for embedded Xtensa systems using the
&lsquo;<samp>newlib</samp>&rsquo; C library.  It uses ELF but does not support shared
objects.  Designed-defined instructions specified via the
Tensilica Instruction Extension (TIE) language are only supported
through inline assembly.
</p>
<p>The Xtensa configuration information must be specified prior to
building GCC.  The <samp>include/xtensa-config.h</samp> header
file contains the configuration information.  If you created your
own Xtensa configuration with the Xtensa Processor Generator, the
downloaded files include a customized copy of this header file,
which you can use to replace the default header file.
</p>
<hr /><a name="xtensa_002dx_002dlinux"></a><a name="xtensa_002a_002d_002a_002dlinux_002a"></a>
<h3 class="heading">xtensa*-*-linux*</h3>
<p>This target is for Xtensa systems running GNU/Linux.  It supports ELF
shared objects and the GNU C library (glibc).  It also generates
position-independent code (PIC) regardless of whether the
<samp>-fpic</samp> or <samp>-fPIC</samp> options are used.  In other
respects, this target is the same as the
<a href="#xtensa*-*-elf">&lsquo;<samp>xtensa*-*-elf</samp>&rsquo;</a> target.
</p>
<hr /><a name="windows"></a><a name="Microsoft-Windows"></a>
<h3 class="heading">Microsoft Windows</h3>

<a name="Intel-16_002dbit-versions"></a>
<h4 class="subheading">Intel 16-bit versions</h4>
<p>The 16-bit versions of Microsoft Windows, such as Windows 3.1, are not
supported.
</p>
<p>However, the 32-bit port has limited support for Microsoft
Windows 3.11 in the Win32s environment, as a target only.  See below.
</p>
<a name="Intel-32_002dbit-versions"></a>
<h4 class="subheading">Intel 32-bit versions</h4>
<p>The 32-bit versions of Windows, including Windows 95, Windows NT, Windows
XP, and Windows Vista, are supported by several different target
platforms.  These targets differ in which Windows subsystem they target
and which C libraries are used.
</p>
<ul>
<li> Cygwin <a href="#x-x-cygwin">*-*-cygwin</a>: Cygwin provides a user-space
Linux API emulation layer in the Win32 subsystem.
</li><li> Interix <a href="#x-x-interix">*-*-interix</a>: The Interix subsystem
provides native support for POSIX.
</li><li> MinGW <a href="#x-x-mingw32">*-*-mingw32</a>: MinGW is a native GCC port for
the Win32 subsystem that provides a subset of POSIX.
</li><li> MKS i386-pc-mks: NuTCracker from MKS.  See
<a href="http://www.mkssoftware.com/">http://www.mkssoftware.com/</a> for more information.
</li></ul>

<a name="Intel-64_002dbit-versions"></a>
<h4 class="subheading">Intel 64-bit versions</h4>
<p>GCC contains support for x86-64 using the mingw-w64
runtime library, available from <a href="http://mingw-w64.sourceforge.net/">http://mingw-w64.sourceforge.net/</a>.
This library should be used with the target triple x86_64-pc-mingw32.
</p>
<p>Presently Windows for Itanium is not supported.
</p>
<a name="Windows-CE"></a>
<h4 class="subheading">Windows CE</h4>
<p>Windows CE is supported as a target only on Hitachi
SuperH (sh-wince-pe), and MIPS (mips-wince-pe).
</p>
<a name="Other-Windows-Platforms"></a>
<h4 class="subheading">Other Windows Platforms</h4>
<p>GCC no longer supports Windows NT on the Alpha or PowerPC.
</p>
<p>GCC no longer supports the Windows POSIX subsystem.  However, it does
support the Interix subsystem.  See above.
</p>
<p>Old target names including *-*-winnt and *-*-windowsnt are no longer used.
</p>
<p>PW32 (i386-pc-pw32) support was never completed, and the project seems to
be inactive.  See <a href="http://pw32.sourceforge.net/">http://pw32.sourceforge.net/</a> for more information.
</p>
<p>UWIN support has been removed due to a lack of maintenance.
</p>
<hr /><a name="x_002dx_002dcygwin"></a><a name="g_t_002a_002d_002a_002dcygwin"></a>
<h3 class="heading">*-*-cygwin</h3>
<p>Ports of GCC are included with the
<a href="http://www.cygwin.com/">Cygwin environment</a>.
</p>
<p>GCC will build under Cygwin without modification; it does not build
with Microsoft&rsquo;s C++ compiler and there are no plans to make it do so.
</p>
<p>The Cygwin native compiler can be configured to target any 32-bit x86
cpu architecture desired; the default is i686-pc-cygwin.  It should be
used with as up-to-date a version of binutils as possible; use either
the latest official GNU binutils release in the Cygwin distribution,
or version 2.20 or above if building your own.
</p>
<hr /><a name="x_002dx_002dinterix"></a><a name="g_t_002a_002d_002a_002dinterix"></a>
<h3 class="heading">*-*-interix</h3>
<p>The Interix target is used by OpenNT, Interix, Services For UNIX (SFU),
and Subsystem for UNIX-based Applications (SUA).  Applications compiled
with this target run in the Interix subsystem, which is separate from
the Win32 subsystem.  This target was last known to work in GCC 3.3.
</p>
<hr /><a name="x_002dx_002dmingw32"></a><a name="g_t_002a_002d_002a_002dmingw32"></a>
<h3 class="heading">*-*-mingw32</h3>
<p>GCC will build with and support only MinGW runtime 3.12 and later.
Earlier versions of headers are incompatible with the new default semantics
of <code>extern inline</code> in <code>-std=c99</code> and <code>-std=gnu99</code> modes.
</p>
<hr /><a name="older"></a><a name="Older-systems"></a>
<h3 class="heading">Older systems</h3>
<p>GCC contains support files for many older (1980s and early
1990s) Unix variants.  For the most part, support for these systems
has not been deliberately removed, but it has not been maintained for
several years and may suffer from bitrot.
</p>
<p>Starting with GCC 3.1, each release has a list of &ldquo;obsoleted&rdquo; systems.
Support for these systems is still present in that release, but
<code>configure</code> will fail unless the <samp>--enable-obsolete</samp>
option is given.  Unless a maintainer steps forward, support for these
systems will be removed from the next release of GCC.
</p>
<p>Support for old systems as hosts for GCC can cause problems if the
workarounds for compiler, library and operating system bugs affect the
cleanliness or maintainability of the rest of GCC.  In some cases, to
bring GCC up on such a system, if still possible with current GCC, may
require first installing an old version of GCC which did work on that
system, and using it to compile a more recent GCC, to avoid bugs in the
vendor compiler.  Old releases of GCC 1 and GCC 2 are available in the
<samp>old-releases</samp> directory on the <a href="../mirrors.html">GCC mirror
sites</a>.  Header bugs may generally be avoided using
<code>fixincludes</code>, but bugs or deficiencies in libraries and the
operating system may still cause problems.
</p>
<p>Support for older systems as targets for cross-compilation is less
problematic than support for them as hosts for GCC; if an enthusiast
wishes to make such a target work again (including resurrecting any of
the targets that never worked with GCC 2, starting from the last
version before they were removed), patches
<a href="../contribute.html">following the usual requirements</a> would be
likely to be accepted, since they should not affect the support for more
modern targets.
</p>
<p>For some systems, old versions of GNU binutils may also be useful,
and are available from <samp>pub/binutils/old-releases</samp> on
<a href="http://sourceware.org/mirrors.html">sourceware.org mirror sites</a>.
</p>
<p>Some of the information on specific systems above relates to
such older systems, but much of the information
about GCC on such systems (which may no longer be applicable to
current GCC) is to be found in the GCC texinfo manual.
</p>
<hr /><a name="elf"></a><a name="all-ELF-targets-_0028SVR4_002c-Solaris-2_002c-etc_002e_0029"></a>
<h3 class="heading">all ELF targets (SVR4, Solaris 2, etc.)</h3>
<p>C++ support is significantly better on ELF targets if you use the
<a href="./configure.html#with-gnu-ld">GNU linker</a>; duplicate copies of
inlines, vtables and template instantiations will be discarded
automatically.
</p>

<hr />
<p><p><a href="./index.html">Return to the GCC Installation page</a>
</p>






</body>
</html>
