⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 install.texi

📁 GCC
💻 TEXI
📖 第 1 页 / 共 5 页
字号:
for more information on these formats and how to select them.

There is a bug in DEC's assembler that produces incorrect line numbers
for ECOFF format when the @samp{.align} directive is used.  To work
around this problem, GNU CC will not emit such alignment directives
while writing ECOFF format debugging information even if optimization is
being performed.  Unfortunately, this has the very undesirable
side-effect that code addresses when @option{-O} is specified are
different depending on whether or not @option{-g} is also specified.

To avoid this behavior, specify @option{-gstabs+} and use GDB instead of
DBX.  DEC is now aware of this problem with the assembler and hopes to
provide a fix shortly.

@html
</p>
<hr>
@end html
@heading @anchor{arc-*-elf}arc-*-elf
Argonaut ARC processor.
This configuration is intended for embedded systems.

@html
</p>
<hr>
@end html
@heading @anchor{arm-*-aout}arm-*-aout
Advanced RISC Machines ARM-family processors.  These are often used in
embedded applications.  There are no standard Unix configurations.
This configuration corresponds to the basic instruction sequences and will
produce @file{a.out} format object modules.

You may need to make a variant of the file @file{arm.h} for your particular
configuration.

@html
</p>
<hr>
@end html
@heading @anchor{arm-*-elf}arm-*-elf
This configuration is intended for embedded systems.

@html
</p>
<hr>
@end html
@heading @anchor{arm*-*-linux-gnu}arm*-*-linux-gnu

We require GNU binutils 2.10 or newer.

@html
</p>
<hr>
@end html
@heading @anchor{arm-*-riscix}arm-*-riscix
The ARM2 or ARM3 processor running RISC iX, Acorn's port of BSD Unix.
If you are running a version of RISC iX prior to 1.2 then you must
specify the version number during configuration.  Note that the
assembler shipped with RISC iX does not support stabs debugging
information; a new version of the assembler, with stabs support
included, is now available from Acorn and via ftp
@uref{ftp://ftp.acorn.com/pub/riscix/as+xterm.tar.Z}.  To enable stabs
debugging, pass @option{--with-gnu-as} to configure.

You will need to install GNU @command{sed} before you can run configure.

@html
</p>
<hr>
@end html
@heading @anchor{avr}avr

ATMEL AVR-family micro controllers.  These are used in embedded
applications.  There are no standard Unix configurations.  @xref{AVR
Options,, AVR Options, gcc, Using and Porting the GNU Compiler
Collection (GCC)}, for the list of supported MCU types.

Use @samp{configure --target=avr --enable-languages="c"} to configure GCC.

Further installation notes and other useful information about AVR tools
can also be obtained from:

@itemize @bullet
@item
@uref{http://home.overta.ru/users/denisc,,http://home.overta.ru/users/denisc}
@item
@uref{http://www.itnet.pl/amelektr/avr,,http://www.itnet.pl/amelektr/avr}
@end itemize

We @emph{strongly} recommend using binutils 2.11 or newer.

The following error:
@example
  Error: register required
@end example

indicates that you should upgrade to a newer version of the binutils.

@html
</p>
<hr>
@end html
@heading @anchor{c4x}c4x

Texas Instruments TMS320C3x and TMS320C4x Floating Point Digital Signal
Processors.  These are used in embedded applications.  There are no
standard Unix configurations.  @xref{C4x Options,, C4x Options, gcc,
Using and Porting the GNU Compiler Collection (GCC)}, for the list of
supported MCU types.

GCC can be configured as a cross compiler for both the C3x and C4x
architectures on the same system.  Use @samp{configure --target=c4x
--enable-languages="c,c++"} to configure.


Further installation notes and other useful information about C4x tools
can also be obtained from:

@itemize @bullet
@item
@uref{http://www.elec.canterbury.ac.nz/c4x,,http://www.elec.canterbury.ac.nz/c4x}
@end itemize

@html
</p>
<hr>
@end html
@heading @anchor{decstation-*}decstation-*
MIPS-based DECstations can support three different personalities:
Ultrix, DEC OSF/1, and OSF/rose.  (Alpha-based DECstation products have
a configuration name beginning with @samp{alpha-dec}.)  To configure GCC
for these platforms use the following configurations:

@table @samp
@item decstation-ultrix
Ultrix configuration.

@item decstation-osf1
Dec's version of OSF/1.

@item decstation-osfrose
Open Software Foundation reference port of OSF/1 which uses the
OSF/rose object file format instead of ECOFF.  Normally, you
would not select this configuration.
@end table

The MIPS C compiler needs to be told to increase its table size
for switch statements with the @option{-Wf,-XNg1500} option in
order to compile @file{cp/parse.c}.  If you use the @option{-O2}
optimization option, you also need to use @option{-Olimit 3000}.
Both of these options are automatically generated in the
@file{Makefile} that the shell script @file{configure} builds.
If you override the @code{CC} make variable and use the MIPS
compilers, you may need to add @option{-Wf,-XNg1500 -Olimit 3000}.

@html
</p>
<hr>
@end html
@heading @anchor{dos}DOS

Please have a look at our @uref{binaries.html,,binaries page}.

You cannot install GNU C 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.

@html
</p>
<hr>
@end html
@heading @anchor{dsp16xx}dsp16xx
A port to the AT&T DSP1610 family of processors.

@html
</p>
<hr>
@end html
@heading @anchor{elxsi-elxsi-bsd}elxsi-elxsi-bsd
The Elxsi's C compiler has known limitations that prevent it from
compiling GNU C.  Please contact @email{mrs@@cygnus.com} for more details.

@html
</p>
<hr>
@end html
@heading @anchor{h8300-hms}h8300-hms
Hitachi H8/300 series of processors.

Please have a look at our @uref{binaries.html,,binaries page}.

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.

@html
</p>
<hr>
@end html
@heading @anchor{hppa*-hp-hpux*}hppa*-hp-hpux*

We @emph{highly} recommend using gas/binutils-2.8 or newer on all hppa
platforms; you may encounter a variety of problems when using the HP 
assembler.

Specifically, @option{-g} does not work on HP-UX (since that system
uses a peculiar debugging format which GCC does not know about), unless you
use GAS and GDB and configure GCC with the
@uref{./configure.html#with-gnu-as,,@option{--with-gnu-as}} and
@option{--with-as=@dots{}} options.

If you wish to use pa-risc 2.0 architecture support, you must use either
the HP assembler, gas/binutils-2.11 or a recent
@uref{ftp://sources.redhat.com/pub/binutils/snapshots,,snapshot of gas}.

More specific information to hppa*-hp-hpux* targets follows.

@html
</p>
<hr>
@end html
@heading @anchor{hppa*-hp-hpux9}hppa*-hp-hpux9

The HP assembler has major problems on this platform.  We've tried to work
around the worst of the problems.  However, those workarounds may be causing
linker crashes in some circumstances; the workarounds also probably prevent
shared libraries from working.  Use the GNU assembler to avoid these problems.


The configuration scripts for GCC will also trigger a bug in the hpux9
shell.  To avoid this problem set @env{CONFIG_SHELL} to @file{/bin/ksh}
and @env{SHELL} to @file{/bin/ksh} in your environment.


@html
</p>
<hr>
@end html
@heading @anchor{hppa*-hp-hpux10}hppa*-hp-hpux10

For hpux10.20, we @emph{highly} recommend you pick up the latest sed patch 
@code{PHCO_19798} from HP.  HP has two sites which provide patches free of 
charge:

@itemize @bullet
@item
@html
<a href="http://us-support.external.hp.com">US, Canada, Asia-Pacific, and
Latin-America</a>
@end html
@ifnothtml
@uref{http://us-support.external.hp.com,,}US, Canada, Asia-Pacific, and
Latin-America
@end ifnothtml
@item
@uref{http://europe-support.external.hp.com,,Europe}
@end itemize

The HP assembler on these systems is much better than the hpux9 assembler,
but still has some problems.  Most notably the assembler inserts timestamps
into each object file it creates, causing the 3-stage comparison test to fail
during a @samp{make bootstrap}.  You should be able to continue by 
saying @samp{make all} after getting the failure from @samp{make 
bootstrap}.


@html
</p>
<hr>
@end html
@heading @anchor{hppa*-hp-hpux11}hppa*-hp-hpux11

GCC 3.0 supports HP-UX 11.  You must use GNU binutils 2.11 or above on
this platform.

@html
</p>
<hr>
@end html
@heading @anchor{*-*-freebsd*}*-*-freebsd*

The version of binutils installed in @file{/usr/bin} is known to work unless
otherwise specified in any per-architecture notes.  However, binutils
2.11 is known to improve overall testsuite results.

For FreeBSD 1, FreeBSD 2 or any mutant a.out versions of FreeBSD 3: All
configuration support and files as shipped with gcc 2.95 are still in
place.  FreeBSD 2.2.7 has been known to bootstrap completely; however,
it is unknown which version of binutils was used (it is assumed that it
was the system copy in @file{/usr/bin}) and C++ EH failures were noted.

For FreeBSD using the ELF file format: DWARF2 debugging is now the
default for all CPU architectures.  It had been the default on
FreeBSD/alpha since its inception.  You may use @option{-gstabs} instead
of @option{-g}, 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, @option{--enable-threads} 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 3.0, 3.4, 4.0, 4.2, 4.3 and 5-CURRENT.

At this time, @option{--enable-threads} is not compatible with
@option{--enable-libgcj} on FreeBSD.

@html
</p>
<hr>
@end html
@heading @anchor{i370-*-*}i370-*-*
This port is very preliminary and has many known bugs.  We hope to
have a higher-quality port for this machine soon.

@html
</p>
<hr>
@end html
@heading @anchor{*-*-linux-gnu}*-*-linux-gnu

If you use glibc 2.2 (or 2.1.9x), GCC 2.95.2 won't install
out-of-the-box.  You'll get compile errors while building libstdc++.
The patch @uref{glibc-2.2.patch,,glibc-2.2.patch}, that is to be
applied in the GCC source tree, fixes the compatibility problems.

@html
</p>
<hr>
@end html

@html
<p>
@end html

Currently Glibc 2.2.3 (and older releases) and GCC 3.0 are out of sync
since the latest exception handling changes for GCC.  Compiling glibc
with GCC 3.0 will give a binary incompatible glibc and therefore cause
lots of problems and might make your system completly unusable.  This
will definitly need fixes in glibc but might also need fixes in GCC.  We
strongly advise to wait for glibc 2.2.4 and to read the release notes of
glibc 2.2.4 whether patches for GCC 3.0 are needed.  You can use glibc
2.2.3 with GCC 3.0, just do not try to recompile it.

@html
</p>
<hr>
@end html
@heading @anchor{ix86-*-linux*oldld}i?86-*-linux*oldld
Use this configuration to generate @file{a.out} binaries on Linux-based
GNU systems if you do not have gas/binutils version 2.5.2 or later
installed. This is an obsolete configuration.

@html
</p>
<hr>
@end html
@heading @anchor{ix86-*-linux*aout}i?86-*-linux*aout
Use this configuration to generate @file{a.out} binaries on Linux-based
GNU systems. This configuration is being superseded. You must use
gas/binutils version 2.5.2 or later.

@html
</p>
<hr>
@end html
@heading @anchor{ix86-*-linux*}i?86-*-linux*

You will need binutils-2.9.1.0.15 or newer for exception handling to work.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -