Cross-Compiler Successful Builds

From OSDev.wiki
Revision as of 16:40, 6 April 2013 by osdev>Virtlink (Made layout easier to change)
Jump to navigation Jump to search

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

Binutils / GCC 4.8.0 4.7.2 4.7.1 4.7.0 4.6.3 4.6.2 4.6.1 4.6.0 4.5.2 4.5.1 4.5.0
2.23.2 Yes ? ? ? ? ? ? ? ? ? ?
2.23.1 ? Yes ? ? ? ? ? ? ? ? ?
2.23 ? Yes Yes Yes Yes Yes ? ? ? ? ?
2.22 ? ? Yes Yes Yes Yes ? ? ? ? ?
2.21.1(a) ? ? ? ? Yes Yes ? ? ? ? ?
2.21 ? ? ? ? ? ? ? Yes Yes ? ?
2.20.1 ? ? ? ? ? ? ? ? ? Yes Yes
2.20 ? ? ? ? ? ? ? ? Yes Yes ?
2.19.1 ? ? ? ? ? ? ? ? ? ? ?
2.19 ? ? ? ? ? ? ? ? ? Yes ?
2.18 ? ? ? ? ? ? ? ? ? ? ?
2.17 ? ? ? ? ? ? ? ? ? ? ?
2.16.1 ? ? ? ? ? ? ? ? ? ? ?
2.16 ? ? ? ? ? ? ? ? ? ? ?
Binutils / GCC 4.4.3 4.4.2 4.4.1 4.4.0 4.3.3 4.3.2 4.3.1 4.3.0
2.23.2 ? ? ? ? ? ? ? ?
2.23.1 ? ? ? ? ? ? ? ?
2.23 ? ? ? ? ? ? ? ?
2.22 ? ? ? ? ? ? ? ?
2.21.1(a) ? ? ? ? ? ? ? ?
2.21 ? ? ? ? ? ? ? ?
2.20.1 ? ? ? ? ? ? ? ?
2.20 Yes Yes ? ? ? ? ? ?
2.19.1 ? ? Yes Yes Yes ? ? ?
2.19 ? ? ? Yes Yes Yes ? ?
2.18 ? ? ? Yes ? Yes Yes Yes
2.17 ? ? ? ? ? ? ? ?
2.16.1 ? ? ? ? ? ? ? ?
2.16 ? ? ? ? Yes ? ? ?


Binutils / GCC 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
2.23.2 ? ? ? ? ? ? ? ? ? ?
2.23.1 ? ? ? ? ? ? ? ? ? ?
2.23 ? ? ? ? ? ? ? ? ? ?
2.22 ? ? ? ? ? ? ? ? ? ?
2.21.1(a) ? ? ? ? ? ? ? ? ? ?
2.21 ? ? ? ? ? ? ? ? ? ?
2.20.1 ? ? ? ? ? ? ? ? ? ?
2.20 ? ? ? ? ? ? ? ? ? Yes
2.19.1 Yes ? ? ? ? ? ? ? ? ?
2.19 Yes ? ? ? ? ? ? ? ? Yes
2.18 Yes Yes Yes ? ? ? ? ? ? ?
2.17 Yes ? ? Yes Yes Yes ? ? ? ?
2.16.1 ? ? ? ? ? Yes ? Yes Yes Yes
2.16 ? ? ? ? ? ? Yes Yes Yes Yes
  • If you plan to use GCC 4.3.0 or a later version, you will also have to install the following (using your system's package management):
    • GNU GMP (libgmp-devel on Cygwin, libgmp3-dev on apt-based systems, dev-libs/gmp on Gentoo)
      • Tutorial covering MSYS and MinGW builds of GMP
    • GNU MPFR (libmpfr-devel on Cygwin, libmpfr-dev on apt-based systems, dev-libs/mpfr on Gentoo)
  • If you plan to use GCC 4.5.0 or a later version, you will also have to install the following (using your system's package management):
    • MPC (libmpc-devel on Cygwin, libmpc-dev on apt-based systems, dev-libs/mpc on Gentoo)
  • If you plan to use GCC 4.5.0 or a later version, and you would like to build libstdc++, you need to compile with a 4.5.x series compiler. Depending on your configuration, you may also need the --disable-libstdcxx-pch configure option.

GCC Version 3.x.x

If for some reason, you need a GCC 3 build, these combinations have been tested. Note that if your code does not work with GCC 4, you usually have bigger problems.

Binutils / GCC 3.4.6 3.4.5 3.4.4 3.4.3
2.23.2 ? ? ? ?
2.23.1 ? ? ? ?
2.23 ? ? ? ?
2.22 ? ? ? ?
2.21.1(a) ? ? ? ?
2.21 ? ? ? ?
2.20.1 ? ? ? ?
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 many have (serious) 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

Binutils / GCC 4.6.2 4.6.1 4.5.2 4.5.1 4.5.0 4.4.2 4.4.0 4.2.4
2.23.2 ? ? ? ? ? ? ? ?
2.23.1 ? ? ? ? ? ? ? ?
2.23 ? ? ? ? ? ? ? ?
2.22 ? ? ? ? ? ? ? ?
2.21.1(a) ? ? ? ? ? ? ? ?
2.21 ? Yes Yes ? ? ? ? ?
2.20.1 ? ? ? Yes Yes ? ? ?
2.20 ? ? ? ? Yes Yes ? ?
2.19.1 ? ? ? ? ? Yes 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).

See Also

Articles