external-toolchain: details on selecting the multilib variants
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sat, 31 Dec 2011 14:38:22 +0000 (15:38 +0100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thu, 1 Mar 2012 19:26:38 +0000 (20:26 +0100)
Each multilib variant need to be selected using a special combination
of flags, requiring specific choices of the Buildroot options. This
commit documents those configuration choices to make it easier to use
the various multilib variants.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
toolchain/toolchain-external/Config.in

index 6fb9ef61632cd8f4615414b18044aeda220c958d..d3b591d6d98494771e7fd08095c91873750b620a 100644 (file)
@@ -14,8 +14,15 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201109
          2.13 and gdb 7.2.50, kernel headers 3.0.1. It has support
          for the following variants:
             - ARMv5TE, little endian, soft-float, glibc
+              Select ARM926T, ARM10T, XScale or another ARMv5 core
+              Select BR2_SOFT_FLOAT
             - ARMv4T, little endian, soft-float, glibc
+              Select ARM720T, ARM920T, ARM922T or another ARMv4 core
+              Select BR2_SOFT_FLOAT
             - ARMv7-A, Thumb 2, little endian, soft-float, glibc
+              Select Cortex-A8, Cortex-A9 or another ARMv7-A core
+              Select BR2_SOFT_FLOAT
+              Set BR2_TARGET_OPTIMIZATION to -mthumb
 
 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201103
        bool "Sourcery CodeBench ARM 2011.03"
@@ -28,8 +35,15 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201103
          2.13 and gdb 7.2.50, kernel headers 2.6.38. It has support
          for the following variants:
             - ARMv5TE, little endian, soft-float, glibc
+              Select ARM926T, ARM10T, XScale or another ARMv5 core
+              Select BR2_SOFT_FLOAT
             - ARMv4T, little endian, soft-float, glibc
+              Select ARM720T, ARM920T, ARM922T or another ARMv4 core
+              Select BR2_SOFT_FLOAT
             - ARMv7-A, Thumb 2, little endian, soft-float, glibc
+              Select Cortex-A8, Cortex-A9 or another ARMv7-A core
+              Select BR2_SOFT_FLOAT
+              Set BR2_TARGET_OPTIMIZATION to -mthumb
 
 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201009
        bool "Sourcery CodeBench ARM 2010.09"
@@ -42,8 +56,15 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201009
          2.11 and gdb 7.2.50, kernel headers 2.6.35.2. It has support
          for the following variants:
             - ARMv5TE, little endian, soft-float, glibc
+             Select ARM926T, ARM10T, XScale or another ARMv5 core
+              Select BR2_SOFT_FLOAT
             - ARMv4T, little endian, soft-float, glibc
+              Select ARM720T, ARM920T, ARM922T or another ARMv4 core
+              Select BR2_SOFT_FLOAT
             - ARMv7-A, Thumb 2, little endian, soft-float, glibc
+              Select Cortex-A8, Cortex-A9 or another ARMv7-A core
+              Select BR2_SOFT_FLOAT
+              Set BR2_TARGET_OPTIMIZATION to -mthumb
 
 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM2010Q1
        bool "Sourcery CodeBench ARM 2010q1"
@@ -56,8 +77,15 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM2010Q1
          2.11, gdb 7.0.50 and kernel headers 2.6.32. It has support
          for the following variants:
              - ARMv5T, little endian, soft-float, glibc
+               Select ARM926T, ARM10T, XScale or another ARMv5 core
+               Select BR2_SOFT_FLOAT
              - ARMv4T, little endian, soft-float, glibc
+               Select ARM720T, ARM920T, ARM922T or another ARMv4 core
+               Select BR2_SOFT_FLOAT
              - ARMv7-A, Thumb 2, little endian, soft-float, glibc
+               Select Cortex-A8, Cortex-A9 or another ARMv7-A core
+               Select BR2_SOFT_FLOAT
+               Set BR2_TARGET_OPTIMIZATION to -mthumb
 
 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM2009Q3
        bool "Sourcery CodeBench ARM 2009q3"
@@ -70,8 +98,15 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM2009Q3
          2.10 and gdb 6.8 and kernel headers 2.6.30. It has support
          for the following variants:
             - ARMv5T, little endian, soft-float, glibc
+              Select ARM926T, ARM10T, XScale or another ARMv5 core
+              Select BR2_SOFT_FLOAT
             - ARMv4T, little endian, soft-float, glibc
+              Select ARM720T, ARM920T, ARM922T or another ARMv4 core
+              Select BR2_SOFT_FLOAT
             - ARMv7-A, Thumb 2, little endian, soft-float, glibc
+              Select Cortex-A8, Cortex-A9 or another ARMv7-A core
+              Select BR2_SOFT_FLOAT
+              Set BR2_TARGET_OPTIMIZATION to -mthumb
 
 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201103
        bool "Sourcery CodeBench MIPS 2011.03"
@@ -84,17 +119,43 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201103
          2.13, uClibc 0.9.30 and gdb 7.2.50, kernel headers
          2.6.38. It has support for the following variants:
             - MIPS32 O32 big endian glibc
+              Select a MIPS generic core
+              Disable BR2_SOFT_FLOAT
             - MIPS32 O32 little endian glibc
+              Select a MIPS generic core
+              Disable BR2_SOFT_FLOAT
+              Set BR2_TARGET_OPTIMIZATION to -EL
             - MIPS32 big endian soft float glibc
+              Select a MIPS generic core
+              Select BR2_SOFT_FLOAT
             - MIPS32 little endian soft float glibc
+              Select a MIPS generic core
+              Select BR2_SOFT_FLOAT
+              Set BR2_TARGET_OPTIMIZATION to -EL
             - MIPS32 big endian microMIPS glibc
+              Select a MIPS generic core
+              Disable BR2_SOFT_FLOAT
+              Set BR2_TARGET_OPTIMIZATION to -mips16
             - MIPS32 little endian microMIPS glibc
+              Select a MIPS generic core
+              Disable BR2_SOFT_FLOAT
+              Set BR2_TARGET_OPTIMIZATION to -EL -mips16
             - MIPS32 big endian soft float microMIPS glibc
+              Select a MIPS generic core
+              Select BR2_SOFT_FLOAT
+              Set BR2_TARGET_OPTIMIZATION to -mips16
             - MIPS32 little endian soft float microMIPS glibc
+              Select a MIPS generic core
+              Select BR2_SOFT_FLOAT
+              Set BR2_TARGET_OPTIMIZATION to -EL -mips16
             - MIPS32 big endian uclibc
+              Not usable in Buildroot yet.
             - MIPS32 little endian uclibc
+              Not usable in Buildroot yet.
             - MIPS32 big endian soft float uclibc
+              Not usable in Buildroot yet.
             - MIPS32 little endian soft float uclibc
+              Not usable in Buildroot yet.
 
 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS44
        bool "Sourcery CodeBench MIPS 4.4"
@@ -107,17 +168,43 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS44
          2.11, uClibc 0.9.30 and gdb 7.0, kernel headers 2.6.32. It
          has support for the following variants:
             - MIPS32 O32 big endian glibc
+              Select a MIPS generic core
+              Disable BR2_SOFT_FLOAT
             - MIPS32 O32 little endian glibc
+              Select a MIPS generic core
+              Disable BR2_SOFT_FLOAT
+              Set BR2_TARGET_OPTIMIZATION to -EL
             - MIPS32 big endian soft float glibc
+              Select a MIPS generic core
+              Select BR2_SOFT_FLOAT
             - MIPS32 little endian soft float glibc
+              Select a MIPS generic core
+              Select BR2_SOFT_FLOAT
+              Set BR2_TARGET_OPTIMIZATION to -EL
             - MIPS32 big endian microMIPS glibc
+              Select a MIPS generic core
+              Disable BR2_SOFT_FLOAT
+              Set BR2_TARGET_OPTIMIZATION to -mips16
             - MIPS32 little endian microMIPS glibc
+              Select a MIPS generic core
+              Disable BR2_SOFT_FLOAT
+              Set BR2_TARGET_OPTIMIZATION to -EL -mips16
             - MIPS32 big endian soft float microMIPS glibc
+              Select a MIPS generic core
+              Select BR2_SOFT_FLOAT
+              Set BR2_TARGET_OPTIMIZATION to -mips16
             - MIPS32 little endian soft float microMIPS glibc
+              Select a MIPS generic core
+              Select BR2_SOFT_FLOAT
+              Set BR2_TARGET_OPTIMIZATION to -EL -mips16
             - MIPS32 big endian uclibc
+              Not usable in Buildroot yet.
             - MIPS32 little endian uclibc
+              Not usable in Buildroot yet.
             - MIPS32 big endian soft float uclibc
+              Not usable in Buildroot yet.
             - MIPS32 little endian soft float uclibc
+              Not usable in Buildroot yet.
 
 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201103
        bool "Sourcery CodeBench PowerPC 2011.03"
@@ -130,12 +217,21 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201103
          glibc 2.13, gdb 7.2.50 and kernel headers 2.6.38. It has
          support for the following variants:
             - 603 glibc, 32 bits
+             Select a generic PowerPC core
+             Disable BR2_SOFT_FLOAT
             - 603 soft float glibc, 32 bits
+             Select a generic PowerPC core
+             Enable BR2_SOFT_FLOAT
             - e600 altivec glibc, 32 bits
+              Set BR2_TARGET_OPTIMIZATION to -te600
             - e500v1 glibc, 32 bits
+              Set BR2_TARGET_OPTIMIZATION to -te500v1
             - e500v2 glibc, 32 bits
+              Set BR2_TARGET_OPTIMIZATION to -te500v2
             - e500mc glibc, 32 bits
+              Set BR2_TARGET_OPTIMIZATION to -te500mc
             - 970 glibc hard-float, 64 bits
+              Set BR2_TARGET_OPTIMIZATION to -m64
 
 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201009
        bool "Sourcery CodeBench PowerPC 2010.09"
@@ -148,12 +244,21 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201009
          glibc 2.11, gdb 7.2.50 and kernel headers 2.6.35.2. It has
          support for the following variants:
             - 603 glibc, 32 bits
+             Select a generic PowerPC core
+             Disable BR2_SOFT_FLOAT
             - 603 soft float glibc, 32 bits
+             Select a generic PowerPC core
+             Enable BR2_SOFT_FLOAT
             - e600 altivec glibc, 32 bits
+              Set BR2_TARGET_OPTIMIZATION to -te600
             - e500v1 glibc, 32 bits
+              Set BR2_TARGET_OPTIMIZATION to -te500v1
             - e500v2 glibc, 32 bits
+              Set BR2_TARGET_OPTIMIZATION to -te500v2
             - e500mc glibc, 32 bits
+              Set BR2_TARGET_OPTIMIZATION to -te500mc
             - 970 glibc hard-float, 64 bits
+              Set BR2_TARGET_OPTIMIZATION to -m64
 
 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201103
        bool "Sourcery CodeBench SH 2011.03"
@@ -166,9 +271,13 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201103
          glibc 2.13, uClibc 0.9.30, gdb 7.2.50 and kernel headers
          2.6.38. It has support for the following variants:
             - SH4A, glibc, little endian
+              Default.
             - SH4A, glibc, big endian
+              Add -mb to BR2_TARGET_OPTIMIZATION
             - SH4A, uClibc, little endian
+              Not usable in Buildroot yet.
             - SH4A, uClibc, big endian
+              Not usable in Buildroot yet.
 
 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201009
        bool "Sourcery CodeBench SH 2010.09"
@@ -181,9 +290,13 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201009
          glibc 2.11, uClibc 0.9.30, gdb 7.2.50 and kernel headers
          2.6.35.2. It has support for the following variants:
             - SH4A, glibc, little endian
+              Default.
             - SH4A, glibc, big endian
+              Add -mb to BR2_TARGET_OPTIMIZATION
             - SH4A, uClibc, little endian
+              Not usable in Buildroot yet.
             - SH4A, uClibc, big endian
+              Not usable in Buildroot yet.
 
 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH2A_201103
        bool "Sourcery CodeBench SH 2011.03"
@@ -230,9 +343,14 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201109
          binutils 2.21.53, glibc 2.13, gdb 7.2.50 and kernel headers
          3.0.1. It has support for the following variants:
            - Intel Pentium 4, glibc, 32 bits
+              Default, nothing special to do.
             - Intel Atom, glibc, 32 bits
+              Select an Atom core
             - Intel Xeon, glibc, 64 bits
+              Set BR2_TARGET_OPTIMIZATION to -m64
             - Intel Core 2, glibc, 64 bits
+              Select a Core 2 core
+              Set BR2_TARGET_OPTIMIZATION to -m64
 
 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201009
        bool "Sourcery CodeBench x86/x86_64 2010.09"
@@ -245,9 +363,14 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201009
          binutils 2.20, glibc 2.11, gdb 7.2.50 and kernel headers
          2.6.35.2. It has support for the following variants:
            - Intel Pentium 4, glibc, 32 bits
+              Default, nothing special to do.
             - Intel Atom, glibc, 32 bits
+              Select an Atom core
             - Intel Xeon, glibc, 64 bits
+              Set BR2_TARGET_OPTIMIZATION to -m64
             - Intel Core 2, glibc, 64 bits
+              Select a Core 2 core
+              Set BR2_TARGET_OPTIMIZATION to -m64
 
 config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2011R1
        bool "Blackfin.uclinux.org 2011R1-RC4"