Cross-Compiler Successful Builds: Difference between revisions

From OSDev.wiki
Jump to navigation Jump to search
[unchecked revision][unchecked revision]
Content added Content deleted
(Reversed binutils version numbering.)
No edit summary
Line 1: Line 1:
=== Tested on... ===
== Introduction ==


The numbers refer to the versions being built, not the host compiler doing the build.
This page is a summary of successful builds of a [[GCC Cross-Compiler]] by members of OSDev.org. The numbers refer to the versions being built, not the host compiler doing the build.


== GCC Version 4.x.x ==
There have been successful builds with older versions, but some problems as well. Mention of their specifics has been removed to keep this tutorial short; please use up-to-date software.


* If you plan to use GCC 4.3.0 or later, you will also have to install the following on your host system:
This has been tested to work with the below combinations of binutils and gcc:
** [[Building GMP | GMP]] (this package is also readily available for MSYS)
** [[Building MPFR | MPFR]]


{| {{wikitable}}
{| {{wikitable}}
Line 178: Line 180:
|}
|}


== GCC Version 3.x.x ==


{| {{wikitable}}
{| {{wikitable}}
Line 231: Line 234:




There have been successful builds with older versions, but some problems as well. Mention of their specifics has been removed to keep this page short; please use up-to-date software.
For Mac OS:

== GCC on Mac OS ==


{| {{wikitable}}
{| {{wikitable}}

Revision as of 11:57, 16 February 2010

Introduction

This page is a summary of successful builds of a GCC Cross-Compiler by members of OSDev.org. The numbers refer to the versions being built, not the host compiler doing the build.

GCC Version 4.x.x

  • If you plan to use GCC 4.3.0 or later, you will also have to install the following on your host system:
    • GMP (this package is also readily available for MSYS)
    • MPFR
GCC 4.5.0 4.4.3 4.4.2 4.4.1 4.4.0 4.3.3 4.3.2 4.3.1 4.3.0 4.2.4 4.2.3 4.2.1 4.2.0 4.1.2 4.1.1 4.0.3 4.0.2 4.0.1 4.0.0
Binutils 2.20 Yes Yes Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
2.19.1 ? ? ? Yes Yes Yes ? ? ? ? ? ? ? ? ? ? ? ? ?
2.19 ? ? ? ? Yes Yes Yes ? ? Yes ? ? ? ? ? ? ? ? Yes
2.18 ? ? ? ? Yes ? Yes Yes Yes Yes Yes Yes ? ? ? ? ? ? ?
2.17 ? ? ? ? ? ? ? ? ? Yes ? ? Yes Yes Yes ? ? ? ?
2.16.1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? Yes ? Yes Yes Yes
2.16 ? ? ? ? ? Yes ? ? ? ? ? ? ? ? ? Yes Yes Yes Yes

GCC Version 3.x.x

GCC 3.4.6 3.4.5 3.4.4 3.4.3
Binutils 2.20 ? ? ? ?
2.19.1 Yes ? ? ?
2.19 ? ? ? Yes
2.18 Yes ? Yes ?
2.17 Yes ? Yes ?
2.16.1 ? Yes Yes Yes
2.16 ? Yes Yes Yes


There have been successful builds with older versions, but some problems as well. Mention of their specifics has been removed to keep this page short; please use up-to-date software.

GCC on Mac OS

GCC 4.5.0 4.4.0 4.2.4
Binutils 2.20 Yes ? ?
2.19.1 ? Yes ?
2.18 ? ? Yes

When compiling GCC 4.3 or higher on OS X 10.4 and 10.5, you may get unresolved symbol errors related to libiconv. This is because the version shipped with OS X is seriously out of date. Install a new version (compile it yourself or use macports) and add --with-libiconv-prefix=/opt/local (or /usr/local if you compiled it yourself) to GCC's ./configure line. Alternatively you may place the libiconv source in gcc-x.y.z/libiconv and it will be compiled as part of the GCC compilation process. (This trick also works for mpfr and gmp).