summaryrefslogtreecommitdiff
path: root/toolchain
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>2016-11-07 02:20:13 +0100
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2016-11-23 22:19:27 +0100
commit25429ba260df5689e734721e9c1e8bc017dc5e95 (patch)
tree052b43edeefe2bc7d4bb1233be051a7170cce41f /toolchain
parenta66b8191f4c57b11874bb29c5d49e244f727d21a (diff)
toolchain-external-codesourcery-x86: new package
This commit adds a new package for the Sourcery CodeBench external toolchain for the i386/x86_64 architecture. The legacy implementation is removed. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Romain Naour <romain.naour@gmail.com> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Reviewed-by: Romain Naour <romain.naour@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'toolchain')
-rw-r--r--toolchain/toolchain-external/Config.in33
-rw-r--r--toolchain/toolchain-external/toolchain-external-codesourcery-x86/Config.in29
-rw-r--r--toolchain/toolchain-external/toolchain-external-codesourcery-x86/Config.in.options9
-rw-r--r--toolchain/toolchain-external/toolchain-external-codesourcery-x86/toolchain-external-codesourcery-x86.hash3
-rw-r--r--toolchain/toolchain-external/toolchain-external-codesourcery-x86/toolchain-external-codesourcery-x86.mk12
-rw-r--r--toolchain/toolchain-external/toolchain-external.hash5
-rw-r--r--toolchain/toolchain-external/toolchain-external.mk3
7 files changed, 55 insertions, 39 deletions
diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in
index 2689c91dd..cddfca8a4 100644
--- a/toolchain/toolchain-external/Config.in
+++ b/toolchain/toolchain-external/Config.in
@@ -38,6 +38,7 @@ source "toolchain/toolchain-external/toolchain-external-codesourcery-sh/Config.i
# x86/x86_64 (use amd64 toolchain by default for AMD64)
source "toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in"
+source "toolchain/toolchain-external/toolchain-external-codesourcery-x86/Config.in"
config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A
bool "Arago ARMv7 2011.09"
@@ -84,36 +85,6 @@ config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE
This toolchain uses software-floating point.
-config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86
- bool "Sourcery CodeBench x86/x86_64 2012.09"
- depends on BR2_i386 || BR2_x86_64
- depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
- depends on !BR2_STATIC_LIBS
- depends on !BR2_x86_jaguar
- depends on !BR2_x86_steamroller
- select BR2_TOOLCHAIN_EXTERNAL_GLIBC
- select BR2_TOOLCHAIN_HAS_SSP
- select BR2_TOOLCHAIN_HAS_NATIVE_RPC
- select BR2_INSTALL_LIBSTDCPP
- select BR2_HOSTARCH_NEEDS_IA32_LIBS
- select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
- select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
- help
- Sourcery CodeBench toolchain for the x86/x86_64
- architectures, from Mentor Graphics. It uses gcc 4.7.2,
- binutils 2.23.51, glibc 2.16, gdb 7.4.50 and kernel headers
- 3.5.4. It has support for the following variants:
- - Intel Pentium 4, glibc, 32 bits
- Default for x86, nothing special to do.
- - Intel Atom, glibc, 32 bits
- Select an Atom core
- - Intel Xeon, glibc, 64 bits
- Default for x86_64, nothing special to do.
- - Intel Core 2, glibc, 64 bits
- Select a Core 2 core
- Other architecture variants (beyond Pentium-4/Xeon) are
- supported as well, but glibc is not optimised for it.
-
config BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS
bool "Musl 1.1.12 toolchain"
depends on (BR2_arm && BR2_ARM_EABI && BR2_USE_MMU) || \
@@ -220,7 +191,6 @@ config BR2_TOOLCHAIN_EXTERNAL_PREFIX
default "arceb-linux" if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC && BR2_arceb
default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A
default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE
- default "i686-pc-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86
default "arm-linux-musleabi" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_arm && BR2_ARM_EABI
default "arm-linux-musleabihf" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_arm && BR2_ARM_EABIHF
default "armeb-linux-musleabi" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_armeb
@@ -288,6 +258,7 @@ source "toolchain/toolchain-external/toolchain-external-codesourcery-sh/Config.i
# x86/x86_64
source "toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in.options"
+source "toolchain/toolchain-external/toolchain-external-codesourcery-x86/Config.in.options"
if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-x86/Config.in b/toolchain/toolchain-external/toolchain-external-codesourcery-x86/Config.in
new file mode 100644
index 000000000..bcbdd2693
--- /dev/null
+++ b/toolchain/toolchain-external/toolchain-external-codesourcery-x86/Config.in
@@ -0,0 +1,29 @@
+config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86
+ bool "Sourcery CodeBench x86/x86_64 2012.09"
+ depends on BR2_i386 || BR2_x86_64
+ depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
+ depends on !BR2_STATIC_LIBS
+ depends on !BR2_x86_jaguar
+ depends on !BR2_x86_steamroller
+ select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+ select BR2_TOOLCHAIN_HAS_SSP
+ select BR2_TOOLCHAIN_HAS_NATIVE_RPC
+ select BR2_INSTALL_LIBSTDCPP
+ select BR2_HOSTARCH_NEEDS_IA32_LIBS
+ select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
+ select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
+ help
+ Sourcery CodeBench toolchain for the x86/x86_64
+ architectures, from Mentor Graphics. It uses gcc 4.7.2,
+ binutils 2.23.51, glibc 2.16, gdb 7.4.50 and kernel headers
+ 3.5.4. It has support for the following variants:
+ - Intel Pentium 4, glibc, 32 bits
+ Default for x86, nothing special to do.
+ - Intel Atom, glibc, 32 bits
+ Select an Atom core
+ - Intel Xeon, glibc, 64 bits
+ Default for x86_64, nothing special to do.
+ - Intel Core 2, glibc, 64 bits
+ Select a Core 2 core
+ Other architecture variants (beyond Pentium-4/Xeon) are
+ supported as well, but glibc is not optimised for it.
diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-x86/Config.in.options b/toolchain/toolchain-external/toolchain-external-codesourcery-x86/Config.in.options
new file mode 100644
index 000000000..65b62f323
--- /dev/null
+++ b/toolchain/toolchain-external/toolchain-external-codesourcery-x86/Config.in.options
@@ -0,0 +1,9 @@
+if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86
+
+config BR2_TOOLCHAIN_EXTERNAL_PREFIX
+ default "i686-pc-linux-gnu"
+
+config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL
+ default "toolchain-external-codesourcery-x86"
+
+endif
diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-x86/toolchain-external-codesourcery-x86.hash b/toolchain/toolchain-external/toolchain-external-codesourcery-x86/toolchain-external-codesourcery-x86.hash
new file mode 100644
index 000000000..a003f7ab3
--- /dev/null
+++ b/toolchain/toolchain-external/toolchain-external-codesourcery-x86/toolchain-external-codesourcery-x86.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 ea804cf02014369da52abc4f64e91e96bde2dd2230aca96109459013d4545458 ia32-2012.09-62-i686-pc-linux-gnu-i386-linux.tar.bz2
+sha256 1a9519e415a1e6892c760bf21f7e98f3a633a9d1c5bb8781a96d338e4dd62717 ia32-2012.09-62-i686-pc-linux-gnu.src.tar.bz2
diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-x86/toolchain-external-codesourcery-x86.mk b/toolchain/toolchain-external/toolchain-external-codesourcery-x86/toolchain-external-codesourcery-x86.mk
new file mode 100644
index 000000000..5ee6991c0
--- /dev/null
+++ b/toolchain/toolchain-external/toolchain-external-codesourcery-x86/toolchain-external-codesourcery-x86.mk
@@ -0,0 +1,12 @@
+################################################################################
+#
+# toolchain-external-codesourcery-x86
+#
+################################################################################
+
+TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_SITE = https://sourcery.mentor.com/public/gnu_toolchain/$(TOOLCHAIN_EXTERNAL_PREFIX)
+TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_VERSION = 2012.09-62
+TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_SOURCE = ia32-$(TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_VERSION)-$(TOOLCHAIN_EXTERNAL_PREFIX)-i386-linux.tar.bz2
+TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_ACTUAL_SOURCE_TARBALL = ia32-$(TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_VERSION)-$(TOOLCHAIN_EXTERNAL_PREFIX).src.tar.bz2
+
+$(eval $(toolchain-external-package))
diff --git a/toolchain/toolchain-external/toolchain-external.hash b/toolchain/toolchain-external/toolchain-external.hash
index b873abe98..8926bf87f 100644
--- a/toolchain/toolchain-external/toolchain-external.hash
+++ b/toolchain/toolchain-external/toolchain-external.hash
@@ -1,11 +1,6 @@
######################################
# Next hashes are all locally computed
-# Mentor's Sourcery CodeBench Lite toolchains
-# x86
-sha256 ea804cf02014369da52abc4f64e91e96bde2dd2230aca96109459013d4545458 ia32-2012.09-62-i686-pc-linux-gnu-i386-linux.tar.bz2
-sha256 1a9519e415a1e6892c760bf21f7e98f3a633a9d1c5bb8781a96d338e4dd62717 ia32-2012.09-62-i686-pc-linux-gnu.src.tar.bz2
-
# ARM toolchains from Texas Instrument's Arago project
# There is one source file that covers both binary distributions.
sha256 f2febf3b3c565536461ad4405f1bcb835d75a6afb2a8bec958a1248cb4b81fc7 arago-2011.09-armv7a-linux-gnueabi-sdk.tar.bz2
diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk
index 3cb902487..7e4539e19 100644
--- a/toolchain/toolchain-external/toolchain-external.mk
+++ b/toolchain/toolchain-external/toolchain-external.mk
@@ -56,9 +56,6 @@ define TOOLCHAIN_EXTERNAL_FIXUP_CMDS
rm -rf $(@D)/arago-2011.09/
endef
TOOLCHAIN_EXTERNAL_POST_EXTRACT_HOOKS += TOOLCHAIN_EXTERNAL_FIXUP_CMDS
-else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86),y)
-TOOLCHAIN_EXTERNAL_SITE = https://sourcery.mentor.com/public/gnu_toolchain/i686-pc-linux-gnu
-TOOLCHAIN_EXTERNAL_SOURCE = ia32-2012.09-62-i686-pc-linux-gnu-i386-linux.tar.bz2
else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS),y)
TOOLCHAIN_EXTERNAL_VERSION = 1.1.12
TOOLCHAIN_EXTERNAL_SITE = https://googledrive.com/host/0BwnS5DMB0YQ6bDhPZkpOYVFhbk0/musl-$(TOOLCHAIN_EXTERNAL_VERSION)