summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-09-19gdb: Drop obsolete versionChris Packham51-1359/+0
Drop versions of gdb that were marked as obsolete prior to the crosstool-ng-1.24.0 release. Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-09-19Merge branch 'gdb-enable-tui' of ↵Chris Packham1-4/+2
https://github.com/foss-for-synopsys-dwc-arc-processors/crosstool-ng Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-09-19Merge branch ↵Chris Packham1-0/+8
'foss-for-synopsys-dwc-arc-processors-gdb10-disable-gdb-with-gdbserver' Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-09-19gdb: Realy decouple building of native/target GDB & gdbserverAlexey Brodkin1-0/+8
Back in the day gdbserver was treated as a subproject of GDB and even was located in "gdb/gdbserver" and so to build gdbserver we had to go into "gdb/gdbserver" and there run configure. That way full GDB was out of the picture. Now starting from GDB 10.1 where gdbserver was promoted to the top-level we're supposed to run top-level's configure script for all the tools provided by the unified binutils-gdb tree. That said if we only want to build gdbserver (and that's what we want since we build one tool at a build step) we have to be explicit: ----------------->8---------------- --enable-gdbserver --disable--gdb ----------------->8---------------- Ah, and so far we used to build full native GDB when only wanted gdbserver if it was GDB v10.x ;) Ironically full native/target GDB also enabled gdbserver by default so we need to also disable it explicitly with "--disable-gdbserver". Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2021-09-16gdb: Enable TUI for full target/native GDBAlexey Brodkin1-4/+2
Since we have curses built for target anyway now, why don't allow users to use very convenient pseudo-GUI operating mode? And while at it, there's no use of TUI in naturally headless gdbserver. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2021-09-16Merge branch 'gcc11-cross-canadian' of ↵Chris Packham6-69/+71
https://github.com/foss-for-synopsys-dwc-arc-processors/crosstool-ng Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-09-15gcc: Fix cross-canadian builds wih GCC11Alexey Brodkin1-0/+47
With this we may finally build Windows and "native" toolchains if host tools are also GCC11 based. For example: 1. You build cross toolchain with all the recent components by CT-NG 2. You build cross-canadian toolchain for Windows or ARC, ARMm whatever board See upstream bug report [1] for more details. Basically when we do cross-canadian build with use of the same GCC11 as a "host" compiler we're seeing an error like that: ------------------->8------------------- mingw-w64-cross/gcc/x86_64-w64-mingw32/libstdc++-v3/include/fenv.h:58:11: error: 'fenv_t' has not been declared in '::' 58 | using ::fenv_t; ------------------->8------------------- This is a solution proposed by Yujie Yang in [2] Note, though it's not the final fix merged upstream, that's just an attempt to fix this by casual GCC users. There's a hope it will be fixed anyways a bit later, maybe by the time of GCC 11.3... [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100017 [2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100017#c20 Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2021-09-15Merge branch 'binutils-2-37-mingw-fix' of https://github.com/temap/crosstool-ngChris Packham1-0/+56
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-09-15Merge branch 'gdb10-arc-fixes' of ↵Chris Packham19-43/+4971
https://github.com/foss-for-synopsys-dwc-arc-processors/crosstool-ng Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-09-15gcc: Refresh patches of GCC 11.2.0Alexey Brodkin5-69/+24
As simple as: ./maintainer/manage-packages.sh --update-patches --select gcc-11.2.0 Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2021-09-14gdb10: Fixes for ARCAlexey Brodkin13-0/+4966
Here we add a couple of fixes and improvements for ARC processors. All except 1 patch are already in the upstream "master" branch and will be an essential part of GCC 11.x whenever it gets released. The most important are first 4 patches (0005-0008) which introduce support of full native GDB support in Linux on ARC. And the rests are tiny, yet useful improvements. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2021-09-14gdb10: Update existing patchesAlexey Brodkin6-43/+5
As easy as: ./maintainer/manage-packages.sh --update-patches --select gdb-10.2 Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2021-09-14binutils: Add MinGW build fix from 2.37 branchArtem Panfilov1-0/+56
This fixes a defect introduced in 25162c7. The "uint" type has not been explicitly defined here on mingw, causing compilation to fail. Signed-off-by: Artem Panfilov <artemp@synopsys.com>
2021-09-14Merge branch 'binutils-arc-32-hosts' of ↵Chris Packham1-0/+217
https://github.com/foss-for-synopsys-dwc-arc-processors/crosstool-ng Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-09-13binutils 2.37: arc: Fix for 32-bit hostsAlexey Brodkin1-0/+217
While building statically-linked executables for ARC on 32-bit platform LD segfaulted like that: --------------------------->8------------------------- $ gcc test.c -static potentially unexpected fatal signal 11. Path: /arc_gnu_2021.03_prebuilt_glibc_le_archs_native_install/arc-snps-linux-gnu/bin/ld CPU: 0 PID: 79 Comm: ld Not tainted 5.10.43 #8 Invalid Read @ 0x00000020 by insn @ 0x40bbe @off 0x40bbe in [/arc_gnu_2021.03_prebuilt_glibc_le_archs_native_install/arc-snps-linux-gnu/bin/ld] VMA: 0x00010000 to 0x0010e000 ECR: 0x00050100 EFA: 0x00000020 ERET: 0x00040bbe STAT: 0x80080082 [IE U ] BTA: 0x0003fc24 SP: 0x5fdb8dec FP: 0x00129598 BLK: 0x40b66 LPS: 0x2008c602 LPE: 0x2008c63e LPC: 0x00000001 r00: 0x008392f2 r01: 0x00000001 r02: 0x00000000 r03: 0x008392f2 r04: 0x00000058 r05: 0x00e37e88 r06: 0x00eb8ea8 r07: 0x00a837e8 r08: 0x0000003f r09: 0x736e7520 r10: 0x2011aa74 r11: 0x001147f4 r12: 0x00a83834 r13: 0x00a837e8 r14: 0x00ce92b8 r15: 0x00112130 r16: 0x00eb8ea8 r17: 0x00000058 r18: 0x001273b8 r19: 0x00e37e88 r20: 0x00129598 r21: 0x5fdb8e74 r22: 0x00112130 r23: 0x00179bb0 r24: 0x00170684 r25: 0x20122490 collect2: fatal error: ld terminated with signal 11 [Segmentation fault] compilation terminated. --------------------------->8------------------------- Originally found during native building on ARC board, but later re-produced on other 32-bit systems like i386/i586. For all the gory details please refer to [1]. Original fix could be found here [2]. [1] https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/issues/402 [2] https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/commit/29d31b4ed96fcbc774740fac91ef77cb3d62a714 Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2021-09-08Merge branch 'linux-bump' of https://github.com/cpackham/crosstool-ngChris Packham23-56/+64
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-09-08Merge branch 'canadian-cross-build' of ↵Chris Packham1-13/+1
https://github.com/foss-for-synopsys-dwc-arc-processors/crosstool-ng Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-09-08Merge branch 'with-host-libstdcxx' of ↵Chris Packham1-8/+12
https://github.com/foss-for-synopsys-dwc-arc-processors/crosstool-ng Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-09-07gcc: Don't mess with --with-host-libstdcxx if recent GCC (6+) is usedAlexey Brodkin1-8/+12
"--with-host-libstdcxx" option was removed in GCC 6.x, see [1] because of [2]. So it makes no sense to use it with later GCC versions. Frankly I don't like that implementation with yet another set of "if XXX", but since we still support GCC down to 4.8.5 what else we may do? Well, technically we may keep using things as they are now, because surprisingly GCC's configure script doesn't mind accepting meaningless options, but as a person who's looking at differences between various builds and drill-down to peculiarities of various config options, I'd prefer to not pollute configure with garbage. But for all the rest... well, it works now and maybe nodody else cares. [1] https://gcc.gnu.org/git/?p=gcc.git&a=commit;h=5dc85f7ec719a79ecfbcdd8563b07e5f0f365e65 [2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67092 Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2021-09-07gcc: Fix canadian cross building on older hostsAlexey Brodkin1-13/+1
GCC 11+ requires compiler being used to support C++11 standard [1]. And while GCC starting from 6.x has C++11 support enabled by default [2], older versions need to be forced to implement it with "-std=gnu++11" and luckily GCC's build-system takes care of that: 1. For ${host} compiler - [1] 2. For ${build} compiler - [3, 4] In a nutshell the configure script tries a couple of options and the one which helps to build a test source gets appended to CXX (not CXXFLAGS!), so on say CentOS 7.x with GCC 4.8.5 during cross-compilation of GCC CXX="x86_64-build_pc-linux-gnu-g++ -std=gnu++11". And all is good. But in case of canadian cross due to [5] we for some reason* force set CXX_FOR_BUILD with just a compiler name, effectively overriding all the magic done by GCC's internals described above. This leads to a compilation failures like that: ------------------------------------->8---------------------------------- [ALL ] In file included from /usr/include/c++/4.8.2/type_traits:35:0, [ALL ] from .../HOST-x86_64-apple-darwin14/arc-gcc11-elf/src/gcc/gcc/system.h:244, [ALL ] from .../HOST-x86_64-apple-darwin14/arc-gcc11-elf/src/gcc/gcc/gengtype.c:26: [ERROR] /usr/include/c++/4.8.2/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options. [ALL ] #error This file requires compiler and library support for the ^ ------------------------------------->8---------------------------------- * my guess that [5] was done because back in the day indeed we used to have "--build=${CT_BUILD} --host=${CT_HOST}" in do_cc_core(). But now after [6] this is no longer necessary as we use "--build=${CT_BUILD} --host=${CT_BUILD}" and all is safe and clean. So yet another old quirk goes away - hooray! [1] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=5329b59a2e13dabbe2038af0fe2e3cf5fc7f98ed [2] https://gcc.gnu.org/gcc-6/changes.html [3] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96612 [4] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=7ffcf5d61174dda1f39a623e15f7e5d6b98bbafc [5] https://github.com/crosstool-ng/crosstool-ng/commit/9c6c090d7b6f5a03213b8ac6bd33a5cb812ec4c4 [6] https://github.com/crosstool-ng/crosstool-ng/commit/08161250ed65a9b91d680a305d01acd8052f937f Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2021-09-05linux: Add new version and bump LTSChris Packham23-56/+64
Add 5.14.1 Bump 4.4.275 -> 4.4.283 Bump 4.9.275 -> 4.9.282 Bump 4.14.239 -> 4.14.246 Bump 4.19.197 -> 4.19.206 Bump 5.4.131 -> 5.4.144 Bump 5.10.49 -> 5.10.62 Bump 5.13.1 -> 5.13.14 Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-08-30Merge pull request #1589 from cpackham/zstdChris Packham2-0/+24
cc/gcc: Add options for zstd usage
2021-08-29cc/gcc: Add options for zstd usageChris Packham2-0/+24
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>
2021-08-29Merge pull request #1570 from cpackham/glibc-2.34Chris Packham4-0/+112
packages/glibc: Add 2.34
2021-08-25packages/glibc: Add 2.34Chris Packham4-0/+112
Add glibc 2.34. Bring through patches for canadian build and ARC700. https://sourceware.org/pipermail/libc-alpha/2021-August/129718.html Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-08-25Merge branch 'uclibc-atomics' of ↵Chris Packham1-17/+0
https://github.com/foss-for-synopsys-dwc-arc-processors/crosstool-ng Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-08-25Merge branch 'gdb-10' of https://github.com/cpackham/crosstool-ngChris Packham11-31/+310
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-08-25Merge branch 'no-mmu-microblaze' of https://github.com/msteveb/crosstool-ngChris Packham1-1/+1
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-08-25Add support for no-mmu microblazeSteve Bennett1-1/+1
no-mmu architectures need to be explicitly listed in CT_DoKernelTupleValues Signed-off-by: Steve Bennett <steveb@workware.net.au>
2021-08-24gdb: Add gdb-10.2Alexey Brodkin11-31/+310
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>
2021-08-24ARC: No more fiddling with uClibc's CONFIG_ARC_HAS_ATOMICSAlexey Brodkin1-17/+0
Older ARC700 processors had atomic instructions (AKA llock/scond) as an option and so quite some "atomic" operations were not possible w/o OS support, which we implemented - see arc_usr_cmpxchg() in the Linux kernel. And in uClibc, which was the only Linux libc back in the day of ARC700 era, it is well supported. Well, uClibc could be configured to support it. Which is done with CONFIG_ARC_HAS_ATOMICS Kconfig option. But the problem is there's no check for ARC ISA version in uClibc when this option gets enabled. That leads to a funny situation when even for ARCv2 processors (ARC HS3x & HS4x) uClibc tries to utilize arc_usr_cmpxchg() syscall which is not supported for this newer ISA since ARCv2 processors have atomic instructions built-in all the time. So what was happening here we didn't specify additional "-matomic" CFLAG unless we were targeting exactly those ancient ARC770 processors (ARC700 + MMUv3 + atomics) and so even for ARCv2 we forced uClibc to not use built-in atomics. And even though there're ways to add a smarter solution here to handle that pretty rare by now case of ARC750 (ARC700 + MMUv2 - atomics), I suggest we just remove this part completely, leaving a possibility to add needed option in uClibc-ng's configuration (I mean "packages/uClibc-ng/config"). Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2021-08-24Merge branch 'comp-tools' of https://github.com/cpackham/crosstool-ngChris Packham1-0/+4
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-08-24Merge branch 'mips-unknown-linux-gnu' of ↵Chris Packham3-1/+19
https://github.com/cpackham/crosstool-ng Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-08-24Merge branch 'gnuprumcu-v0.6.0' of git://github.com/dinuxbg/crosstool-ngChris Packham4-5/+9
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-08-23Add mips-unknown-linux-gnu sampleChris Packham3-1/+19
We have unkown-elf and linux-uclibc already. Complete the set with a linux-gnu configuration. Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-08-23CI: Download bison, m4 and makeChris Packham1-0/+4
Various configurations end up using these companion tools (particularly those with GNU libc). Ensure we download these tools at the start of the build. Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-08-22pru: Default to pru-, not pru-elf- prefixDimitar Dimitrov1-0/+1
The gcc-pru package in BeagleBoard Debian image has been using the "pru-" prefix for a few years now. Let's not add unnecessary confusion for users, and stick to "pru-" cross toolchain prefix. Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
2021-08-22gnuprumcu: Bump to v0.6.0Dimitar Dimitrov3-5/+8
Changes since v0.5.0: * Add spec files for am64x SoCs. * Require Binutils at least version 2.37. * Require pru-gcc to be installed. * Remove linker scripts. Instead set memory sizes from specs. * Activate --gc-sections linker option by default. * The "--host=pru" configure option must be used instead of "--target=pru. Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
2021-08-18Merge pull request #1578 from ↵Chris Packham11-0/+622
foss-for-synopsys-dwc-arc-processors/abrodkin-binutils-2.37 binutils: add version 2.37
2021-08-16binutils: add version 2.37Alexey Brodkin11-0/+622
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2021-08-05Merge pull request #1571 from cpackham/avr-ciChris Packham1-0/+1
CI: Add avr target
2021-08-03CI: Add avr targetChris Packham1-0/+1
Add avr to list of samples to build. Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-08-01Merge pull request #1568 from galak/fix-nano-specChris Packham1-1/+28
newlib-nano: Fix nano.spec based on CT_NEWLIB_NANO_INSTALL_IN_TARGET
2021-07-30newlib-nano: Fix nano.spec based on CT_NEWLIB_NANO_INSTALL_IN_TARGETKumar Gala1-1/+28
The spec file was missing replacing various libs like libc, libm, etc with their nano equiv when CT_NEWLIB_NANO_INSTALL_IN_TARGET=y. Update the nano.spec file that is generated to rename libc, libm, etc if CT_NEWLIB_NANO_INSTALL_IN_TARGET=y Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-07-29Merge pull request #1567 from graysky2/11.2Chris Packham8-8/+8
gcc: bump to 11.2
2021-07-28gcc: bump to 11.2graysky8-8/+8
Signed-off-by: John Audia <graysky@archlinux.us>
2021-07-18Merge pull request #1563 from cpackham/kernel-bumpChris Packham23-56/+64
linux: Add new version and bump LTS
2021-07-18Merge pull request #1561 from keith-packard/picolibc-1.7.1Chris Packham4-1/+6
Picolibc 1.7.1
2021-07-18Merge pull request #1560 from stephanosio/upstream_local_common_patch_dirChris Packham1-3/+5
Support common local patch directory
2021-07-18Merge pull request #1559 from QBos07/patch-2Chris Packham1-0/+6
Disable source-highlighting for static build