aboutsummaryrefslogtreecommitdiff
path: root/config/cc
Commit message (Collapse)AuthorAgeFilesLines
* Cleanup old avr-libstdcxx code and make it usable on other targetsQBos072024-12-231-9/+34
| | | | | | | | | | Should not cause major unwanted behavior changes - C++ is now selected by default in many configs. Signed-off-by: QBos07 <qubos@outlook.de> [cp: depend on CC_LANG_CXX instead of select] Signed-off-by: Chris Packham <judge.packham@gmail.com>
* allow plugins and LTO with static toolchainsChris Copeland2023-09-241-2/+0
| | | | | | | | | | | | This reverts commit 0841e2f820de7a4dca1ddc52b04bf834fff2806b from 2011, which disabled plugin support in binutils for static toolchains, citing build system problems. This problem seems to be resolved. This also reverts part of 45512b003d04b5a89c5c3bb6b674683d82b87f42 from 2017, which disabled LTO in gcc for static toolchains, citing problems on Arch Linux with loading the LTO plugin from a static binary. Signed-off-by: Chris Copeland <chris@chrisnc.net>
* Add option to re-enable ˋlibstdc++ˋ on avr targets.Quentin Boswank2023-08-141-0/+9
| | | | | | | | | | | Due to the small flash space on AVR devices the library containing the standard types in C++ (ˋlibstdc++ˋ) does not get built normally when enabling the C++ language support. This option is an easy way to go back to the PC-way where ˋlibstdc++ˋ is built. Signed-off-by: Quentin Boswank <qubos@outlook.de>
* Properly build multilib bare-metal RISC-VKirill K. Smirnov2023-07-141-0/+13
| | | | | | | | | To build multilib RISC-V toolchain one should use --with-multilib-generator option instead of --with-multilib-list. Add corresponding example configuration file. Signed-off-by: Kirill K. Smirnov <kirill.k.smirnov@gmail.com>
* gcc: Don't set --enable-default-pie by defaultKeith Packard2023-02-271-1/+1
| | | | | | | This changes how existing crosstool-ng setups work, causing many of the bare-metal ones to fail. Signed-off-by: Keith Packard <keithp@keithp.com>
* Add zstd to the companion libsQuentin Boswank2023-02-081-1/+2
| | | | | | | | Add zstd to the companion libs witch allows to use lto zstd compression in a canadian or cross-native enviroment Signed-off-by: QBos07 <62326551+QBos07@users.noreply.github.com> Signed-off-by: Quentin Boswank <62326551+QBos07@users.noreply.github.com>
* Enable support for building libgccjitMarc Poulhiès2022-12-181-0/+1
| | | | | | | | | | | | | | | | | | | | | libgccjit is still under development and, despite its name, may also be used for ahead-of-time compilation. Documentation can be found on the gcc website: https://gcc.gnu.org/onlinedocs/jit/internals/index.html https://gcc.gnu.org/wiki/JIT With this change it's possible to enable the building of the libgccjit. It's enabled as a language (with --enable-languages=jit) even if not a language frontend at all. The main changes are related to the requirement of having everything host side built as Position Independent Code (PIC) with --enable-host-shared. GCC has the needed logic for building its dependencies (mpc, gmp, mpfr, ...) correctly when built "in-tree", which is not the case with crosstool-ng (see https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=05048fc29f0) Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
* gcc: Disable CC_GCC_ENABLE_DEFAULT_PIE on RISC-V bare metal buildsJoakim Nohlgård2022-12-111-0/+1
| | | | | | -pie is not supported on riscv*-elf-ld Signed-off-by: Joakim Nohlgård <joakim@nohlgard.se>
* avr,pru: Disable CT_CC_GCC_ENABLE_DEFAULT_PIEDimitar Dimitrov2022-09-261-1/+1
| | | | | | | | | | | | PIE is not supported by PRU and AVR backends for GCC. This fixes LD errors when trying to link user programs with a crosstool-NG toolchain: /home/dinux/x-tools/avr/lib/gcc/avr/12.2.0/../../../../avr/bin/ld: -pie not supported collect2: error: ld returned 1 exit status Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
* Add CC_GCC_ENABLE_DEFAULT_PIELike Ma2022-08-191-0/+11
| | | | | | | | Enable Position Independent Executable as default Pass --enable-default-pie to crossgcc's configure Signed-off-by: Like Ma <likemartinma@gmail.com>
* Fixes for libstdcxx-verbose option tristateNorbert Lange2022-07-111-1/+0
| | | | | | | | Make it proper "tristate" by not specifying the option. The config GCC_4_8_or_later was removed with cc6b7fad46f5cb3d84, so dont use it.
* Allow libsanitizer on architectures that support itChris Packham2022-07-111-2/+9
| | | | | | | | | | | | libsanitizer is only supported on selected architectures. Add ARCH_SUPPORTS_LIBSANITIZER and have architectures select this option based on the list of supported configurations from GCC's libsanitizer/configure.tgt. Support for mips64 was added in GCC12 so this is an additional condition for the mips architecture. Fixes #1733 Signed-off-by: Chris Packham <judge.packham@gmail.com>
* kconfig: modify rules for multilibs configurationChen Tao2022-06-281-0/+1
| | | | | | | | | fix conflict options when compiling multilibs on ARM based architecture. "--with-arch", "--with-cpu", "--with-fpu", "--with-float", and "--with-mode" should not be configured with "--with-multilib-list=list" when configuring multilibs. Signed-off-by: Chen Tao <t.clydechen@gmail.com>
* Enable D language supportMarc Poulhiès2022-06-141-0/+1
| | | | | | | Enable D support as an experimental feature. GDC becomes a build dependency when enabled. Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
* gcc: Disable zstd for canadian buildsChris Packham2022-05-311-2/+1
| | | | | | | | | | We don't currently bundle zstd so when performing a canadian build we need to tell GCC not to enable zstd support for lto otherwise it might decide to enable it based on the package being installed on the build machine. Fixes #1718 Signed-off-by: Chris Packham <judge.packham@gmail.com>
* gcc: Update fix for sh-unknown-elfChris Packham2022-05-311-1/+1
| | | | | | | | | Extend the fix from commit 6b465e15 ("Remove m1 from multilibs for GCC11 on SH arch.") to cover GCC 12 and future releases. Remove the patch that was added to solve the same problem. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* gcc: add gcc libstdcxx-verbose optionNorbert Lange2022-02-231-0/+17
| | | | | | | Rather important option for arm cortex toolchains supporting c++, avoids pulling in all printf/iostream code by default. Signed-off-by: Norbert Lange <nolange79@gmail.com>
* Unify core passesAlexey Neyman2022-02-111-1/+1
| | | | | | | | | With libc_headers step before pass-1, there is no need to distinguish pass-1 and pass-2; they are configured identically (note that with the current configuration, core pass-2 is only used for win32 - hence, uses build_libgcc=yes and mode=static). Signed-off-by: Alexey Neyman <stilor@att.net>
* Retire obsoleted milestonesAlexey Neyman2022-02-111-7/+2
| | | | | | | | | | | | ... and the code dependent on them, after the latest wave of obsolete package removals. This concludes the glorious history of the original uClibc (non-NG) with lots of kludges removed. There was a choice here, whether to call the resulting libc "uClibc" or "uClibc-ng". I opted in favor of giving uClibc-ng the recognition it deserves, although it had some ripple effect in the ct-ng code. Signed-off-by: Alexey Neyman <stilor@att.net>
* binutils: Remove obsolete versionsChris Packham2021-09-211-1/+0
| | | | | | | | | | | | | | | The following versions were marked obsolete in crosstool-ng-1.24.0, remove them. - binutils-linaro-2.23.2-2013.10-4 - binutils-linaro-2.24.0-2014.11-2 - binutils-linaro-2.25.0-2015.01-2 - binutils-2.23.2 - binutils-2.24 - binutils-2.25.1 Adjust the milestones now that the old versions have been removed. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* cc/gcc: Add options for zstd usageChris Packham2021-08-291-0/+19
| | | | | | | | | | | | GCC can support using zstd compression for LTO object files. By default GCC's configure will enable this if libzstd is installed on the machine building the toolchain. This may be undesirable if the toolchain is to be used on a different machine. Add an option to control zstd usage and set the default to the same as the current behaviour (i.e. auto). Fixes #1579 Signed-off-by: Chris Packham <judge.packham@gmail.com>
* gcc: Make CC_GCC_TM_CLONE_REGISTRY tristateChris Packham2021-06-201-1/+8
| | | | | | | | | | | | | | Explicitly passing --disable-tm-clone-registry causes gcc to create a crtbegin.o with a zero-sized .init_array/.fini_array. This in turn causes ld to complain. Make CC_GCC_TM_CLONE_REGISTRY a tristate so if it's not explicitly enabled we can let ./configure decide. Fixes #1531 Fixes: 1e21a302 ("gcc: Add CT_CC_GCC_TM_CLONE_REGISTRY config") Signed-off-by: Chris Packham <judge.packham@gmail.com>
* gcc: Add CT_CC_GCC_TM_CLONE_REGISTRY configStephanos Ioannidis2021-06-081-0/+7
| | | | | | | | | | | This commit adds a new gcc config `CT_CC_GCC_TM_CLONE_REGISTRY` that enables the GCC transactional memory clone registry feature for libgcc. Note that the gcc option to control this feature is only available in gcc 10 and above. (see gcc commit 5a4602805eb3ebddbc935b102481e63bffc7c5e6) Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
* Remove m1 from multilibs for GCC11 on SH arch.spaun20022021-05-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GCC11 somehow has different set of multilibs on SH arch than what GCC10 had. In particular: $ gcc10 -print-multi-lib | sed -r -e 's/@/ -/g;' .; mb; -mb m2; -m2 m2e; -m2e m4; -m4 m4-single; -m4-single m4-single-only; -m4-single-only mb/m2; -mb -m2 mb/m2e; -mb -m2e mb/m4; -mb -m4 mb/m4-single; -mb -m4-single mb/m4-single-only; -mb -m4-single-only mb/m2a; -mb -m2a mb/m2a-single; -mb -m2a-single $ gcc11 -print-multi-lib | sed -r -e 's/@/ -/g;' .; mb; -mb m2; -m2 m2e; -m2e m4; -m4 m4-single; -m4-single m4-single-only; -m4-single-only mb/m1; -mb -m1 mb/m2; -mb -m2 mb/m2e; -mb -m2e mb/m4; -mb -m4 mb/m4-single; -mb -m4-single mb/m4-single-only; -mb -m4-single-only mb/m2a; -mb -m2a mb/m2a-single; -mb -m2a-single mb/m1 fails to build libgcc as libgcc uses opcodes that were not available in SH-1: libgcc/config/sh/lib1funcs.S uses 'bt/s' and 'dt' instructions that, according to https://antime.kapsi.fi/sega/files/h12p0.pdf become available in the SH-2 only. So I removed mb/m1 from the multilibs fog GCC11 and SH arch. Another option would be to try not to build libgcc for this combination of the gcc version and archichecture, but I thought this fix would be more robust. Signed-off-by: Nik Konyuchenko <spaun2002mobile@gmail.com>
* Extend CC_GCC_LIBSSP with manual stateIvan Kukhta2021-03-171-2/+8
| | | | Signed-off-by: Ivan Kukhta <Ivan.Kukhta@acronis.com>
* config/cc/gcc.in: Fix typo CC_GCC_DEC_FLOAT -> CC_GCC_DEC_FLOATSChris Packham2021-02-021-3/+3
| | | | | | | | | This has gone unnoticed for a while, it looks like all configurations have probably been using the default floats behaviour. Newer kconfig tells us the default value is not in the choice so lets fix this in preparation. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* gcc: Add support for building libstdc++ with alternate libcKeith Packard2021-01-111-1/+1
| | | | | | | This adds another mode to do_gcc_core_backend that builds libstdc++ against an alternate libc implementation. Signed-off-by: Keith Packard <keithp@keithp.com>
* Enable zlib companion lib if building LTOAlexey Neyman2019-04-041-0/+1
| | | | | | | | | While we may use build machine's library when building a simple cross, we won't have it for the host machine in a canadian build. Until there are separate selectables for the build/host components, just build our own local zlib. Signed-off-by: Alexey Neyman <stilor@att.net>
* Implement an option to store downloads in subdirsAlexey Neyman2019-02-131-1/+1
| | | | | | ... following the buildroot model. Signed-off-by: Alexey Neyman <stilor@att.net>
* Config v2: select relevant parts of each package versionAlexey Neyman2019-01-301-5/+0
| | | | | | | Also, remove a couple of config options that dealt with package versions that have been since retired. Signed-off-by: Alexey Neyman <stilor@att.net>
* Fix build with ISL 0.20Alexey Neyman2018-09-251-1/+3
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Make comp.libs use generated templates, tooAlexey Neyman2017-11-291-3/+0
| | | | | | | | This allows us to include the component-to-package relation in the generated kconfig files and make use of that information in the show-config.sh script. Signed-off-by: Alexey Neyman <stilor@att.net>
* Fix the test for mingw-w64Alexey Neyman2017-07-121-1/+1
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Fix HAS_LIBMPX selectionAlexey Neyman2017-07-121-21/+12
| | | | | | | | Was previously selected by GCC_5_or_later - but now that one is an auto-generated option that does not select anything; now HAS_LIBMPX was made dependent on GCC_5_or_later, but its default was not set to y. Signed-off-by: Alexey Neyman <stilor@att.net>
* Also upgrade non-generated config filesAlexey Neyman2017-07-081-6/+6
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Switch gen-kconfig to new frameworkAlexey Neyman2017-07-082-416/+416
| | | | | | | | | | | | | | | Also: - Move companion_* to comp_* to match the kconfig symbols - Replace bootstrap with former gen-versions.sh - Fold *.in.2 into their respective first parts; this moves common options to the end - if it is undesirable, inclusion of *.in can be moved where *.in.2 used to be (but that will also move version selection after common options). - Retire addToolVersion.sh (may later replace with a more comprehensive script that tries to download the added tarballs, copy the patches and try to apply them, and create a version.desc). Signed-off-by: Alexey Neyman <stilor@att.net>
* Encode GCC/ISL/CLooG requirementsAlexey Neyman2017-07-081-0/+11
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Fix the references to old config variablesAlexey Neyman2017-07-081-1/+6
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Convert the rest of packages to new frameworkAlexey Neyman2017-07-082-409/+408
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Switch comp.libs/tools and debug to new framework.Alexey Neyman2017-07-081-2/+2
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Implement "milestones" for packagesAlexey Neyman2017-07-081-1/+1
| | | | | | Also get rid of dependency on GNU sort. Signed-off-by: Alexey Neyman <stilor@att.net>
* Convert gcc to new framework.Alexey Neyman2017-07-082-528/+351
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* New GCC releases from LinaroAlexey Neyman2017-06-051-4/+4
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Retire CT_CC_GCC_TARGET_FINALAlexey Neyman2017-05-241-11/+0
| | | | | | | | | | | Make this behavior default in case the core gcc backend is used for final compiler (i.e., for baremetal configurations). Not setting this option breaks canadian baremetal configurations, and not setting it makes little sense at all in any baremetal configuration (since in baremetal we don't have any libc to begin with). Signed-off-by: Alexey Neyman <stilor@att.net>
* Tweaks for bionic/TLShyc2017-05-141-0/+1
|
* Add GCC 7.1.0Alexey Neyman2017-05-111-5/+17
| | | | | | | Removed patches either picked up upstream, or no longer applicable (boehm-gc no longer part of GCC). Signed-off-by: Alexey Neyman <stilor@att.net>
* cross-gdb: account for canadian/crossnative toolchainsAlexey Neyman2017-03-291-2/+3
| | | | | | | | | | ... when determining if it can be linked statically, and if Python scripting should default to y. Prompted by a failure of i686-w64-mingw32,nios2-spico-elf sample on a system where configure didn't report static linking support. Signed-off-by: Alexey Neyman <stilor@att.net>
* Add patches to Linaro GCCAlexey Neyman2017-02-281-6/+3
| | | | | | | | | Same as the base release as long as they applied. MUSL patches didn't, removed. Also, unobsolete Linaro GCC5 now that they rolled out a new release. Signed-off-by: Alexey Neyman <stilor@att.net>
* Added new gcc config option CC_GCC_CONFIG_TLSJasmin Jessich2017-02-211-0/+19
| | | | | | | Adding new tristate configuration for TLS (Thread Local Storage) to add "--enable-tls" (y), "--disable-tls" (n) or nothing (m). Signed-off-by: Jasmin Jessich <jasmin@anw.at>
* Linaro also has new 4.9 and 5.4 releasesAlexey Neyman2017-02-201-9/+9
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>