aboutsummaryrefslogtreecommitdiff
path: root/config
Commit message (Collapse)AuthorAgeFilesLines
...
* ncurses: Use new v6 ABI by defaultAlexey Brodkin2021-10-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These days old v5 ABI is not that relevant as it used to be back in 2015 when ncurses 6.x was added to CT-NG. And now we see say target "gdb" relying on "libncurses.so.5", while up-to-date Buildroot provides "libncurses.so" & "libncurses.so.6": --------------------------->8------------------------- $ ldd /bin/gdb libncurses.so.5 => not found libstdc++.so.6 => /lib/libstdc++.so.6 (0x20022000) libm.so.6 => /lib/libm.so.6 (0x2017c000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x201ba000) libc.so.6 => /lib/libc.so.6 (0x201c8000) /lib/ld-linux-arc.so.2 (0x20000000) --------------------------->8------------------------- Switching to a default (v6 ABI) by default. And... --------------------------->8------------------------- $ ldd /bin/gdb libncurses.so.6 => /usr/lib/libncurses.so.6 (0x20022000) libstdc++.so.6 => /lib/libstdc++.so.6 (0x20054000) libm.so.6 => /lib/libm.so.6 (0x201ae000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x201ec000) libc.so.6 => /lib/libc.so.6 (0x201fa000) /lib/ld-linux-arc.so.2 (0x20000000) --------------------------->8------------------------- Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
* binutils: Remove obsolete versionsChris Packham2021-09-212-19/+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>
* gdb: Remove old milestonesChris Packham2021-09-213-17/+1
| | | | | | | Now that the oldest supported version of gdb is 7.11.1 we can make some parts of the build unconditional and remove the associated config vars. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* gdb: Add gdb-11.1Chris Packham2021-09-191-0/+1
| | | | | | | Drop the uclibc-no-gettimeofday-clobber patch as it no longer applies. The arc patches are all upstream. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* gmp: Support building for targetChris Packham2021-09-191-0/+4
| | | | | | | Allow GMP to be build for the target. This will be needed by the up coming gdb-11. 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>
* gdb: Add gdb-10.2Alexey Brodkin2021-08-251-0/+6
| | | | | | | | | | | | | | | | | In GDB 10.x gdbserver was promoted to the top-level folder, see https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=919adfe8409211c726c1d05b47ca59890ee648f1 Which means it is no longer a subfolder in "gdb" and so we have to build gdbserver now exactly in the same way as normal native GDB. One interesting detail is gdbserver doesn't need to deal with target description in .xml so it doesn't depend on libexpat on target, thus we need to move libexpat explicit selection from do_gdb_backend() to its callers when building native [full] gdb as well as cross-gdb for the host. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> [cp: support old/new layout, regenerate patches] Signed-off-by: Chris Packham <judge.packham@gmail.com>
* Add EXTRA_CXXFLAGS_FOR_BUILD optionRaphael Catolino2021-07-061-1/+11
| | | | Signed-off-by: Raphael Catolino <raphael.catolino@gmail.com>
* Add fcommon flag help and remove extra empty linesNik Konyuchenko2021-06-241-1/+3
| | | | Signed-off-by: Nik Konyuchenko <spaun2002mobile@gmail.com>
* Fix build of older Glibc using GCC >=10Nik Konyuchenko2021-06-241-0/+7
| | | | | | | | | | | | | Issue #1535 GCC 10 changed the default to -fno-common, which leads to a linking error in GLibc older than 2.30. This change adds -fcommon cflag for the target GLibc versions <=2.29 and GCC >=10. This change also adds additional cflags for the target GLibc to disable new GCC11 checks that lead to compilation errors. Signed-off-by: Nik Konyuchenko <spaun2002mobile@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>
* Merge pull request #1524 from ↵Chris Packham2021-06-091-0/+8
|\ | | | | | | | | stephanosio/gcc_custom_libstdcpp_cxx_flags_upstream Fix libstdc++ build options
| * newlib: Add libstdc++ nano-specific CXXFLAGSStephanos Ioannidis2021-06-071-0/+8
| | | | | | | | | | | | | | | | | | | | | | This commit adds a new config that can be used to specify the target CXXFLAGS specific to the libstdc++ newlib-nano variant. By default, this config is set to specify the `-fno-exceptions` option, which disables C++ exception handling support and greatly reduces the compiled binary size. Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
* | 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>
* glibc: --enable-obsolete-rpc has been removed as of 2.32Chris Packham2021-05-111-1/+1
| | | | | | | | | Make --enable-obsolete-rpc conditional on !GLIBC_2_32_or_later as it's been removed from that version on. Fixes: #1505 Fixes: commit 1ee44ab5 ("glibc: --enable-obsolete-rpc has been removed as of 2.32") Signed-off-by: Chris Packham <judge.packham@gmail.com>
* alpha: Support 64-bit onlyChris Packham2021-05-111-2/+2
| | | | | | | | | | Alpha is a 64-bit only arch. The menu options only allowed 32 bitness to be selected. This was harmless but confusing, update the config to specify 64-bit only. Fixes: #1506 Signed-off-by: Chris Packham <judge.packham@gmail.com>
* 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>
* Disable -Werror for GLIBC for all ARCH for GCC11.spaun20022021-05-051-2/+3
| | | | | | | | | | | | | This change replicates what GLIBC 2.23 has in the string/rawmemchr.c: // #if __GNUC_PREREQ (11, 0) // /* Likewise GCC 11, with a different warning option. */ // DIAG_IGNORE_NEEDS_COMMENT (11, "-Wstringop-overread"); // #endif With -Werror multiple platforms failing on the string/rawmemchr.c:40 line. Signed-off-by: Nik Konyuchenko <spaun2002mobile@gmail.com>
* newlib-nano: Add option to copy libs into targetKumar Gala2021-04-151-0/+11
| | | | | | | | | | | Add an option that will install a copy of newlib-nano lib*.a file in the target dir but renamed with a nano.a suffix (eg: libc_nano.a) as some default nano.spec files from newlib expect this setup. Additionally the newlib-nano version of newlib.h will get copied to include/newlib-nano/newlib.h. Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
* Extend CC_GCC_LIBSSP with manual stateIvan Kukhta2021-03-171-2/+8
| | | | Signed-off-by: Ivan Kukhta <Ivan.Kukhta@acronis.com>
* config: Update environment variable usageChris Packham2021-02-022-4/+4
| | | | | | | Upstream changes in the way kconfig handles environment variables means we need to update our usage of them. Signed-off-by: Chris Packham <judge.packham@gmail.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>
* Merge pull request #1448 from dinuxbg/masterChris Packham2021-01-253-1/+11
|\ | | | | Add PRU target configuration
| * Add package with PRU linker scripts and headersDimitar Dimitrov2021-01-191-0/+2
| | | | | | | | | | | | | | | | Include the gnuprumcu package in PRU cross toolchain. Toolchain is somewhat useless without device specs and linker scripts for the various SoCs. Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
| * Add PRU cross tool targetDimitar Dimitrov2021-01-192-1/+9
| | | | | | | | | | | | | | | | | | Add sample configuration for building cross toolchain for the TI PRU. PRU cores are present in many of the BeagleBone single board computers. More information about the PRU can be found in https://bbb.io/pru Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
* | newlib-nano: Build libstdc++ against newlib-nano if requestedKeith Packard2021-01-141-0/+9
| | | | | | | | | | | | | | This uses the gcc support for building libstdc++ using alternate lib header files. Signed-off-by: Keith Packard <keithp@keithp.com>
* | Add newlib-nano as companion libKeith Packard2021-01-141-0/+224
|/ | | | | | | This allows building newlib-nano in addition to newlib and picolibc, allowing users to select between C libraries within the same toolchain. Signed-off-by: Keith Packard <keithp@keithp.com>
* picolibc: Build libstdc++ against picolibc if requestedKeith Packard2021-01-111-0/+10
| | | | | | | This uses the gcc support for building libstdc++ using alternate lib header files. Signed-off-by: Keith Packard <keithp@keithp.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>
* picolibc: Clean up configuration a bitKeith Packard2021-01-111-1/+2
| | | | | | | | | | | Use LIBC_PICOLIBC_CXA_ATEXIT to keep this name in the same 'namespace' as the other picolibc config names. Enable retargetable locking by default. This allows the few locks in picolibc to be implemented by the execution environment, rather than disabling the locking code. Signed-off-by: Keith Packard <keithp@keithp.com>
* picolibc: Convert to companion libraryKeith Packard2021-01-081-8/+5
| | | | | | | This allows configurations to include picolibc without excluding another C library. Signed-off-by: Keith Packard <keithp@keithp.com>
* Add Oracle products to crosstool-ngJose E. Marchesi2020-11-231-0/+2
| | | | | | | | | | | | | | | | | | This commit adds support for the following Oracle products, in order to target Oracle Linux 7.9: Binutils 2.27-44.base.0.400 GCC 4.8.5-44.0.5 glibc 2.17-317.0.3 UEK5/u4 4.14.35-2025.400.8 Sample configuration files are provides for the following triplets: arm-ol7u9-linux-gnueabi arm-ol7u9-linux-gnueabihf Signed-off-by: Egeyar Bagcioglu <egeyar.bagcioglu@oracle.com> Signed-off-by: Jose E. Marchesi <jose.marchesi@oracle.com>
* Merge pull request #1342 from DspHack/feature/add_support_for_ti_c6xChris Packham2020-11-101-0/+15
|\ | | | | Experimental: Add support for the Texas Instruments C6X (TMS320C6000 …
| * c6x: Remove multilib requirementDan Tejada2020-11-021-23/+1
| | | | | | | | | | | | | | Restore tuple config check Add sample configuration Signed-off-by: Dan Tejada <dan.tejada@cantada.com>
| * Experimental: Add support for the Texas Instruments C6X (TMS320C6000 series) ↵Dan Tejada2020-05-201-0/+37
| | | | | | | | | | | | | | | | | | | | DSPs -- c6x: Add support for c6x product families to pass on to uClibC-ng -- c6x: Fix multilib support -- c6x: Add patch fix internal instruction error (GCC 57295) Signed-off-by: Dan Tejada <dan.tejada@cantada.com>
* | Clarify tree layout of local patches directoryBagas Sanjaya2020-10-131-2/+4
| | | | | | | | | | | | | | | | | | | | | | Currently the help for LOCAL_PATCH_DIR did not specify the tree layout of custom patches directory. This commit adds such explanation. For example, the bundled patches for GCC are placed under packages/gcc/<gcc-version>, thus custom (local) GCC patches should be placed under $LOCAL_PATCH_DIR/gcc/<gcc-version>. Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com>
* | config/libc: Extend glibc 2.32 workaround to include sparcChris Packham2020-09-141-0/+1
| | | | | | | | | | | | | | Sparc seems to be affected by the same issues as powerpc64. Disable glibc warnings for sparc. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* | glibc: --enable-obsolete-rpc has been removed as of 2.32Chris Packham2020-09-071-1/+2
| | | | | | | | | | | | | | Make --enable-obsolete-rpc conditional on !CT_GLIBC_2_32_or_later as it's been removed from that version on. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* | Merge branch 'picolibc' of git://github.com/keith-packard/crosstool-ng into ↵Chris Packham2020-09-062-0/+130
|\ \ | | | | | | | | | keith-packard-picolibc
| * | Add picolibc support [v2]Keith Packard2020-09-012-0/+130
| |/ | | | | | | | | | | | | | | | | | | | | | | This adds support for using picolibc instead of newlib on embedded systems. Signed-off-by: Keith Packard <keithp@keithp.com> v2: Add check for meson and ninja Sync option default values with current picolibc defaults Remove xtensa sys header file install as those aren't in picolibc
* / glibc: Don't build with -Werror for powerpc64+glibc-2.32Chris Packham2020-09-031-0/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | | When building powerpc64+glibc-2.32 we see the following error: [ALL ] In file included from ../sysdeps/powerpc/powerpc32/power4/multiarch/wordcopy-ppc32.c:26, [ALL ] from ../sysdeps/powerpc/powerpc64/multiarch/wordcopy-ppc64.c:18: [ALL ] ../string/wordcopy.c: In function '_wordcopy_fwd_aligned': [ERROR] ../string/wordcopy.c:98:26: error: 'a1' may be used uninitialized in this function [-Werror=maybe-uninitialized] [ALL ] 98 | ((op_t *) dstp)[0] = a1; [ALL ] | ~~~~~~~~~~~~~~~~~~~^~~~ [ALL ] In file included from ../sysdeps/powerpc/powerpc64/power4/../../powerpc32/power4/memcopy.h:38, [ALL ] from ../sysdeps/powerpc/powerpc64/power4/memcopy.h:1, [ALL ] from ../string/wordcopy.c:23, [ALL ] from ../sysdeps/powerpc/powerpc32/power4/multiarch/wordcopy-ppc32.c:26, [ALL ] from ../sysdeps/powerpc/powerpc64/multiarch/wordcopy-ppc64.c:18: [ALL ] ../string/wordcopy.c: In function '_wordcopy_fwd_dest_aligned': [ERROR] ../sysdeps/generic/memcopy.h:72:61: error: 'a3' may be used uninitialized in this function [-Werror=maybe-uninitialized] [ALL ] 72 | #define MERGE(w0, sh_1, w1, sh_2) (((w0) << (sh_1)) | ((w1) >> (sh_2))) [ALL ] | ^~ This seems to only trigger for powerpc64. Other architectures build cleanly. For now avoid specifying -Werror for powerpc64+glibc-2.32. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* Disallow PPS SPE ABIAlexey Neyman2020-03-041-0/+4
| | | | | | with GCC 9+ and GLIBC 2.30+, they no longer support it. Signed-off-by: Alexey Neyman <stilor@att.net>
* Add --with-cpu= on 32-bit SPARCAlexey Neyman2020-03-031-2/+6
| | | | | | ... if building for GLIBC 2.31+. Signed-off-by: Alexey Neyman <stilor@att.net>
* Set --with-cpu-{32,64} for multilib buildsAlexey Neyman2020-02-264-0/+8
| | | | | | | GLIBC 2.31 needs --with-cpu=ultrasparc for both 32/64-bits now, and --with-cpu only sets the CPU model for the "primary" bitness. Signed-off-by: Alexey Neyman <stilor@att.net>
* Merge pull request #1266 from nolange/move_builddir_kconfigAlexey Neyman2020-02-161-0/+4
|\ | | | | move BUILD_DIR variable into Kconfig
| * move BUILD_DIR variable into KconfigNorbert Lange2019-10-191-0/+4
| | | | | | | | | | | | | | this allows users to reference this variable, for ex. in TARGET_CFLAGS to remap paths. Signed-off-by: Norbert Lange <nolange79@gmail.com>
* | Merge pull request #1259 from nolange/add_binutils_deterministic_archivesAlexey Neyman2019-12-231-1/+10
|\ \ | | | | | | enable option for binutils deterministic-archives
| * | enable option for binutils deterministic-archivesNorbert Lange2019-10-101-1/+10
| |/ | | | | | | Signed-off-by: Norbert Lange <nolange79@gmail.com>
* / Add newlib retargetable locking configurationStephanos Ioannidis2019-12-201-0/+7
|/ | | | | | | This commit adds support for the newlib configuration option '--enable-newlib-retargetable-locking'. Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
* GDB 8.3+ needs IPv6Alexey Neyman2019-10-021-1/+3
| | | | | | ... which wasn't enabled in uClibc-ng by default Signed-off-by: Alexey Neyman <stilor@att.net>