Commit Graph

5271 Commits

Author SHA1 Message Date
Kumar Gala
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
Chris Packham
283142c032 Merge pull request #1563 from cpackham/kernel-bump
linux: Add new version and bump LTS
2021-07-18 19:41:52 +12:00
Chris Packham
9f0c0193e9 Merge pull request #1561 from keith-packard/picolibc-1.7.1
Picolibc 1.7.1
2021-07-18 19:39:24 +12:00
Chris Packham
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
Chris Packham
e33843744f Merge pull request #1559 from QBos07/patch-2
Disable source-highlighting for static build
2021-07-18 19:34:07 +12:00
QBos07
62b5971abe Disable source-highlighting for static build
Fixes #1487
2021-07-18 19:33:48 +12:00
Chris Packham
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
Alexey Neyman
755850d07e
Merge pull request #1562 from stilor/master
Fix dist-create-release after kconfig update
2021-07-13 14:21:02 -07:00
Alexey Neyman
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
Keith Packard
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
Keith Packard
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
Stephanos Ioannidis
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
Chris Packham
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
Chris Packham
4d2c1708da
Merge pull request #1550 from cpackham/kernel-cdn
CT_Mirrors: make use of kernel cdn
2021-07-11 19:26:18 +12:00
Raphael Catolino
c3b13ffdda Add EXTRA_CXXFLAGS_FOR_BUILD option
Signed-off-by: Raphael Catolino <raphael.catolino@gmail.com>
2021-07-06 16:19:17 +01:00
Chris Packham
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
Chris Packham
62e9db247b
Merge pull request #1547 from cpackham/gcc-maint
gcc: Bump maintenance versions
2021-07-06 20:11:04 +12:00
Chris Packham
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
Chris Packham
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
Nik Konyuchenko
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
Chris Packham
9e10cb6fba Merge branch 'master' of git://github.com/bensuperpc/crosstool-ng 2021-06-24 20:29:14 +12:00
Chris Packham
14b3dd3f88 Merge branch 'lancethepants-uclibc-ng_1.0.38' 2021-06-24 20:28:09 +12:00
Nik Konyuchenko
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
Bensuperpc
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
lancethepants
7b54693881 Add uClibc-ng 1.0.38
Signed-off-by: Lance Fredrickson <lancethepants@gmail.com>
2021-06-22 14:02:33 -06:00
Chris Packham
c7996054b5
Merge pull request #1534 from cpackham/ci-download
CI: download tarballs
2021-06-20 20:22:46 +12:00
Chris Packham
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
Chris Packham
28101b8256
Merge pull request #1450 from keith-packard/libstdc++-compat
Libstdc++ compat
2021-06-20 20:22:07 +12:00
Chris Packham
8c002db141 CI: download tarballs
Add a single job to download (most of) the tarballs required. This
should allow the CI job to fail early when various sources are off-line
and prevent us from unintentionally DDoSing sites that we rely on.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-06-20 13:41:47 +12:00
Chris Packham
96d8a0588f gcc: Make CC_GCC_TM_CLONE_REGISTRY tristate
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>
2021-06-20 11:37:00 +12:00
Keith Packard
db061bdf2b packages/picolibc: Add version 1.6.2
Signed-off-by: Keith Packard <keithp@keithp.com>
2021-06-17 10:30:25 -07:00
Keith Packard
83029d7570 packages/gcc/libstdc++: #include_next → #include
Some of the installed libstdc++ header files use '#include_next' to
work around toolchain oddities that might cause loops in the
compiler. However, these also cause mistakes in locating header files
when there are multiple C libraries installed as '#include_next' often
ends up finding default C library header files.

It doesn't seem like this patch could be accepted upstream; there's a
long discussion about the use of include_next in these headers which I
cannot fully understand.

Signed-off-by: Keith Packard <keithp@keithp.com>
2021-06-17 10:30:25 -07:00
Keith Packard
3e259dbaf8 Switch to picolibc version 1.5.1
This version includes a small link fix for the sample crt0 on riscv.

Signed-off-by: Keith Packard <keithp@keithp.com>
2021-06-17 10:30:25 -07:00
Chris Packham
5ab29fbf3e
Merge pull request #1527 from cpackham/kconfig-fix
Move SRC_CUSTOM inside choice
2021-06-14 11:12:51 +12:00
Chris Packham
f17fba6080 Move SRC_CUSTOM inside choice
Prior to commit 30bffa96 SRC_CUSTOM was inside the choice with
SRC_RELEASE and SRC_DEVEL making the 3 options mutually exclusive.
Restore this behaviour keeping the "fix" to keep kconfig happy.

Fixes #1151
Fixes: 30bffa96 ("don't nest choices")
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-06-09 20:35:53 +12:00
Chris Packham
21c6818126
Merge pull request #1525 from cpackham/archlinux-docker
testing: docker: Use archlinux:latest instead of archlinux/base:latest
2021-06-09 20:12:05 +12:00
Chris Packham
594b9286f4
Merge pull request #1524 from stephanosio/gcc_custom_libstdcpp_cxx_flags_upstream
Fix libstdc++ build options
2021-06-09 20:11:48 +12:00
Chris Packham
e713913029
Merge pull request #1523 from stephanosio/add_tm_clone_registry_config_upstream
gcc: Add CT_CC_GCC_TM_CLONE_REGISTRY config
2021-06-09 20:11:30 +12:00
Chris Packham
fde8e92d4d testing: docker: Use archlinux:latest instead of archlinux/base:latest
The name of the docker images have changed on docker hub. Update the
name used to point to the official archlinux image.

Fixes #1522

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-06-08 20:59:58 +12:00
Stephanos Ioannidis
1e21a30287 gcc: Add CT_CC_GCC_TM_CLONE_REGISTRY config
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>
2021-06-08 02:13:45 +09:00
Stephanos Ioannidis
7144b5f275 newlib: Add libstdc++ nano-specific CXXFLAGS
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>
2021-06-07 19:53:28 +09:00
Stephanos Ioannidis
fffa4c5aa5 gcc: Allow setting custom target CXXFLAGS
This commit adds two additional arguments (`cxxflags_for_target` and
`extra_cxxflags_for_target`) for the gcc backend build function that
can be used to specify custom target CXXFLAGS.

By default, the target CXXFLAGS is set to the target CFLAGS. When
`cxxflags_for_target` is specified however, it overrides that behaviour
and allows setting different target CXXFLAGS from the target CFLAGS.

The `extra_cxxflags_for_target` argument can be used to specify the
extra target CXXFLAGS to be appended to the target CXXFLAGS. This is
useful when it is necessary to append CXX-specific flags to the
existing CFLAGS to be used as the target CXXFLAGS.

A useful application of this is building full and nano versions of
libstdc++ with different target CXXFLAGS as necessitated by
`nano.specs`.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2021-06-07 19:53:28 +09:00
Stephanos Ioannidis
3c637c1eec gcc: Assume '-O2' by default for building gcc target libraries
The gcc target libraries (e.g. libstdc++) are currently built without
any optimisation flag when `CT_CC_GCC_ENABLE_TARGET_OPTSPACE` is not
enabled and default to `-O0` unless user explicitly specifies an
optimisation flag.

This commit updates the gcc build script to assume `-O2` for building
target libraries unless user provides a different optimisation flag.

Note also that this is the default behaviour for gcc when
C[XX]FLAGS_FOR_TARGET is not overridden.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2021-06-07 19:52:58 +09:00
Stephanos Ioannidis
4ab0727f98 packages: gcc: Add missing milestones
This commit adds the missing gcc milestones 9 and 10, so that the
helper symbols `GCC_9_or_later` and `GCC_10_or_later` can be used.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2021-06-07 18:54:58 +09:00
Chris Packham
6dd60ca694
Merge pull request #1521 from cpackham/expat
Expat
2021-05-31 15:12:26 +12:00
Chris Packham
89e00e661f expat: Bump to 2.4.1
Bring in fixes CVE-2013-0340.

Fixes #1520

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-05-29 21:33:42 +12:00
Chris Packham
8fe6df1e98 expat: Drop support for 2.1.1
Drop out of date and vulnerable expat version.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-05-29 21:06:17 +12:00
Chris Packham
248967937c
Merge pull request #1517 from graysky2/isl-0.24
Update utils to latest stable
2021-05-26 21:21:37 +12:00
John Audia
9934a20dc8 Update utils to latest stable
* autoconf from 2.69 to 2.71
* isl from 0.22 to 0.24

Signed-off-by: John Audia <graysky@archlinux.us>
2021-05-25 06:05:11 -04:00
Chris Packham
3150bef839
Merge pull request #1515 from messense/glibc-2-24-powerpc64-memset
Add glibc 2.24 fix cmpli usage in power6 memset patch
2021-05-25 20:00:39 +12:00