aboutsummaryrefslogtreecommitdiff
path: root/toolchain
Commit message (Collapse)AuthorAgeFilesLines
* toolchain: gcc bug 85180 is fixed in gcc >= 8.xGravatar Giulio Benetti4 days1-0/+1
| | | | | | | | | | | Gcc bug 85180 (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180) has been fixed on Gcc version >= 8.x, so this commit adjusts the BR2_TOOLCHAIN_HAS_GCC_BUG_85180 option to no longer be true when the gcc version is >= 8.x. Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com> Reviewed-by: Petr Vorel <petr.vorel@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* toolchain/toolchain-external-andes-nds32: disable static buildGravatar Baruch Siach2019-05-071-0/+1
| | | | | | | | | | | | | | | Buildroot does not support static build with glibc. Since this external toolchain uses glibc, disable static build with this toolchain. Fixes: http://autobuild.buildroot.net/results/3c93cfac81f15f4c18eb7ad578ad86bb7bcf1c12/ http://autobuild.buildroot.net/results/63994f51a2b224b66acfafe5b236249d867a507d/ http://autobuild.buildroot.net/results/96c3be922a96c50fbd8e68059f9ced8a2a75f9ab/ Cc: Nylon Chen <nylon7@andestech.com> Suggested-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* toolchain/toolchain-external-andes-nds32: new packageGravatar Nylon Chen2019-04-175-0/+39
| | | | | | | | | | | | | | | | | | | | | This commit adds a new package for the Andes external toolchain for the nds32 Little Endian architecture. https://github.com/vincentzwc/prebuilt-nds32-toolchain/releases/download/20180521/nds32le-linux-glibc-v3-upstream.tar.gz Signed-off-by: Che-Wei Chuang <cnoize@andestech.com> Signed-off-by: Greentime Hu <greentime@andestech.com> Signed-off-by: Nylon Chen <nylon7@andestech.com> [Thomas: - rename .mk and .hash files to carry the proper package name - fix <pkg>_SITE variable, which was incorrect - add prompt in Config.in - add missing include of Config.in in toolchain/toolchain-external/Config.in - add missing selects for RPC and SSP, since the toolchain supports both - drop BR2_TOOLCHAIN_EXTERNAL_URL option, the toolchain URL is provided by the .mk file] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* toolchain/toolchain-external-custom: support Linux 5.1Gravatar Clément Leger2019-04-071-0/+4
| | | | | Signed-off-by: Clement Leger <clement.leger@kalray.eu> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* toolchain: add BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_1Gravatar Clément Leger2019-04-071-0/+5
| | | | | Signed-off-by: Clement Leger <clement.leger@kalray.eu> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* toolchain-external: add a check for OpenMP supportGravatar Ed Blake2019-03-282-0/+21
| | | | | Signed-off-by: Ed Blake <ed.blake@sondrel.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* toolchain-external: introduce BR2_TOOLCHAIN_EXTERNAL_OPENMPGravatar Ed Blake2019-03-281-0/+8
| | | | | | | | Add a new option for custom external toolchains to enable OpenMP support. Signed-off-by: Ed Blake <ed.blake@sondrel.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* toolchain-external: enable OpenMP for supported toolchainsGravatar Ed Blake2019-03-2611-0/+11
| | | | | | | | | | | | | | | | | | | Enable OpenMP support in the following external toolchains: toolchain-external-arm-aarch64-be toolchain-external-arm-aarch64 toolchain-external-arm-arm toolchain-external-codescape-img-mips toolchain-external-codescape-mti-mips toolchain-external-codesourcery-amd64 toolchain-external-codesourcery-mips toolchain-external-linaro-aarch64-be toolchain-external-linaro-aarch64 toolchain-external-linaro-arm toolchain-external-linaro-armeb Signed-off-by: Ed Blake <ed.blake@sondrel.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* toolchain-external: introduce BR2_TOOLCHAIN_HAS_OPENMPGravatar Ed Blake2019-03-262-0/+7
| | | | | | | | Add new BR2_TOOLCHAIN_HAS_OPENMP option for toolchains with OpenMP support. Signed-off-by: Ed Blake <ed.blake@sondrel.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* toolchain/toolchain-external-custom: support Linux 5.0 kernel headersGravatar Joel Stanley2019-03-261-0/+4
| | | | | Signed-off-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* toolchain: add BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0Gravatar Joel Stanley2019-03-261-0/+5
| | | | | Signed-off-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* toolchain: set the ssp gcc option in kconfigGravatar Yann E. MORIN2019-03-132-17/+1
| | | | | | | | | | | | | | | | | | | | | Currently, we repeat all the SSP level selection deep down to the toolchain wrapper itself, where we eventually translate it to the actual SSP option to use. This is a bit redundant. Additionally, we will want to check that the toolchain actually supports that option (for those toolchain where it was backported). So, move the translation into kconfig, and add the qstrip'ed value to the additional flags passed to the wrapper. Add it before user-supplied opitons, to keep the previous behaviour (and allow anyone crazy-enough to override it with BR2_TARGET_OPTIMIZATION). Signed-off-by: "Yann E. MORIN" <yann.morin@orange.com> Cc: Matt Weber <matthew.weber@rockwellcollins.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Cc: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> Reviewed-by: Matthew Weber <matthew.weber@rockwellcollins.com> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
* toolchain: prepare to pass more additional CFLAGS via the wrapperGravatar Yann E. MORIN2019-03-131-3/+5
| | | | | | | | | | | | | | | Currently, we pass the user-supplied so-called target optimisation flags to the wrapper. We're going to have additional such CFLAGS to pass, so push-back the formatting loop to quote the options at the last moment. Reported-by: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: "Yann E. MORIN" <yann.morin@orange.com> Cc: Arnout Vandecappelle <arnout@mind.be> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Cc: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
* toolchain: add variadic MI thunk support flagGravatar Max Filippov2019-02-041-0/+13
| | | | | | | | | | | | | | | | | | | | | | | GCC uses thunk functions to adjust the 'this' pointer when calling C++ member functions in classes derived with multiple inheritance. Generation of thunk functions requires support from the compiler back end. In the absence of that support target-independent code in the C++ front end is used to generate thunk functions, but it does not support vararg functions. Support for this feature is currently missing in or1k and xtensa toolchains. Add hidden option BR2_TOOLCHAIN_SUPPORTS_VARIADIC_MI_THUNK that indicates presence of this feature in the toolchain. Add dependency to packages that require this feature to be built. Fixes: http://autobuild.buildroot.net/results/c9e660c764edbd7cf0ae54ab0f0f412464721446/ http://autobuild.buildroot.net/results/9a3bf4b411c418ea78d59e35d23ba865dd453890/ Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* Introduce the variable BR2_TOOLCHAIN_HAS_UCONTEXTGravatar Patrick Havelange2019-02-041-0/+10
| | | | | | | | | | It is set when the platform exposes the struct ucontext_t. This avoids duplication of logic inside each package requiring the use of that type. Signed-off-by: Patrick Havelange <patrick.havelange@essensium.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* toolchain-external: update Arm AArch64 toolchain 8.2-2018.11Gravatar Romain Naour2019-01-043-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | >From [1]: * All GCC 8.2 features. For details on GCC 8 release series. * Linaro specific pre-processor macros to ensure that this is a continuation from the Linaro releases. * Spectre v1 mitigation backport from upstream FSF trunk include the revisions. This is an initial backport of those mitigations in the GNU toolchain and should be regarded as support for prototyping and early access only. Moreover, while the backports include support for the other architectures, they are included for completeness and all issues regarding these patches must be taken up upstream in the https://gcc.gnu.org/bugzilla by reproducing the same with upstream FSF trunk. Arm is interested in feedback regarding these workarounds for Spectre v1. A description of the mitigation has been published on LWN.net. See "Release Note": [1] https://developer.arm.com/open-source/gnu-toolchain/gnu-a/downloads# Tested with qemu_aarch64_virt_defconfig. Signed-off-by: Romain Naour <romain.naour@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* toolchain-external: update Arm AArch64-BE toolchain 8.2-2018.11Gravatar Romain Naour2019-01-043-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | >From [1]: * All GCC 8.2 features. For details on GCC 8 release series. * Linaro specific pre-processor macros to ensure that this is a continuation from the Linaro releases. * Spectre v1 mitigation backport from upstream FSF trunk include the revisions. This is an initial backport of those mitigations in the GNU toolchain and should be regarded as support for prototyping and early access only. Moreover, while the backports include support for the other architectures, they are included for completeness and all issues regarding these patches must be taken up upstream in the https://gcc.gnu.org/bugzilla by reproducing the same with upstream FSF trunk. Arm is interested in feedback regarding these workarounds for Spectre v1. A description of the mitigation has been published on LWN.net. See "Release Note": [1] https://developer.arm.com/open-source/gnu-toolchain/gnu-a/downloads# Signed-off-by: Romain Naour <romain.naour@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* toolchain-external: update Arm ARM toolchain 8.2-2018.11Gravatar Romain Naour2019-01-043-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | >From [1]: * All GCC 8.2 features. For details on GCC 8 release series. * Linaro specific pre-processor macros to ensure that this is a continuation from the Linaro releases. * Spectre v1 mitigation backport from upstream FSF trunk include the revisions. This is an initial backport of those mitigations in the GNU toolchain and should be regarded as support for prototyping and early access only. Moreover, while the backports include support for the other architectures, they are included for completeness and all issues regarding these patches must be taken up upstream in the https://gcc.gnu.org/bugzilla by reproducing the same with upstream FSF trunk. Arm is interested in feedback regarding these workarounds for Spectre v1. A description of the mitigation has been published on LWN.net. See "Release Note": [1] https://developer.arm.com/open-source/gnu-toolchain/gnu-a/downloads# Tested with qemu_arm_vexpress_defconfig. Signed-off-by: Romain Naour <romain.naour@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* toolchain/toolchain-external-custom: support Linux 4.20 kernel headersGravatar Thomas Petazzoni2019-01-011-0/+4
| | | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* toolchain: add necessary options to support 4.20 kernel headersGravatar Thomas Petazzoni2019-01-011-0/+5
| | | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Merge branch 'next'Gravatar Peter Korsgaard2018-12-0211-39/+48
|\ | | | | | | Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
| * toolchain/toolchain-external-codescape-img-mips: rewrap Config.in help textGravatar Thomas Petazzoni2018-12-011-4/+4
| | | | | | | | | | | | | | | | | | | | Fixes the following check-package warnings: toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in:13: help text: <tab><2 spaces><62 chars> (http://nightly.buildroot.org/#writing-rules-config-in) toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in:14: help text: <tab><2 spaces><62 chars> (http://nightly.buildroot.org/#writing-rules-config-in) toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in:15: help text: <tab><2 spaces><62 chars> (http://nightly.buildroot.org/#writing-rules-config-in) Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * toolchain/toolchain-external-codescape-mti-mips: rewrap Config.in.help textGravatar Thomas Petazzoni2018-12-011-4/+4
| | | | | | | | | | | | | | | | | | | | Fix the following check-package warnings: toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in:14: help text: <tab><2 spaces><62 chars> (http://nightly.buildroot.org/#writing-rules-config-in) toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in:15: help text: <tab><2 spaces><62 chars> (http://nightly.buildroot.org/#writing-rules-config-in) toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in:16: help text: <tab><2 spaces><62 chars> (http://nightly.buildroot.org/#writing-rules-config-in) Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * toolchain/toolchain-external-codescape-mti-mips: bump to 2018.09-02Gravatar Paul Burton2018-12-013-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The 2016.05-06 toolchain we've had support for is pretty outdated at this point, so update to the latest 2018.09-02 version. Of note besides the typical component version bumps: - The toolchains are now provided by MIPS Tech LLC after its departure from Imagination Technologies. - The download site changed as a result of that. - The toolchains are now built targeting CentOS 6 rather than CentOS 5. Signed-off-by: Paul Burton <paul.burton@mips.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * toolchain/toolchain-external-codescape-img-mips: bump to 2018.09-02Gravatar Paul Burton2018-12-013-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The 2016.05-06 toolchain we've had support for is pretty outdated at this point, so update to the latest 2018.09-02 version. Of note besides the typical component version bumps: - The toolchains are now provided by MIPS Tech LLC after its departure from Imagination Technologies. - The download site changed as a result of that. - The toolchains are now built targeting CentOS 6 rather than CentOS 5. Signed-off-by: Paul Burton <paul.burton@mips.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * toolchain: bump ARC prebuild toolchain to arc-2018.09Gravatar Evgeniy Didin2018-11-293-9/+9
| | | | | | | | | | | | | | | | | | Lets update prebuilt ARC toolchain to the most recent arc-2018.09. Signed-off-by: Evgeniy Didin <Evgeniy.Didin@synopsys.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Cc: arc-buildroot@synopsys.com Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * toolchain: add 4.19.x choice for headersGravatar Baruch Siach2018-11-222-0/+9
| | | | | | | | | | Signed-off-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* | toolchain: CodeSourcery AMD64 affected by PR20006Gravatar Yann E. MORIN2018-11-292-0/+6
|/ | | | | | | Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Romain Naour <romain.naour@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* toolchain/toolchain-buildroot: enable glibc for all little-endian ARCs with ↵Gravatar Alexey Brodkin2018-11-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | atomic ops Initially we had a port only for ARCv2 cores but then with a simple change ARCompact cores got supported as well. So we generalize from BR2_archs to BR2_arcle as we haven't tried to get glibc working on big-endian ARCs yet. Also we never bothered to check avaialbility of atomic instructions in the core but in case of Glibc for ARC this is really a must, so we add this check here. Note in case of uClibc we may have system w/o HW atomics but: 1. Only single-core systems are allowed 2. Atomic instructions are emulated via arc_usr_cmpxchg syscall Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Cc: Peter Korsgaard <peter@korsgaard.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* toolchain: move glibc nsswitch.conf handling to a post-target hookGravatar Peter Korsgaard2018-10-212-10/+10
| | | | | | | | | | | | | | | | nsswitch.conf is processed both by the toolchain, nss-mdns and nss-myhostname without any guaranteed ordering in between. The toolchain package ensures that nsswitch.conf is available, and the two nss-* packages tweaks the content, so the toolchain processing should run before the nss-* ones. Toolchain is a dependency of all the packages, so ensure this is done by moving the toolchain handling to a post-target-install hook. Also move the variable to toolchain/toolchain/toolchain.mk where the virtual toolchain package is defined for clarity. Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* toolchain-external-arm-aarch64-be: fix check-package warningGravatar Thomas Petazzoni2018-10-201-1/+0
| | | | | | | | Fixes: toolchain/toolchain-external/toolchain-external-arm-aarch64-be/toolchain-external-arm-aarch64-be.mk:12: consecutive empty lines Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* toolchain-external: add fortran support option for custom external toolchainsGravatar Romain Naour2018-10-201-0/+8
| | | | | | | | | | If a custom external toolchain is used, we can't enable the fortran support. Add a new option for that. Signed-off-by: Romain Naour <romain.naour@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Cc: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* toolchain-external: add Arm AArch64-BE toolchain 8.2-2018.08Gravatar Romain Naour2018-10-205-0/+47
| | | | | | | | | | | | This is the same toolchain that was previously distributed by Linaro. [1] Switch default toolchain as this toolchain supersed the Linaro AArch64-BE toolchain. Only x86_64 host are supported, so keep Linaro toolchain for x86 host. [1] https://developer.arm.com/open-source/gnu-toolchain/gnu-a/downloads Signed-off-by: Romain Naour <romain.naour@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* toolchain-external: add Arm AArch64 toolchain 8.2-2018.08Gravatar Romain Naour2018-10-205-1/+47
| | | | | | | | | | | | | | This is the same toolchain that was previously distributed by Linaro. [1] Switch default toolchain as this toolchain supersed the Linaro AArch64 toolchain. Only x86_64 host are supported, so keep Linaro toolchain for x86 host. Tested with qemu_aarch64_virt_defconfig. [1] https://developer.arm.com/open-source/gnu-toolchain/gnu-a/downloads Signed-off-by: Romain Naour <romain.naour@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* toolchain-external: add Arm ARM toolchain 8.2-2018.08Gravatar Romain Naour2018-10-205-1/+58
| | | | | | | | | | | | | | This is the same toolchain that was previously distributed by Linaro. [1] Switch default toolchain as this toolchain supersed the Linaro ARM toolchain. Only x86_64 host are supported, so keep Linaro toolchain for x86 host. Tested with qemu_arm_vexpress_defconfig. [1] https://developer.arm.com/open-source/gnu-toolchain/gnu-a/downloads Signed-off-by: Romain Naour <romain.naour@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* toolchain/toolchain-wrapper: add BR2_SSP_* supportGravatar Matt Weber2018-10-202-0/+17
| | | | | | | Migrate the stack protection flag management into the wrapper. Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* toolchain/toolchain-wrapper: add BR2_RELRO_Gravatar Matt Weber2018-10-202-2/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The RELRO/PIE flags are currently passed via CFLAGS/LDFLAGS and this patch proposes moving them to the toolchain wrapper. (1) The flags should _always_ be passed, without leaving the possibility for any package to ignore them. I.e, when BR2_RELRO_FULL=y is used in a build, all executables should be built PIE. Passing those options through the wrapper ensures they are used during the build of all packages. (2) Some options are incompatible with -fPIE. For example, when building object files for a shared libraries, -fPIC is used, and -fPIE shouldn't be used in combination with -fPIE. Similarly, -r or -static are directly incompatible as they are different link time behaviors then the intent of PIE. Passing those options through the wrapper allows to add some "smart" logic to only pass -fPIE/-pie when relevant. (3) Some toolchain, kernel and bootloader packages may want to explicitly disable PIE in a build where the rest of the userspace has intentionally enabled it. The wrapper provides an option to key on the -fno-pie/-no-pie and bypass the appending of RELRO flags. The current Kernel and U-boot source trees include this option. https://github.com/torvalds/linux/commit/8438ee76b004ef66d125ade64c91fc128047d244 https://github.com/u-boot/u-boot/commit/6ace36e19a8cfdd16ce7c02625edf36864897bf5 If using PIE with a older Kernel and/or U-boot version, a backport of these changes might be required. However this patchset also uses the __KERNEL__ and __UBOOT__ defines as a way to disable PIE. NOTE: The current implementation via CFLAGS/LDFLAGS has caused some build time failures as the conditional logic doesn't yet exist in Buildroot: https://bugs.busybox.net/show_bug.cgi?id=11206 https://bugs.busybox.net/show_bug.cgi?id=11321 Good summary of the most common build failures related to enabling pie: https://wiki.ubuntu.com/SecurityTeam/PIE [Peter: minor cleanups] Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* pkg-toolchain-external.mk: fix s/CC_TARGET_ARCH/GCC_TARGET_ARCH/ typoGravatar Peter Korsgaard2018-10-011-1/+1
| | | | | | | | | commit e0d14fb21b (toolchain-external: drop no longer needed CC_TARGET_<foo>_ variables) dropped the CC_TARGET_* variables, but missed one. Fix that. Reported-by: Mark Corbin <mark.corbin@embecosm.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* toolchain-external: drop no longer needed CC_TARGET_<foo>_ variablesGravatar Thomas Petazzoni2018-10-011-32/+24
| | | | | | | | | | | | | | | Since the introduction of the GCC_TARGET_<foo> variables in arch/arch.mk in commit bd0640a2139119e2fdb4b384ebf32d1edcb0fdaa ("arch: allow GCC target options to be optionally overwritten") and the removal of the BR2_GCC_TARGET_CPU_REVISION, the CC_TARGET_<foo>_ variables in pkg-toolchain-external.mk map 1:1 with the corresponding GCC_TARGET_<foo> variables. So let's drop the CC_TARGET_<foo>_ variables, and use directly the GCC_TARGET_<foo> ones. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* arch: drop BR2_GCC_TARGET_CPU_REVISION optionGravatar Thomas Petazzoni2018-10-011-4/+0
| | | | | | | | | | | In commit 325bb37942f8d3826dab9dc6e88b25234e67a2cf, support for the Blackfin architecture was removed. This was our only use of BR2_GCC_TARGET_CPU_REVISION, and since this config option somewhat complicates the calculation of the --with-cpu/-mcpu option values, let's drop it. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* arch: add support for RISC-V 64-bit (riscv64) architectureGravatar Mark Corbin2018-09-231-2/+4
| | | | | | | | | | | | | | This enables a riscv64 system to be built with a Buildroot generated toolchain (gcc >= 7.x, binutils >= 2.30, glibc only). This configuration has been used to successfully build a qemu-bootable riscv-linux-4.15 kernel (https://github.com/riscv/riscv-linux.git). Signed-off-by: Mark Corbin <mark.corbin@embecosm.com> [Thomas: - simplify arch.mk.riscv by directly setting GCC_TARGET_ARCH - simplify glibc.mk changes by using GLIBC_CONF_ENV.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* arch: allow GCC target options to be optionally overwrittenGravatar Mark Corbin2018-09-231-11/+11
| | | | | | | | | | | | | The BR2_GCC_TARGET_* configuration variables are copied to corresponding GCC_TARGET_* variables which may then be optionally modified or overwritten by architecture specific makefiles. All makefiles must use the new GCC_TARGET_* variables instead of the BR2_GCC_TARGET_* versions. Signed-off-by: Mark Corbin <mark.corbin@embecosm.com> [Thomas: simplify include of arch/arch.mk] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* toolchain: add 4.18.x choice for headersGravatar Bernd Kuhls2018-09-062-0/+9
| | | | | | | Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> (cherry picked from commit 7f62d8122bc42b84608cad34fb005b4870c143d5) Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* toolchain: improve musl check to support static toolchainsGravatar Thomas Petazzoni2018-08-212-8/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The check_musl function currently builds a program and verifies if the program interpreter starts with /lib/ld-musl. While this works fine for dynamically linked programs, this obviously doesn't work for a purely static musl toolchain such as [1]. There is no easy way to identify a toolchain as using the musl C library. For glibc, dynamic linking is always supported, so we look at the dynamic linker name. For uClibc, there is a distinctive uClibc_config.h header file. There is no such distinctive feature in musl. We end up resorting to looking for the string MUSL_LOCPATH, which is used by musl locale_map.c source file. This string has been present in musl since 2014. It certainly isn't a very stable or convincing solution to identify the C library as being musl, but it's the best we could find. Note that we are sure there is a libc.a file, because the check_unusable_toolchain function checks that there is a such a file. [1] http://autobuild.buildroot.net/toolchains/tarballs/br-arm-musl-static-2018.05.tar.bz2 Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* toolchain: add BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS hidden optionGravatar Fabrice Fontaine2018-08-181-10/+27
| | | | | | | | | | | Add BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS variable and use it in BR2_TOOLCHAIN_HAS_GCC_BUG_64735. This new variable will be used to select boost atomic when lock-free atomic ints are not available Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* toolchain-external-linaro-aarch64-be: new packageGravatar Ofer Heifetz2018-06-285-0/+49
| | | | | | | | | | | This commit adds a new package for the Linaro external toolchain for the AArch64 Big Endian architecture. https://releases.linaro.org/components/toolchain/binaries/7.3-2018.05 Signed-off-by: Ofer Heifetz <oferh@marvell.com> Reviewed-by: Romain Naour <romain.naour@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* toolchain: bump ARC prebuild toolchain to arc-2018.03Gravatar Evgeniy Didin2018-06-283-8/+8
| | | | | | | | | Lets update prebuilt ARC toolchain to the most recent arc-2018.03. Signed-off-by: Evgeniy Didin <didin@synopsys.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Cc: arc-buildroot@synopsys.com Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* toolchain-external: bump version of Linaro ARMeb toolchain to 7.3-2018.05Gravatar Romain Naour2018-06-233-9/+9
| | | | | | | https://releases.linaro.org/components/toolchain/binaries/7.3-2018.05 Signed-off-by: Romain Naour <romain.naour@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* toolchain-external: bump version of Linaro ARM toolchain to 7.3-2018.05Gravatar Romain Naour2018-06-233-9/+9
| | | | | | | | | https://releases.linaro.org/components/toolchain/binaries/7.3-2018.05 Tested with qemu_arm_vexpress_defconfig. Signed-off-by: Romain Naour <romain.naour@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* toolchain-external: bump version of Linaro AArch64 toolchain to 7.3-2018.05Gravatar Romain Naour2018-06-233-7/+7
| | | | | | | | | https://releases.linaro.org/components/toolchain/binaries/7.3-2018.05 Tested with qemu_aarch64_virt_defconfig. Signed-off-by: Romain Naour <romain.naour@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>