Cross-Compiler Successful Builds: Difference between revisions

From OSDev.wiki
Jump to navigation Jump to search
[unchecked revision][unchecked revision]
Content deleted Content added
Initial edit - more to follow.
Page ready to be submitted for comments.
Line 10: Line 10:
|-
|-
!
!
! [[GCC]] 4.0.0
! [[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.1
! 4.0.2
! 4.0.0
! 4.0.3
! 4.1.1
! 4.1.2
! 4.2.0
! 4.2.1
! 4.2.3
! 4.2.4
! 4.3.0
! 4.3.1
! 4.3.2
! 4.3.3
! 4.4.0
! 4.4.1
! 4.4.2
! 4.4.3
! 4.5.0
|-
|-
! [[Binutils]] 2.16
! [[Binutils]] 2.16
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
| ?
| ?
| ?
| ?
| ?
| ?
| ?
| ?
| ?
| ?
| {{Yes}}
| ?
| ?
| ?
| ?
| ?
| ?
| ?
| ?
| {{Yes}}
| ?
| ?
| ?
| ?
Line 50: Line 46:
| ?
| ?
| ?
| ?
|-
! 2.16.1
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
|-
! 2.16.1
| ?
| ?
| {{Yes}}
| ?
| ?
| ?
| ?
Line 70: Line 66:
| ?
| ?
| ?
| ?
| {{Yes}}
| ?
| ?
| {{Yes}}
| {{Yes}}
| {{Yes}}
|-
|-
! 2.17
! 2.17
Line 77: Line 77:
| ?
| ?
| ?
| ?
| {{Yes}}
| ?
| {{Yes}}
| {{Yes}}
| ?
| ?
| ?
| {{Yes}}
| ?
| ?
| ?
| ?
| ?
| ?
| {{Yes}}
| ?
| ?
| ?
| ?
| {{Yes}}
| {{Yes}}
| {{Yes}}
| ?
| ?
| ?
| ?
Line 98: Line 98:
| ?
| ?
| ?
| ?
| ?
| {{Yes}}
| ?
| ?
| ?
| {{Yes}}
| {{Yes}}
Line 108: Line 107:
| {{Yes}}
| {{Yes}}
| ?
| ?
| {{Yes}}
| ?
| ?
| ?
| ?
| ?
| ?
Line 115: Line 115:
|-
|-
! 2.19
! 2.19
| {{Yes}}
| ?
| ?
| ?
| ?
| ?
| ?
| ?
| ?
| {{Yes}}
| {{Yes}}
| {{Yes}}
| ?
| ?
| ?
| ?
| {{Yes}}
| ?
| ?
| ?
| ?
| {{Yes}}
| ?
| ?
| ?
| ?
| {{Yes}}
| {{Yes}}
| {{Yes}}
| ?
| ?
| ?
| ?
| ?
| ?
| ?
| ?
| {{Yes}}
|-
|-
! 2.19.1
! 2.19.1
Line 139: Line 139:
| ?
| ?
| ?
| ?
| {{Yes}}
| {{Yes}}
| {{Yes}}
| ?
| ?
| ?
| ?
Line 149: Line 152:
| ?
| ?
| ?
| ?
| {{Yes}}
| {{Yes}}
| {{Yes}}
| ?
| ?
| ?
| ?
Line 157: Line 157:
|-
|-
! 2.20
! 2.20
| {{Yes}}
| {{Yes}}
| {{Yes}}
| ?
| ?
| ?
| ?
Line 173: Line 176:
| ?
| ?
| ?
| ?
| {{Yes}}
| {{Yes}}
| {{Yes}}
|}
|}



Revision as of 09:44, 15 February 2010

Tested on...

The numbers refer to the versions being built, not the host compiler doing the build.

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.

This has been tested to work with the below combinations of binutils and gcc:

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.16 ? ? ? ? ? Yes ? ? ? ? ? ? ? ? ? Yes Yes Yes Yes
2.16.1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? Yes ? Yes Yes Yes
2.17 ? ? ? ? ? ? ? ? ? Yes ? ? Yes Yes Yes ? ? ? ?
2.18 ? ? ? ? Yes ? Yes Yes Yes Yes Yes Yes ? ? ? ? ? ? ?
2.19 ? ? ? ? Yes Yes Yes ? ? Yes ? ? ? ? ? ? ? ? Yes
2.19.1 ? ? ? Yes Yes Yes ? ? ? ? ? ? ? ? ? ? ? ? ?
2.20 Yes Yes Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
GCC 3.4.3 3.4.4 3.4.5 3.4.6
Binutils 2.16 Yes Yes Yes ?
2.16.1 Yes Yes Yes ?
2.17 ? Yes ? Yes
2.18 ? Yes ? Yes
2.19 Yes ? ? ?
2.19.1 ? ? ? Yes
2.20 ? ? ? ?


For Mac OS:

GCC 4.2.4 4.4.0 4.5.0
Binutils 2.18 Yes ? ?
2.19.1 ? Yes ?
2.20 ? ? 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).