summaryrefslogtreecommitdiffstats
path: root/toolchain/Config.in
Commit message (Collapse)AuthorAgeFilesLines
* toolchain: add BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0Joel Stanley2019-03-271-0/+5
| | | | | | | Signed-off-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> (cherry picked from commit 3385946b7ab709cc89aeee67195fb3bdd2422145) Signed-off-by: Joel Stanley <joel@jms.id.au>
* toolchain: add variadic MI thunk support flagMax 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_UCONTEXTPatrick 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: add necessary options to support 4.20 kernel headersThomas 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'Peter Korsgaard2018-12-021-0/+5
|\ | | | | | | Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
| * toolchain: add 4.19.x choice for headersBaruch Siach2018-11-221-0/+5
| | | | | | | | | | Signed-off-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* | toolchain: CodeSourcery AMD64 affected by PR20006Yann E. MORIN2018-11-291-0/+5
|/ | | | | | | 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: add 4.18.x choice for headersBernd Kuhls2018-09-061-0/+5
| | | | | | | 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: add BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS hidden optionFabrice 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: add 4.17.x choice for headersFabio Estevam2018-06-041-0/+5
| | | | | Signed-off-by: Fabio Estevam <festevam@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* Merge branch 'next'Peter Korsgaard2018-06-021-5/+5
|\ | | | | | | Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
| * toolchain: add gcc 8 entryRomain Naour2018-05-301-0/+5
| | | | | | | | | | | | | | | | | | In order to add gcc 8 support for internal and external toolchain in follow-up commits, introduce BR2_TOOLCHAIN_GCC_AT_LEAST_8 symbol. Signed-off-by: Romain Naour <romain.naour@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * toolchain: remove BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDSBaruch Siach2018-05-131-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | Commit b9882925a4 (toolchain: introduce BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS) added this symbol to identify Blackfin toolchains without shadow passwords support. We no longer support Blackfin. Cc: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* | toolchain: allow disabling packages affected by gcc bug 85180Matt Weber2018-05-301-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Works around https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180 which is an issue where the Microblaze architecture had code that caused a infinite recursion while optimizing in versions of GCC earlier than 8.x. More BR discussion can be found on this thread. http://buildroot-busybox.2317881.n4.nabble.com/autobuild-buildroot-net-Build-results-for-2018-04-25-td192721.html Resolves: http://autobuild.buildroot.net/results/b42d68c66d8ea035845a28c5530ef0682fd95713 (boost) http://autobuild.buildroot.net/results/af976a4805fb8b3f0c17a8e3a1f901b2255caa0b (flare-engine) http://autobuild.buildroot.net/results/d20/d20700bd538ba1e9d45ab8a61ecbbba1a320ef38 (gst-ffmpeg) CC: Romain Naour <romain.naour@gmail.com> Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* | toolchain: GCC bug 85862Matt Weber2018-05-211-0/+8
|/ | | | | | | | | | | | | | | | | GCC < 7.x hangs while building libnss for the Microblaze Arch. Discovered by http://autobuild.buildroot.net/results/158e8ebb39713e1b436a5cc1a1916f46c30694df Reported: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85862 Simlar to: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=49218 [Peter: tweak ecryptfs comment, add comment/dependencies for qt5webengine] Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* toolchain, gcc, gdb, binutils, uclibc: remove Blackfin codeThomas Petazzoni2018-04-151-1/+0
| | | | | | | This commit removes Blackfin related code from all toolchain code and components. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* toolchain: add 4.16.x choice for headersBernd Kuhls2018-04-091-0/+5
| | | | | | Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> Tested-by: Luca Ceresoli <luca@lucaceresoli.net> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* toolchain/*/Config.in: re-wrap help textRicardo Martincoski2018-04-011-4/+6
| | | | | | | | | ... to follow the convention <tab><2 spaces><62 chars>. Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Cc: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* toolchain/*/Config.in: fix attributes orderRicardo Martincoski2018-04-011-1/+1
| | | | | | | ... to follow the convention: type, default, depends on, select, help. Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* toolchain: merge toolchain-common.in to Config.inRicardo Martincoski2018-04-011-1/+470
| | | | | | | | | | | | | | | | | | toolchain-common.in is a Config.in file with an uncommon name. It is just included by toolchain/Config.in, and toolchain/Config.in is not that long, so instead of renaming the file, merge it to toolchain/Config.in. Move the raw contents from the file to the exact location it is currently included in order to not change the order in the menu. Update the references in the manual as well. Suggested-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> Cc: Arnout Vandecappelle <arnout@mind.be> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* arch/bfin: internal backend not suitable for some coresYann E. MORIN2017-10-021-4/+0
| | | | | | | | | | | | Some cores are not supported by upstream gcc. Use the newly-introduced symbol to state so, rather than have the exclusion in the toolchain choice. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* arch/mips: internal backend not suitable for some coresYann E. MORIN2017-10-021-2/+0
| | | | | | | | | | | | Some cores are not supported by upstream gcc. Use the newly-introduced symbol to state so, rather than have the exclusion in the toolchain choice. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* arch/csky: internal backend not suitableYann E. MORIN2017-10-021-1/+0
| | | | | | | | | | | | | Upstream gcc does not have support for C-Sky, and we do not have a vendor tree for it either (yet?). Use the newly-introduced symbol to state so, rather than have the exclusion in the toolchain choice. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* arch: add option to disable internal toolchain backendYann E. MORIN2017-10-021-0/+1
| | | | | | | | | | | | | | | | | | | | Some architectures or specific cores do not have support in upstream gcc. Currently, they are individually listed as exclusions in the toolchain choice. This poses a maintainance burden, as the knowledge about what gcc version supports what architecture is split across many places: the toolchain choice, the gcc version choice, the external toolchains. As a first step, add a blind option that architectures or individual cores may select to indicate they lack support in our internal backend. Actual use of the option will come in followup patches. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* toolchain/buildroot: not available for a few mips coresYann E. MORIN2017-08-291-0/+2
| | | | | | | | | | | | | | | | | | Commit 1b974425 (MIPS: add support for M6201 cores) explained that the new core was not supported by upstream gcc, and as of gcc-8-trunk that's still the case. Ditto for 3cfbeb83 (MIPS: add support for P6600 cores). This means that we currently allow to build an internal tolchain for those cores, yet we have no suitable gcc version. Disable the internal backend in this case. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* toolchain: introduce BR2_TOOLCHAIN_HAS_FULL_GETTEXTThomas Petazzoni2017-07-041-0/+1
| | | | | | | | | | | | | This new boolean is true if the toolchain provides a built-in full-featured implementation of gettext (glibc), and false if only a stub implementation is provided (uclibc, musl). This will be used in follow-up commits to decide whether libintl needs to be built by gettext or not. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* toolchain: disable PIE for static build with muslBaruch Siach2017-05-231-1/+1
| | | | | | | | | | | | | | | | | | As mentioned in commit 3c93901bcd2 (toolchain: add hidden symbol for PIE support), support for static PIE using musl requires a gcc patch[1]. Buildroot doesn't carry this patch. Don't enable BR2_TOOLCHAIN_SUPPORTS_PIE in static build with musl. Fixes: http://autobuild.buildroot.net/results/d19/d19bcfcfb33cc5f5b082b97bbd5852d479823b97/ http://autobuild.buildroot.net/results/91f/91f7c6954c337b03f5ac141050d9b1bee1623376/ http://autobuild.buildroot.net/results/996/996116da9241686110b9525eed08cc5acfd379a6/ [1] https://github.com/richfelker/musl-cross-make/blob/b854a42fc1ea19b8c4ec7104848f9d1a6d7995f0/patches/gcc-6.3.0/0010-static-pie-support.diff Acked-by: Waldemar Brodkorb <wbx@openadk.org> Signed-off-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* arch: add support for the csky architectureGuo Ren2017-03-041-0/+1
| | | | | | | | This commit provides basic support for the C-SKY architecture. Signed-off-by: Guo Ren <ren_guo@c-sky.com> [Thomas: minor tweaks.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* bfin: change default to bf532, internal toolchain !bf6xxWaldemar Brodkorb2016-08-271-0/+4
| | | | | | | | | The default Blackfin processor in Buildroot isn't supported by gcc 6.1.0, so use bf532 as default. Disable any bf6xx processors for internal toolchain users. Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* uclibc: disable PIE for microblazeWaldemar Brodkorb2016-08-011-1/+1
| | | | | | | | | PIE is not supported at the moment for uClibc-ng/microblaze. Fixes: http://autobuild.buildroot.net/results/a5848753eb0e2b0ddf55e226c45b85fd3a1c84f3/ Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* toolchain: Bump ARC tools to arc-2016.09-eng007 and enable PIEVlad Zakharov2016-08-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As described at: 4520524ba055706236db9f00dd79f1b2e2e87fde this commit continues a series of updates of ARC tools. This time we're updating tools to arc-2016.09-eng007 tag plus a couple of fixes on top of it that will all make its way in the next engineering build. We hope this patch will cure most buildroot ARC failures as it contains important fixes: 1) PIE fix. We have added PIE support to ARC toolchain at last. So that should prevent breakage of many packages. As ARC now supports PIE we remove ARC from BR2_TOOLCHAIN_SUPPORTS_PIE exclusion in toolchain/Config.in file. 2) Assembler fix. This patch also have changes that fixes frequent assembler failures, e.g.: http://autobuild.buildroot.net/results/543/5430b902d900943a34c1888e7e410bd5df367bc2// We still keep GDB as it is of arc-2016.03 release because there're some issues we'd like to resolve before releasing it to wider audience. So again note this is next engineering builds of arc-2016.09 series and it might have all kinds of breakages, please don't use it for production builds. Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com> [Thomas: remove uClibc PIE patch, since we have bumped uClibc in the mean time, to a version that contains the PIE fix for ARC.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* toolchain: add hidden symbol for PIE supportWaldemar Brodkorb2016-07-241-0/+3
| | | | | | | | | | | | | uClibc-ng does not support PIE for some architectures as arc and m68k. It isn't implemented in the static linking case, too. With musl toolchains you might have static PIE support with little patching of gcc. Static linking for GNU libc isn't enabled in buildroot. Fixup any package using special treatment of PIE. (grep -ir pie package/*/*.mk) Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> [Thomas: use positive logic.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* toolchain-buildroot: add bfin supportWaldemar Brodkorb2016-07-041-1/+0
| | | | | | | | With gcc 6.1.0 and binutils 2.26 internal bfin toolchain can be used. A gcc patch is required, which was reported upstream. Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* toolchain: improve SSP logicVicente Olivert Riera2016-05-231-2/+0
| | | | | | | | | | | | | | | | | | | | | | Don't enable SSP support on external toolchains just because they use glibc or musl. Instead of that, make the external toolchains explictily declare if they support SSP or not. And also add a check to detect SSP support when using custom external toolchains. For internal toolchains we always enable SSP support for glibc and musl. Fixes: http://autobuild.buildroot.net/results/ac7c9b3ad2e52abfe6b79a80045e4218eeb87175/ Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> [Thomas: - remove uClibc-specific SSP check, since there is now a generic check being done. - send potential compilation errors caused by the SSP check to oblivion, in order to avoid causing confusion for the user. - add autobuilder reference.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* toolchain: like glibc, musl always provides SSP supportThomas Petazzoni2015-10-181-0/+1
| | | | | | | | | Make sure BR2_TOOLCHAIN_USES_MUSL selects BR2_TOOLCHAIN_HAS_SSP since musl always provides SSP support (like glibc). Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* toolchain: make IPv6 mandatory for external toolchainsGustavo Zacarias2015-04-221-2/+0
| | | | | | | | | | | | Remove BR2_INET_IPV6 select for predefined external toolchains. Remove the (non)IPv6 option prompt since it's now mandatory. And force the toolchain check now that internal uclibc is always built with IPv6 support and external non-IPv6 toolchains are disallowed. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* toolchain: remove LARGEFILE selectsGustavo Zacarias2015-04-011-2/+0
| | | | | | | | There's no need for toolchains or the user to declare largefile support since it's now mandatory. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* toolchain: disable internal for blackfinGustavo Zacarias2015-03-171-0/+1
| | | | | | | | | | The internal toolchain was a "best effort" approach - we strived to make it build properly and all but it's mostly untested. Since it's got issues disable it until it's properly fixed and tested and leave the official ADI toolchain instead. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* toolchain: Enable the internal toolchain for nios2Ezequiel GarcĂ­a2015-02-191-1/+0
| | | | | | | For now we can only support glibc. Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* toolchain: enable internal for aarch64Gustavo Zacarias2014-04-241-1/+1
| | | | | | | | | Enable the internal toolchain backend for aarch64. Tested with arm_foundationv8_defconfig and ARMs foundation v8 emulator. Both glibc & eglibc work. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* toolchain: add a hidden config option to enable the toolchain packageFabio Porcedda2014-04-161-0/+6
| | | | | | | | | | | | | | | | The usual way to enable a package using the package infrastructure is to use a config option so instead to add the toolchain package to the TARGETS variable in the Makefile add a config option like all the other toolchain packages. [Thomas: remove comment that no longer made sense in the main Makefile, and add a comment above the new hidden Config.in option to explain what it is useful for.] Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com> Cc: Arnout Vandecappelle <arnout@mind.be> Cc: Yann E. MORIN <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* toolchain: introduce a toolchain knob for NPTLThomas Petazzoni2014-02-221-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | As our architecture support expands to a number of architectures that do not implement NPTL threading, and the number of packages that depend on NPTL specific features, it has become necessary to be able to know whether the toolchain has NPTL support or not. This commit adds a new BR2_TOOLCHAIN_HAS_THREADS_NPTL hidden Config.in option that allows packages to know whether NPTL is available or not. This hidden option is: * Automatically enabled when glibc/eglibc or musl toolchains are used, either internal or external. * Automatically enabled when an internal uClibc toolchain with NPTL support is configured. It is left disabled otherwise for internal uClibc toolchains. * Configured according to a visible Config.in option for custom external uClibc toolchains. [Peter: factor _EXTERNAL_HAS_THREADS in single if as suggested by Arnout] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* toolchain: enable microblaze toolchainSpenser Gilliland2013-12-061-1/+1
| | | | | | | | | | | | | | | | This commit allows to build an internal toolchain for the Microblaze architecture, with either glibc or eglibc. Note that we add an explicit list of architectures that are supported by uClibc, and Microblaze is not part of them, because it currently doesn't build for this architecture. [Thomas: add better commit log, add architecture dependencies on uClibc, to avoid selecting uClibc on Microblaze] Signed-off-by: Spenser Gilliland <spenser@gillilanding.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* toolchain-external: add support for musl C libraryThomas Petazzoni2013-10-091-0/+9
| | | | | | | | | | | | | | | | | | This commit adds support for external toolchains based on the musl C library, as available from http://www.musl-libc.org. Note that the pre-built musl toolchains available from http://musl.codu.org/ are not working for the moment, since they lack sysroot support. However, this problem has been reported to the maintainer, who has already added sysroot support in his scripts at https://bitbucket.org/GregorR/musl-cross, and therefore the next version of the pre-built toolchains should work with Buildroot out-of-the-box. In the mean time, the musl-cross script must be used to build the toolchain. [Peter: reword comment] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* toolchain-crosstool-ng: remove supportThomas Petazzoni2013-10-061-13/+0
| | | | | | | | | | In order to avoid the work of converting the toolchain-crosstool-ng logic to the package infrastructure, we remove it from Buildroot, since it has been deprecated since quite some time. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Revert "toolchain-internal: skip gcc-intermediate when possible"Thomas Petazzoni2013-10-041-9/+0
| | | | | | | | | | | | | While the idea of skipping the intermediate gcc step seems to work fine in most situations, it causes problems with the SSP support. Until we can figure out a proper solution for this problem, we need to revert back to the previous solution of a three stages build. This reverts commit 2babed4a50fcd050abc4686e05e24d0e374d10a8. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* toolchain: move elf2flt option inclusion to toolchain-buildroot/Config.inThomas Petazzoni2013-09-151-1/+0
| | | | | | | | | | The only remaining thing in toolchain-buildroot/Config.in.2 is the inclusion of the elf2flt option. It doesn't really make sense to have a separate Config.in file for that, so let's move this to toolchain-buildroot/Config.in. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain: refactor Stack Smashing Protection supportThomas Petazzoni2013-09-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | This commit refactors how Stack Smashing Protection support is handled in Buildroot: *) It turns the BR2_TOOLCHAIN_BUILDROOT_USE_SSP option into an option that only enables the SSP support in uClibc, when using the internal toolchain backend. *) It adds an hidden BR2_TOOLCHAIN_HAS_SSP option that gets enabled when the toolchain has SSP support. Here we have the usual dance: glibc/eglibc in internal/external backend always select this option, in the case of uClibc/internal, it gets selected when BR2_TOOLCHAIN_BUILDROOT_USE_SSP is enabled, in the case of uClibc/external, there is a new configuration option that the user must select (or not) depending on whether the toolchain has SSP support. *) It adds a new options BR2_ENABLE_SSP in the "Build options" menu, to enable the usage of SSP support, by adding -fstack-protector-all to the CFLAGS. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain-internal: skip gcc-intermediate when possibleThomas Petazzoni2013-09-151-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When NPTL support was introduced, gcc required a three stages build process. Since gcc 4.7, this is no longer necessary, and it is possible to get back to a two stages build process. This patch takes advantage of this, by doing a two stages build process when possible. We introduce a few hidden kconfig options: * BR2_GCC_VERSION_NEEDS_THREE_STAGE_BUILD, which is set by the gcc Config.in logic to indicate that the compiler might need a three stages build. Currently, all versions prior to 4.7.x are selecting this kconfig option. * BR2_TOOLCHAIN_LIBC_NEEDS_THREE_STAGE_BUILD, which indicates whether the C library might need a three stages build. This is the case for eglibc, and uClibc when NPTL is enabled. * BR2_TOOLCHAIN_NEEDS_THREE_STAGE_BUILD finally is enabled when both of the previous options are enabled. It indicates that a three stages build is actually needed. In addition to those options, the uClibc/gcc build logic is changed to use only a two stages build process when possible. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* nios2: Add new architectureEzequiel Garcia2013-09-021-2/+3
| | | | | | | | | | | | | | This commit adds very basic support to build for the Nios II architecture. Toolchain support is still missing and instead we need to use an external custom toolchain. Notice that this architecture had been previously removed in Buildroot 2010.05-rc1 release (as explained in the CHANGES file) and this commit adds it back. Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
OpenPOWER on IntegriCloud