diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2024-05-17 18:37:22 +0200 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2024-05-18 04:51:20 +0200 |
commit | f5c67bc4f3f14de3a4261f21565cb4658a9ef3bd (patch) | |
tree | 1f18bf997eaa72769f73fb4eb812f88477527cd1 /toolchain/gcc/patches | |
parent | 6d77c8668e4e557924f8883fa5d6ab6e5af58f2e (diff) |
nds32: add back support for old toolchain and Linux, working on ag101p with latest uClibc-ng
fix
Diffstat (limited to 'toolchain/gcc/patches')
-rw-r--r-- | toolchain/gcc/patches/4.9.3/nds32.patch | 383894 |
1 files changed, 383894 insertions, 0 deletions
diff --git a/toolchain/gcc/patches/4.9.3/nds32.patch b/toolchain/gcc/patches/4.9.3/nds32.patch new file mode 100644 index 000000000..0335a98b7 --- /dev/null +++ b/toolchain/gcc/patches/4.9.3/nds32.patch @@ -0,0 +1,383894 @@ +diff -Nur gcc-4.9.3.orig/INSTALL/binaries.html gcc-4.9.3/INSTALL/binaries.html +--- gcc-4.9.3.orig/INSTALL/binaries.html 2015-06-26 19:59:20.000000000 +0200 ++++ gcc-4.9.3/INSTALL/binaries.html 1970-01-01 01:00:00.000000000 +0100 +@@ -1,164 +0,0 @@ +-<!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-Binaries"></a> +-<a name="index-Installing-GCC_003a-Binaries"></a> +- +-<p>We are often asked about pre-compiled versions of GCC. While we cannot +-provide these for all platforms, below you’ll find links to binaries for +-various platforms where creating them by yourself is not easy due to various +-reasons. +-</p> +-<p>Please note that we did not create these binaries, nor do we +-support them. If you have any problems installing them, please +-contact their makers. +-</p> +-<ul> +-<li> AIX: +-<ul> +-<li> <a href="http://www.bullfreeware.com">Bull’s Freeware and Shareware Archive for AIX</a>; +- +-</li><li> <a href="http://pware.hvcc.edu">Hudson Valley Community College Open Source Software for IBM System p</a>; +- +-</li><li> <a href="http://www.perzl.org/aix/">AIX 5L and 6 Open Source Packages</a>. +-</li></ul> +- +-</li><li> DOS—<a href="http://www.delorie.com/djgpp/">DJGPP</a>. +- +-</li><li> Renesas H8/300[HS]—<a href="http://h8300-hms.sourceforge.net/">GNU +-Development Tools for the Renesas H8/300[HS] Series</a>. +- +-</li><li> HP-UX: +-<ul> +-<li> <a href="http://hpux.connect.org.uk/">HP-UX Porting Center</a>; +- +-</li><li> <a href="ftp://sunsite.informatik.rwth-aachen.de/pub/packages/gcc_hpux/">Binaries for HP-UX 11.00 at Aachen University of Technology</a>. +-</li></ul> +- +-</li><li> <a href="http://www.sco.com/skunkware/devtools/index.html#gcc">SCO +-OpenServer/Unixware</a>. +- +-</li><li> Solaris 2 (SPARC, Intel): +-<ul> +-<li> <a href="http://www.opencsw.org/">OpenCSW</a> +- +-</li><li> <a href="http://jupiterrise.com/tgcware/">TGCware</a> +-</li></ul> +- +-</li><li> Microsoft Windows: +-<ul> +-<li> The <a href="http://sourceware.org/cygwin/">Cygwin</a> project; +-</li><li> The <a href="http://www.mingw.org/">MinGW</a> project. +-</li></ul> +- +-</li><li> <a href="ftp://ftp.thewrittenword.com/packages/by-name/">The +-Written Word</a> offers binaries for +-AIX 4.3.3, 5.1 and 5.2, +-GNU/Linux (i386), +-HP-UX 10.20, 11.00, and 11.11, and +-Solaris/SPARC 2.5.1, 2.6, 7, 8, 9 and 10. +- +-</li><li> <a href="http://www.openpkg.org/">OpenPKG</a> offers binaries for quite a +-number of platforms. +- +-</li><li> The <a href="http://gcc.gnu.org/wiki/GFortranBinaries">GFortran Wiki</a> has +-links to GNU Fortran binaries for several platforms. +-</li></ul> +- +-<hr /> +-<p><p><a href="./index.html">Return to the GCC Installation page</a> +-</p> +- +- +- +- +- +- +- +-</body> +-</html> +diff -Nur gcc-4.9.3.orig/INSTALL/build.html gcc-4.9.3/INSTALL/build.html +--- gcc-4.9.3.orig/INSTALL/build.html 2015-06-26 19:59:18.000000000 +0200 ++++ gcc-4.9.3/INSTALL/build.html 1970-01-01 01:00:00.000000000 +0100 +@@ -1,457 +0,0 @@ +-<!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-Installing-GCC_003a-Building"></a> +- +-<p>Now that GCC is configured, you are ready to build the compiler and +-runtime libraries. +-</p> +-<p>Some commands executed when making the compiler may fail (return a +-nonzero status) and be ignored by <code>make</code>. These failures, which +-are often due to files that were not found, are expected, and can safely +-be ignored. +-</p> +-<p>It is normal to have compiler warnings when compiling certain files. +-Unless you are a GCC developer, you can generally ignore these warnings +-unless they cause compilation to fail. Developers should attempt to fix +-any warnings encountered, however they can temporarily continue past +-warnings-as-errors by specifying the configure flag +-<samp>--disable-werror</samp>. +-</p> +-<p>On certain old systems, defining certain environment variables such as +-<code>CC</code> can interfere with the functioning of <code>make</code>. +-</p> +-<p>If you encounter seemingly strange errors when trying to build the +-compiler in a directory other than the source directory, it could be +-because you have previously configured the compiler in the source +-directory. Make sure you have done all the necessary preparations. +-</p> +-<p>If you build GCC on a BSD system using a directory stored in an old System +-V file system, problems may occur in running <code>fixincludes</code> if the +-System V file system doesn’t support symbolic links. These problems +-result in a failure to fix the declaration of <code>size_t</code> in +-<samp>sys/types.h</samp>. If you find that <code>size_t</code> is a signed type and +-that type mismatches occur, this could be the cause. +-</p> +-<p>The solution is not to use such a directory for building GCC. +-</p> +-<p>Similarly, when building from SVN or snapshots, or if you modify +-<samp>*.l</samp> files, you need the Flex lexical analyzer generator +-installed. If you do not modify <samp>*.l</samp> files, releases contain +-the Flex-generated files and you do not need Flex installed to build +-them. There is still one Flex-based lexical analyzer (part of the +-build machinery, not of GCC itself) that is used even if you only +-build the C front end. +-</p> +-<p>When building from SVN or snapshots, or if you modify Texinfo +-documentation, you need version 4.7 or later of Texinfo installed if you +-want Info documentation to be regenerated. Releases contain Info +-documentation pre-built for the unmodified documentation in the release. +-</p> +-<a name="Building-a-native-compiler"></a> +-<h3 class="section">Building a native compiler</h3> +- +-<p>For a native build, the default configuration is to perform +-a 3-stage bootstrap of the compiler when ‘<samp>make</samp>’ is invoked. +-This will build the entire GCC system and ensure that it compiles +-itself correctly. It can be disabled with the <samp>--disable-bootstrap</samp> +-parameter to ‘<samp>configure</samp>’, but bootstrapping is suggested because +-the compiler will be tested more completely and could also have +-better performance. +-</p> +-<p>The bootstrapping process will complete the following steps: +-</p> +-<ul> +-<li> Build tools necessary to build the compiler. +- +-</li><li> Perform a 3-stage bootstrap of the compiler. This includes building +-three times the target tools for use by the compiler such as binutils +-(bfd, binutils, gas, gprof, ld, and opcodes) if they have been +-individually linked or moved into the top level GCC source tree before +-configuring. +- +-</li><li> Perform a comparison test of the stage2 and stage3 compilers. +- +-</li><li> Build runtime libraries using the stage3 compiler from the previous step. +- +-</li></ul> +- +-<p>If you are short on disk space you might consider ‘<samp>make +-bootstrap-lean</samp>’ instead. The sequence of compilation is the +-same described above, but object files from the stage1 and +-stage2 of the 3-stage bootstrap of the compiler are deleted as +-soon as they are no longer needed. +-</p> +-<p>If you wish to use non-default GCC flags when compiling the stage2 +-and stage3 compilers, set <code>BOOT_CFLAGS</code> on the command line when +-doing ‘<samp>make</samp>’. For example, if you want to save additional space +-during the bootstrap and in the final installation as well, you can +-build the compiler binaries without debugging information as in the +-following example. This will save roughly 40% of disk space both for +-the bootstrap and the final installation. (Libraries will still contain +-debugging information.) +-</p> +-<div class="smallexample"> +-<pre class="smallexample">make BOOT_CFLAGS='-O' bootstrap +-</pre></div> +- +-<p>You can place non-default optimization flags into <code>BOOT_CFLAGS</code>; they +-are less well tested here than the default of ‘<samp>-g -O2</samp>’, but should +-still work. In a few cases, you may find that you need to specify special +-flags such as <samp>-msoft-float</samp> here to complete the bootstrap; or, +-if the native compiler miscompiles the stage1 compiler, you may need +-to work around this, by choosing <code>BOOT_CFLAGS</code> to avoid the parts +-of the stage1 compiler that were miscompiled, or by using ‘<samp>make +-bootstrap4</samp>’ to increase the number of stages of bootstrap. +-</p> +-<p><code>BOOT_CFLAGS</code> does not apply to bootstrapped target libraries. +-Since these are always compiled with the compiler currently being +-bootstrapped, you can use <code>CFLAGS_FOR_TARGET</code> to modify their +-compilation flags, as for non-bootstrapped target libraries. +-Again, if the native compiler miscompiles the stage1 compiler, you may +-need to work around this by avoiding non-working parts of the stage1 +-compiler. Use <code>STAGE1_TFLAGS</code> to this end. +-</p> +-<p>If you used the flag <samp>--enable-languages=…</samp> to restrict +-the compilers to be built, only those you’ve actually enabled will be +-built. This will of course only build those runtime libraries, for +-which the particular compiler has been built. Please note, +-that re-defining <code>LANGUAGES</code> when calling ‘<samp>make</samp>’ +-<strong>does not</strong> work anymore! +-</p> +-<p>If the comparison of stage2 and stage3 fails, this normally indicates +-that the stage2 compiler has compiled GCC incorrectly, and is therefore +-a potentially serious bug which you should investigate and report. (On +-a few systems, meaningful comparison of object files is impossible; they +-always appear “different”. If you encounter this problem, you will +-need to disable comparison in the <samp>Makefile</samp>.) +-</p> +-<p>If you do not want to bootstrap your compiler, you can configure with +-<samp>--disable-bootstrap</samp>. In particular cases, you may want to +-bootstrap your compiler even if the target system is not the same as +-the one you are building on: for example, you could build a +-<code>powerpc-unknown-linux-gnu</code> toolchain on a +-<code>powerpc64-unknown-linux-gnu</code> host. In this case, pass +-<samp>--enable-bootstrap</samp> to the configure script. +-</p> +-<p><code>BUILD_CONFIG</code> can be used to bring in additional customization +-to the build. It can be set to a whitespace-separated list of names. +-For each such <code>NAME</code>, top-level <samp>config/<code>NAME</code>.mk</samp> will +-be included by the top-level <samp>Makefile</samp>, bringing in any settings +-it contains. The default <code>BUILD_CONFIG</code> can be set using the +-configure option <samp>--with-build-config=<code>NAME</code>...</samp>. Some +-examples of supported build configurations are: +-</p> +-<dl compact="compact"> +-<dt>‘<samp>bootstrap-O1</samp>’</dt> +-<dd><p>Removes any <samp>-O</samp>-started option from <code>BOOT_CFLAGS</code>, and adds +-<samp>-O1</samp> to it. ‘<samp>BUILD_CONFIG=bootstrap-O1</samp>’ is equivalent to +-‘<samp>BOOT_CFLAGS='-g -O1'</samp>’. +-</p> +-</dd> +-<dt>‘<samp>bootstrap-O3</samp>’</dt> +-<dd><p>Analogous to <code>bootstrap-O1</code>. +-</p> +-</dd> +-<dt>‘<samp>bootstrap-lto</samp>’</dt> +-<dd><p>Enables Link-Time Optimization for host tools during bootstrapping. +-‘<samp>BUILD_CONFIG=bootstrap-lto</samp>’ is equivalent to adding +-<samp>-flto</samp> to ‘<samp>BOOT_CFLAGS</samp>’. +-</p> +-</dd> +-<dt>‘<samp>bootstrap-debug</samp>’</dt> +-<dd><p>Verifies that the compiler generates the same executable code, whether +-or not it is asked to emit debug information. To this end, this +-option builds stage2 host programs without debug information, and uses +-<samp>contrib/compare-debug</samp> to compare them with the stripped stage3 +-object files. If <code>BOOT_CFLAGS</code> is overridden so as to not enable +-debug information, stage2 will have it, and stage3 won’t. This option +-is enabled by default when GCC bootstrapping is enabled, if +-<code>strip</code> can turn object files compiled with and without debug +-info into identical object files. In addition to better test +-coverage, this option makes default bootstraps faster and leaner. +-</p> +-</dd> +-<dt>‘<samp>bootstrap-debug-big</samp>’</dt> +-<dd><p>Rather than comparing stripped object files, as in +-<code>bootstrap-debug</code>, this option saves internal compiler dumps +-during stage2 and stage3 and compares them as well, which helps catch +-additional potential problems, but at a great cost in terms of disk +-space. It can be specified in addition to ‘<samp>bootstrap-debug</samp>’. +-</p> +-</dd> +-<dt>‘<samp>bootstrap-debug-lean</samp>’</dt> +-<dd><p>This option saves disk space compared with <code>bootstrap-debug-big</code>, +-but at the expense of some recompilation. Instead of saving the dumps +-of stage2 and stage3 until the final compare, it uses +-<samp>-fcompare-debug</samp> to generate, compare and remove the dumps +-during stage3, repeating the compilation that already took place in +-stage2, whose dumps were not saved. +-</p> +-</dd> +-<dt>‘<samp>bootstrap-debug-lib</samp>’</dt> +-<dd><p>This option tests executable code invariance over debug information +-generation on target libraries, just like <code>bootstrap-debug-lean</code> +-tests it on host programs. It builds stage3 libraries with +-<samp>-fcompare-debug</samp>, and it can be used along with any of the +-<code>bootstrap-debug</code> options above. +-</p> +-<p>There aren’t <code>-lean</code> or <code>-big</code> counterparts to this option +-because most libraries are only build in stage3, so bootstrap compares +-would not get significant coverage. Moreover, the few libraries built +-in stage2 are used in stage3 host programs, so we wouldn’t want to +-compile stage2 libraries with different options for comparison purposes. +-</p> +-</dd> +-<dt>‘<samp>bootstrap-debug-ckovw</samp>’</dt> +-<dd><p>Arranges for error messages to be issued if the compiler built on any +-stage is run without the option <samp>-fcompare-debug</samp>. This is +-useful to verify the full <samp>-fcompare-debug</samp> testing coverage. It +-must be used along with <code>bootstrap-debug-lean</code> and +-<code>bootstrap-debug-lib</code>. +-</p> +-</dd> +-<dt>‘<samp>bootstrap-time</samp>’</dt> +-<dd><p>Arranges for the run time of each program started by the GCC driver, +-built in any stage, to be logged to <samp>time.log</samp>, in the top level of +-the build tree. +-</p> +-</dd> +-</dl> +- +-<a name="Building-a-cross-compiler"></a> +-<h3 class="section">Building a cross compiler</h3> +- +-<p>When building a cross compiler, it is not generally possible to do a +-3-stage bootstrap of the compiler. This makes for an interesting problem +-as parts of GCC can only be built with GCC. +-</p> +-<p>To build a cross compiler, we recommend first building and installing a +-native compiler. You can then use the native GCC compiler to build the +-cross compiler. The installed native compiler needs to be GCC version +-2.95 or later. +-</p> +-<p>If the cross compiler is to be built with support for the Java +-programming language and the ability to compile .java source files is +-desired, the installed native compiler used to build the cross +-compiler needs to be the same GCC version as the cross compiler. In +-addition the cross compiler needs to be configured with +-<samp>--with-ecj-jar=…</samp>. +-</p> +-<p>Assuming you have already installed a native copy of GCC and configured +-your cross compiler, issue the command <code>make</code>, which performs the +-following steps: +-</p> +-<ul> +-<li> Build host tools necessary to build the compiler. +- +-</li><li> Build target tools for use by the compiler such as binutils (bfd, +-binutils, gas, gprof, ld, and opcodes) +-if they have been individually linked or moved into the top level GCC source +-tree before configuring. +- +-</li><li> Build the compiler (single stage only). +- +-</li><li> Build runtime libraries using the compiler from the previous step. +-</li></ul> +- +-<p>Note that if an error occurs in any step the make process will exit. +-</p> +-<p>If you are not building GNU binutils in the same source tree as GCC, +-you will need a cross-assembler and cross-linker installed before +-configuring GCC. Put them in the directory +-<samp><var>prefix</var>/<var>target</var>/bin</samp>. Here is a table of the tools +-you should put in this directory: +-</p> +-<dl compact="compact"> +-<dt><samp>as</samp></dt> +-<dd><p>This should be the cross-assembler. +-</p> +-</dd> +-<dt><samp>ld</samp></dt> +-<dd><p>This should be the cross-linker. +-</p> +-</dd> +-<dt><samp>ar</samp></dt> +-<dd><p>This should be the cross-archiver: a program which can manipulate +-archive files (linker libraries) in the target machine’s format. +-</p> +-</dd> +-<dt><samp>ranlib</samp></dt> +-<dd><p>This should be a program to construct a symbol table in an archive file. +-</p></dd> +-</dl> +- +-<p>The installation of GCC will find these programs in that directory, +-and copy or link them to the proper place to for the cross-compiler to +-find them when run later. +-</p> +-<p>The easiest way to provide these files is to build the Binutils package. +-Configure it with the same <samp>--host</samp> and <samp>--target</samp> +-options that you use for configuring GCC, then build and install +-them. They install their executables automatically into the proper +-directory. Alas, they do not support all the targets that GCC +-supports. +-</p> +-<p>If you are not building a C library in the same source tree as GCC, +-you should also provide the target libraries and headers before +-configuring GCC, specifying the directories with +-<samp>--with-sysroot</samp> or <samp>--with-headers</samp> and +-<samp>--with-libs</samp>. Many targets also require “start files” such +-as <samp>crt0.o</samp> and +-<samp>crtn.o</samp> which are linked into each executable. There may be several +-alternatives for <samp>crt0.o</samp>, for use with profiling or other +-compilation options. Check your target’s definition of +-<code>STARTFILE_SPEC</code> to find out what start files it uses. +-</p> +-<a name="Building-in-parallel"></a> +-<h3 class="section">Building in parallel</h3> +- +-<p>GNU Make 3.80 and above, which is necessary to build GCC, support +-building in parallel. To activate this, you can use ‘<samp>make -j 2</samp>’ +-instead of ‘<samp>make</samp>’. You can also specify a bigger number, and +-in most cases using a value greater than the number of processors in +-your machine will result in fewer and shorter I/O latency hits, thus +-improving overall throughput; this is especially true for slow drives +-and network filesystems. +-</p> +-<a name="Building-the-Ada-compiler"></a> +-<h3 class="section">Building the Ada compiler</h3> +- +-<p>In order to build GNAT, the Ada compiler, you need a working GNAT +-compiler (GCC version 4.0 or later). +-This includes GNAT tools such as <code>gnatmake</code> and +-<code>gnatlink</code>, since the Ada front end is written in Ada and +-uses some GNAT-specific extensions. +-</p> +-<p>In order to build a cross compiler, it is suggested to install +-the new compiler as native first, and then use it to build the cross +-compiler. +-</p> +-<p><code>configure</code> does not test whether the GNAT installation works +-and has a sufficiently recent version; if too old a GNAT version is +-installed, the build will fail unless <samp>--enable-languages</samp> is +-used to disable building the Ada front end. +-</p> +-<p><code>ADA_INCLUDE_PATH</code> and <code>ADA_OBJECT_PATH</code> environment variables +-must not be set when building the Ada compiler, the Ada tools, or the +-Ada runtime libraries. You can check that your build environment is clean +-by verifying that ‘<samp>gnatls -v</samp>’ lists only one explicit path in each +-section. +-</p> +-<a name="Building-with-profile-feedback"></a> +-<h3 class="section">Building with profile feedback</h3> +- +-<p>It is possible to use profile feedback to optimize the compiler itself. This +-should result in a faster compiler binary. Experiments done on x86 using gcc +-3.3 showed approximately 7 percent speedup on compiling C programs. To +-bootstrap the compiler with profile feedback, use <code>make profiledbootstrap</code>. +-</p> +-<p>When ‘<samp>make profiledbootstrap</samp>’ is run, it will first build a <code>stage1</code> +-compiler. This compiler is used to build a <code>stageprofile</code> compiler +-instrumented to collect execution counts of instruction and branch +-probabilities. Then runtime libraries are compiled with profile collected. +-Finally a <code>stagefeedback</code> compiler is built using the information collected. +-</p> +-<p>Unlike standard bootstrap, several additional restrictions apply. The +-compiler used to build <code>stage1</code> needs to support a 64-bit integral type. +-It is recommended to only use GCC for this. +-</p> +-<hr /> +-<p><p><a href="./index.html">Return to the GCC Installation page</a> +-</p> +- +- +- +- +- +- +- +-<hr> +- +- +- +-</body> +-</html> +diff -Nur gcc-4.9.3.orig/INSTALL/configure.html gcc-4.9.3/INSTALL/configure.html +--- gcc-4.9.3.orig/INSTALL/configure.html 2015-06-26 19:59:18.000000000 +0200 ++++ gcc-4.9.3/INSTALL/configure.html 1970-01-01 01:00:00.000000000 +0100 +@@ -1,1842 +0,0 @@ +-<!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-Configuration"></a> +-<a name="index-Installing-GCC_003a-Configuration"></a> +- +-<p>Like most GNU software, GCC must be configured before it can be built. +-This document describes the recommended configuration procedure +-for both native and cross targets. +-</p> +-<p>We use <var>srcdir</var> to refer to the toplevel source directory for +-GCC; we use <var>objdir</var> to refer to the toplevel build/object directory. +-</p> +-<p>If you obtained the sources via SVN, <var>srcdir</var> must refer to the top +-<samp>gcc</samp> directory, the one where the <samp>MAINTAINERS</samp> file can be +-found, and not its <samp>gcc</samp> subdirectory, otherwise the build will fail. +-</p> +-<p>If either <var>srcdir</var> or <var>objdir</var> is located on an automounted NFS +-file system, the shell’s built-in <code>pwd</code> command will return +-temporary pathnames. Using these can lead to various sorts of build +-problems. To avoid this issue, set the <code>PWDCMD</code> environment +-variable to an automounter-aware <code>pwd</code> command, e.g., +-<code>pawd</code> or ‘<samp>amq -w</samp>’, during the configuration and build +-phases. +-</p> +-<p>First, we <strong>highly</strong> recommend that GCC be built into a +-separate directory from the sources which does <strong>not</strong> reside +-within the source tree. This is how we generally build GCC; building +-where <var>srcdir</var> == <var>objdir</var> should still work, but doesn’t +-get extensive testing; building where <var>objdir</var> is a subdirectory +-of <var>srcdir</var> is unsupported. +-</p> +-<p>If you have previously built GCC in the same directory for a +-different target machine, do ‘<samp>make distclean</samp>’ to delete all files +-that might be invalid. One of the files this deletes is <samp>Makefile</samp>; +-if ‘<samp>make distclean</samp>’ complains that <samp>Makefile</samp> does not exist +-or issues a message like “don’t know how to make distclean” it probably +-means that the directory is already suitably clean. However, with the +-recommended method of building in a separate <var>objdir</var>, you should +-simply use a different <var>objdir</var> for each target. +-</p> +-<p>Second, when configuring a native system, either <code>cc</code> or +-<code>gcc</code> must be in your path or you must set <code>CC</code> in +-your environment before running configure. Otherwise the configuration +-scripts may fail. +-</p> +- +-<p>To configure GCC: +-</p> +-<div class="smallexample"> +-<pre class="smallexample">% mkdir <var>objdir</var> +-% cd <var>objdir</var> +-% <var>srcdir</var>/configure [<var>options</var>] [<var>target</var>] +-</pre></div> +- +-<a name="Distributor-options"></a> +-<h3 class="heading">Distributor options</h3> +- +-<p>If you will be distributing binary versions of GCC, with modifications +-to the source code, you should use the options described in this +-section to make clear that your version contains modifications. +-</p> +-<dl compact="compact"> +-<dt><code>--with-pkgversion=<var>version</var></code></dt> +-<dd><p>Specify a string that identifies your package. You may wish +-to include a build number or build date. This version string will be +-included in the output of <code>gcc --version</code>. This suffix does +-not replace the default version string, only the ‘<samp>GCC</samp>’ part. +-</p> +-<p>The default value is ‘<samp>GCC</samp>’. +-</p> +-</dd> +-<dt><code>--with-bugurl=<var>url</var></code></dt> +-<dd><p>Specify the URL that users should visit if they wish to report a bug. +-You are of course welcome to forward bugs reported to you to the FSF, +-if you determine that they are not bugs in your modifications. +-</p> +-<p>The default value refers to the FSF’s GCC bug tracker. +-</p> +-</dd> +-</dl> +- +-<a name="Target-specification"></a> +-<h3 class="heading">Target specification</h3> +-<ul> +-<li> GCC has code to correctly determine the correct value for <var>target</var> +-for nearly all native systems. Therefore, we highly recommend you do +-not provide a configure target when configuring a native compiler. +- +-</li><li> <var>target</var> must be specified as <samp>--target=<var>target</var></samp> +-when configuring a cross compiler; examples of valid targets would be +-m68k-elf, sh-elf, etc. +- +-</li><li> Specifying just <var>target</var> instead of <samp>--target=<var>target</var></samp> +-implies that the host defaults to <var>target</var>. +-</li></ul> +- +- +-<a name="Options-specification"></a> +-<h3 class="heading">Options specification</h3> +- +-<p>Use <var>options</var> to override several configure time options for +-GCC. A list of supported <var>options</var> follows; ‘<samp>configure +---help</samp>’ may list other options, but those not listed below may not +-work and should not normally be used. +-</p> +-<p>Note that each <samp>--enable</samp> option has a corresponding +-<samp>--disable</samp> option and that each <samp>--with</samp> option has a +-corresponding <samp>--without</samp> option. +-</p> +-<dl compact="compact"> +-<dt><code>--prefix=<var>dirname</var></code></dt> +-<dd><p>Specify the toplevel installation +-directory. This is the recommended way to install the tools into a directory +-other than the default. The toplevel installation directory defaults to +-<samp>/usr/local</samp>. +-</p> +-<p>We <strong>highly</strong> recommend against <var>dirname</var> being the same or a +-subdirectory of <var>objdir</var> or vice versa. If specifying a directory +-beneath a user’s home directory tree, some shells |