Commit Graph

5294 Commits

Author SHA1 Message Date
b346fa58b1 cc/gcc: Add options for zstd usage
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-29 21:27:29 +12:00
f64bd272d8 Merge pull request #1570 from cpackham/glibc-2.34
packages/glibc: Add 2.34
2021-08-29 20:00:57 +12:00
5faf255006 packages/glibc: Add 2.34
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-25 20:32:27 +12:00
672c13eb00 Merge branch 'uclibc-atomics' of https://github.com/foss-for-synopsys-dwc-arc-processors/crosstool-ng
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-08-25 20:30:29 +12:00
86e7788dd0 Merge branch 'gdb-10' of https://github.com/cpackham/crosstool-ng
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-08-25 20:29:49 +12:00
d45664d144 Merge branch 'no-mmu-microblaze' of https://github.com/msteveb/crosstool-ng
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-08-25 20:28:13 +12:00
065dabd767 Add support for no-mmu microblaze
no-mmu architectures need to be explicitly listed
in CT_DoKernelTupleValues

Signed-off-by: Steve Bennett <steveb@workware.net.au>
2021-08-25 17:36:47 +10:00
5463ab4bf6 gdb: Add gdb-10.2
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-25 10:12:56 +12:00
028c372ba6 ARC: No more fiddling with uClibc's CONFIG_ARC_HAS_ATOMICS
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-24 09:48:56 -07:00
cf53d3736f Merge branch 'comp-tools' of https://github.com/cpackham/crosstool-ng
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-08-24 20:16:30 +12:00
cc7a2eef91 Merge branch 'mips-unknown-linux-gnu' of https://github.com/cpackham/crosstool-ng
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-08-24 20:15:53 +12:00
da65c829f3 Merge branch 'gnuprumcu-v0.6.0' of git://github.com/dinuxbg/crosstool-ng
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-08-24 20:15:03 +12:00
6fae696131 Add mips-unknown-linux-gnu sample
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-24 08:46:35 +12:00
578871ddfc CI: Download bison, m4 and make
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-23 19:09:44 +12:00
6424fb73f0 pru: Default to pru-, not pru-elf- prefix
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-22 18:11:42 +03:00
94df240f08 gnuprumcu: Bump to v0.6.0
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-22 18:08:13 +03:00
358945ff22 Merge pull request #1578 from foss-for-synopsys-dwc-arc-processors/abrodkin-binutils-2.37
binutils: add version 2.37
2021-08-18 21:08:33 +12:00
77525a81d3 binutils: add version 2.37
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2021-08-16 10:22:50 -07:00
f322679392 Merge pull request #1571 from cpackham/avr-ci
CI: Add avr target
2021-08-06 08:42:01 +12:00
4a6408cc24 CI: Add avr target
Add avr to list of samples to build.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-08-03 21:37:28 +12:00
d47b234152 Merge pull request #1568 from galak/fix-nano-spec
newlib-nano: Fix nano.spec based on CT_NEWLIB_NANO_INSTALL_IN_TARGET
2021-08-01 19:55:15 +12:00
9179450082 newlib-nano: Fix nano.spec based on CT_NEWLIB_NANO_INSTALL_IN_TARGET
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-30 00:02:42 -05:00
cd275bc38c Merge pull request #1567 from graysky2/11.2
gcc: bump to 11.2
2021-07-29 20:07:58 +12:00
329c45eb58 gcc: bump to 11.2
Signed-off-by: John Audia <graysky@archlinux.us>
2021-07-28 14:53:00 -04:00
283142c032 Merge pull request #1563 from cpackham/kernel-bump
linux: Add new version and bump LTS
2021-07-18 19:41:52 +12:00
9f0c0193e9 Merge pull request #1561 from keith-packard/picolibc-1.7.1
Picolibc 1.7.1
2021-07-18 19:39:24 +12:00
26ce3b335e Merge pull request #1560 from stephanosio/upstream_local_common_patch_dir
Support common local patch directory
2021-07-18 19:37:16 +12:00
e33843744f Merge pull request #1559 from QBos07/patch-2
Disable source-highlighting for static build
2021-07-18 19:34:07 +12:00
62b5971abe Disable source-highlighting for static build
Fixes #1487
2021-07-18 19:33:48 +12:00
9e1a187d70 linux: Add new version and bump LTS
Add 5.13.1
Bump 4.14.225 -> 4.14.239
Bump 4.19.190 -> 4.19.197
Bump 4.4.268 -> 4.4.275
Bump 4.9.268 -> 4.9.275
Bump 5.4.127 -> 5.4.131
Bump 5.10.44 -> 5.10.49
Bump 5.12.12 -> 5.12.16

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-07-14 21:46:54 +12:00
755850d07e Merge pull request #1562 from stilor/master
Fix dist-create-release after kconfig update
2021-07-13 14:21:02 -07:00
e3446acf4e Fix dist-create-release after kconfig update
After commits 21095fab6 and acce58834, 'make dist-create-release' fails.

1. kconf_id.c is gone but it is still listed in EXTRA_DIST.

2. Only the files not listed in xxx_SOURCES need to be placed in
EXTRA_LIST. confdata.c, expr.c and others were previously not compiled
separately, they were #include'd from parser.y. Now they are listed in
xxx_SOURCES and should be removed from EXTRA_DIST. Note that menu.c is
still #include'd through parser.y, so it is kept.

3. parser.tab.c and lexer.lex.c should not be included in the
distribution tarball; they were previously omitted by virtue of not
being listed in xxx_SOURCES directly. Without it, `make distcheck`
fails.

Signed-off-by: Alexey Neyman <aneyman@lynx.com>
2021-07-13 13:50:36 -07:00
a35d909459 picolibc: Add support for version 1.7.1
Since 1.6.2, picolibc has had two releases - 1.7 and 1.7.1. Here are
the release notes from those versions.

 1. Add __cxa_atexit implementation to 'picoexit' path as required by
    C++

 2. Fix lack of 'hh' support in integer-only tinystdio printf path.

 3. Fix tinystdio __file flag initialization for C++ apps

 1. Merge libc and libm into a single library. Having them split
    doesn't offer any advantages while requiring that applications add
    '-lm' to link successfully. Having them merged allows use of libm
    calls from libc code.

 2. Add hex float format to *printf, *scanf and strto{d,f,ld}. This is
    required for C99 support.

 3. Unify strto{d,f,ld} and *scanf floating point parsing code. This
    ensures that the library is consistent in how floats are parsed.

 4. Make strto{d,f,ld} set errno to ERANGE on overflow/underflow,
    including when the result is a subnormal number.

Signed-off-by: Keith Packard <keithp@keithp.com>
2021-07-13 11:18:47 -07:00
9dc8ebf871 picolibc: Disable wchar_t use in libstdc++
Picolibc doesn't support wchar_t in stdio, so disable the use of these
functions from libstdc++.

Signed-off-by: Keith Packard <keithp@keithp.com>
2021-07-13 11:18:47 -07:00
b48e1a31f3 Support common local patch directory
This commit updates the patching process such that the local patches
can be applied in a version-independent manner, as with the patches
provided by the crosstool-ng packages.

This is done by reading the patch files from
`${CT_LOCAL_PATCH_DIR}/(package_name)` rather than from
`${CT_LOCAL_PATCH_DIR}/(package_name)/(version)`.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2021-07-14 00:07:30 +09:00
3782373c8c Merge pull request #1551 from rcatolino/add_extra_cxx_flags
Add EXTRA_CXXFLAGS_FOR_BUILD option
2021-07-11 19:26:36 +12:00
4d2c1708da Merge pull request #1550 from cpackham/kernel-cdn
CT_Mirrors: make use of kernel cdn
2021-07-11 19:26:18 +12:00
c3b13ffdda Add EXTRA_CXXFLAGS_FOR_BUILD option
Signed-off-by: Raphael Catolino <raphael.catolino@gmail.com>
2021-07-06 16:19:17 +01:00
1aeeea6919 CT_Mirrors: make use of kernel cdn
cdn.kernel.org automatically redirects to a geographically close mirror.
Make use of this instead of www.kernel.org or mirrors.edge.kernel.org.
While were at it make sure we use https.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-07-06 20:23:49 +12:00
62e9db247b Merge pull request #1547 from cpackham/gcc-maint
gcc: Bump maintenance versions
2021-07-06 20:11:04 +12:00
5ab678eae3 gcc: Bump maintenance versions
8.4.0 -> 8.5.0
9.3.0 -> 9.4.0

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-07-05 21:11:45 +12:00
94b98a4cc9 Merge pull request #1539 from nikkon-dev/nikkon-dev/old_glibc_fix
Fix build of older Glibc using GCC >=10
2021-06-28 19:35:04 +12:00
aa98a2e2f3 Add fcommon flag help and remove extra empty lines
Signed-off-by: Nik Konyuchenko <spaun2002mobile@gmail.com>
2021-06-24 01:49:22 -07:00
9e10cb6fba Merge branch 'master' of git://github.com/bensuperpc/crosstool-ng 2021-06-24 20:29:14 +12:00
14b3dd3f88 Merge branch 'lancethepants-uclibc-ng_1.0.38' 2021-06-24 20:28:09 +12:00
05c6758985 Fix build of older Glibc using GCC >=10
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>
2021-06-24 00:58:32 -07:00
9bfaa181e9 Update Linux to: 5.12.12, 5.10.44, 5.4.127
Update Linux to: 5.12.12, 5.10.44, 5.4.127

Signed-off-by: Bensuperpc <bensuperpc@gmail.com>
2021-06-23 16:24:57 +02:00
7b54693881 Add uClibc-ng 1.0.38
Signed-off-by: Lance Fredrickson <lancethepants@gmail.com>
2021-06-22 14:02:33 -06:00
c7996054b5 Merge pull request #1534 from cpackham/ci-download
CI: download tarballs
2021-06-20 20:22:46 +12:00
f10389a5aa Merge pull request #1533 from cpackham/init_array_fix
gcc: Make CC_GCC_TM_CLONE_REGISTRY tristate
2021-06-20 20:22:32 +12:00