Commit Graph

5533 Commits

Author SHA1 Message Date
Chris Packham
53bbdc7425 Remove obsolete bionic/android support
The bionic libc support was out of date and relied on downloading
binaries from the internet. It was already marked as obsolete. Now that
the 1.25.0 release is out it can be completely removed.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-05-10 19:46:53 +12:00
Chris Packham
e8c4d97683 avr-libc: Update vcs URL
The avr-libc project has moved to github and is now using git. Update
the repository field accordingly.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-05-08 13:37:41 +12:00
Chris Packham
fcea8e33ac mpfr: Update vcs URL
The mpfr project is now using git. Update the repository field
accordingly.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-05-08 13:37:41 +12:00
Chris Packham
aa46366fc3 gcc: Update vcs URL
The GCC project has been using git for a while now. Update the
repository field accordingly.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-05-08 13:37:41 +12:00
Dima Krasner
31cc2e56d5 musl: add 1.2.3
Signed-off-by: Dima Krasner <dima@dimakrasner.com>
2022-05-08 13:37:03 +12:00
Hans-Christian Noren Egtvedt
3c94c6c678 gcc: bump GCC 11 to latest release 11.3.0
Remove patches applied upstream we no longer need to maintain here.

Signed-off-by: Hans-Christian Noren Egtvedt <hegtvedt@cisco.com>
2022-05-08 13:29:34 +12:00
Johan Levin
8fa98eeeff populate: Include dependencies of PIE executables
Modern versions of the 'file' utility give different output for position
dependent and position independent executables. The populate tool should
consider both types.

Signed-off-by: Johan Levin <johan13@gmail.com>
2022-05-08 09:48:44 +12:00
Dima Krasner
b6887d346f scripts/functions: collect license files named COPYRIGHT*
Signed-off-by: Dima Krasner <dima@dimakrasner.com>
2022-05-03 20:53:36 +12:00
Chris Packham
7e21141973 glibc: Enable -Werror for more combinations of GCC/GLIBC
Newer GCC versions trigger warnings on older GLIBC versions. GLIBC 2.29
is warning free with GCC9. GLIBC 2.31 is warning free with GCC10. GLIBC
2.34 is warning free with GCC11.

Add milestones for 2.31 and 2.34 and use those to set the default value
for GLIBC_ENABLE_WERROR based on the GCC version.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-05-01 12:02:54 +12:00
Chris Packham
dd4d19fce2 zlib: Update to zlib-1.2.12
Bring in the following changes

- Fix a deflate bug when using the Z_FIXED strategy that can result in
  out-of-bound accesses.
- Fix a deflate bug when the window is full in deflate_stored().
- Speed up CRC-32 computations by a factor of 1.5 to 3.
- Use the hardware CRC-32 instruction on ARMv8 processors.
- Speed up crc32_combine() with powers of x tables.
- Add crc32_combine_gen() and crc32_combine_op() for fast combines.

Drop two patches that have been applied upstream and regenerate the
remaining two.

Fixes #1708

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-04-22 10:15:41 +12:00
Elliot Saba
7f84b9ab92 [scripts/functions]: Fix quoting issue in comparison
On my Ubuntu machine (with `dash` version `0.5.10` and `bash` version `5.0.17`),
I would get errors such as the following:

```
crosstool-ng/scripts/functions: line 730: [: !=: unary operator expected
```

This is generally because a variable is not set, and expands to an empty string
causing the test operator to mis-parse the expression.  To fix this, I have
added quotes around the variable.

Signed-off-by: Elliot Saba <staticfloat@gmail.com>
2022-04-22 10:15:04 +12:00
Chris Packham
429e6d8e88 testing/docker: Add meson and ninja to containers
meson and ninja are needed to build picolibc.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-04-21 15:12:31 +12:00
Keith Packard
6ddf9e8dbf Update picolibc to 1.7.6
* Fixes 1.7.4 issue with recent meson versions which error on
  'descrption' typo.

* Positional parameters (%$1d) in printf/scanf

* Lots (and lots) of math library exception/errno fixes; now tested against
  glibc test suite.

Signed-off-by: Keith Packard <keithp@keithp.com>
2022-04-02 13:31:28 +13:00
Anton Maklakov
06120b97ff xtensa: Remove obsoleted CT_ARCH_XTENSA_CUSTOM_NAME 2022-04-02 13:31:07 +13:00
Chris Packham
a8d2c2e1fa Enable posix threads in i686-w64-mingw32
Posix threads are enabled in the x86_64-w64-mingw32 sample having them
enabled in i686-w64-mingw32 makes things consistent for these targets.

Fixes #1696

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-04-02 13:30:46 +13:00
Anton Maklakov
6cd16639b9 gcc: add fixes for GCC 11.2. Anon and aggregated struct access 2022-03-28 21:01:58 +13:00
Anton Maklakov
bfda65e00e gcc: rename patches to order 2022-03-28 21:01:58 +13:00
Chris Packham
1e47ca1e70 gcc: powerpc: Fix asm machine directive for some CPUs
Bring in upstream fix for gcc outputting an incorrect .machine
directive.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-02-28 20:59:33 +13:00
Chris Packham
0822a8a2e4 binutils: Bring in upstream fix for powerpc
Some versions of GCC emit a .machine directive near the start of the
compiler's assembly output that overrides the CPU passed on the command
line. Bring in an upstream change for binutils that works around the
problem.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-02-28 20:59:33 +13:00
Chris Packham
8ee3089202 kconfig: Use ncurses location determined by ./configure
Prior to commit bbc4db13 ("kconfig: Sync with upstream v4.18") we used
the macros CURSES_LOC and MENU_LOC to tell us where curses.h and menu.h
were installed. Restore this behaviour so that we can deal with some of
the odd places that the curses headers end up.

Fixes #1403

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-02-28 20:59:14 +13:00
ivanka2012
76d9b8c15c Fix MinGW libstdc++ TLS functionality
Backport of cc1e28878a

Signed-off-by: Kittenberger Iván <ivanka2012@gmail.com>
2022-02-28 20:58:55 +13:00
Norbert Lange
ad3996a483 gcc: add gcc libstdcxx-verbose option
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>
2022-02-23 20:21:16 +13:00
Norbert Lange
2a856608e1 update mpc to 1.2.1
Signed-off-by: Norbert Lange <nolange79@gmail.com>
2022-02-23 20:20:55 +13:00
Norbert Lange
3300c879f8 Add isl 0.23
Signed-off-by: Norbert Lange <nolange79@gmail.com>
2022-02-23 20:20:55 +13:00
Norbert Lange
c638767162 Update isl to 0.22.1
Signed-off-by: Norbert Lange <nolange79@gmail.com>
2022-02-23 20:20:55 +13:00
Chris Packham
e2eb7d8587 binutils: Disable libdebuginfod when producing a static toolchain
libdebuginfod is incompatible with static linking so pass
--without-debuginfod when CT_STATIC_TOOLCHAIN is selected.

Fixes #1683

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-02-23 20:20:34 +13:00
Chris Packham
4221618268 glibc: mark 2.12.1 as obsolete
CentOS6 has reached EOL so now glibc-2.12.1 can be marked as obsolete.
This also means the last glibc-ports version (and glibc-ports itself)
obsolete as well. These will be removed after the next release.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-02-23 20:20:09 +13:00
Chris Packham
20044c0bf7 bionic: mark bionic/android-ndk as obsolete
Support for bionic was dropped by GCC some time ago. There are patches
for older GCC versions but those are difficult to maintain and the
version of the android-ndk they support is of little use. Mark all of
the existing bionic support as obsolete so it can be removed after the
next release.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-02-23 20:19:46 +13:00
Chris Packham
71fad07b71 strace: Remove 5.0 to 5.14
strace maintains backwards compatibility with older kernels so there is
no need to keep multiple versions of strace. Versions 5.0 to 5.14
weren't present in the crosstool-ng-1.24 release so remove them directly
instead of marking them as obsolete.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-02-23 20:19:10 +13:00
Chris Packham
3a80ddda77 strace: mark 4.15 to 4.26 as obsolete
strace maintains backwards compatibility with older kernel versions so
there's no particular reason to keep many versions of strace around.
Mark the versions that were present in the 1.24 release as obsolete.
They will be remove following the next release.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-02-23 20:19:10 +13:00
Artem Panfilov
a21748bd53 CI: add Canadian Cross build job
Signed-off-by: Artem Panfilov <artemp@synopsys.com>
2022-02-20 20:41:31 +13:00
Artem Panfilov
e1a654eb93 CI: sort sample lines ascending order
Signed-off-by: Artem Panfilov <artemp@synopsys.com>
2022-02-20 20:41:31 +13:00
Artem Panfilov
5ea8f0f524 CI: auto reformat YAML
Signed-off-by: Artem Panfilov <artemp@synopsys.com>
2022-02-20 20:41:31 +13:00
Chris Packham
74d6f26b46 strace: Add 5.16
https://lists.strace.io/pipermail/strace-devel/2022-January/010884.html

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-02-16 20:34:02 +13:00
Chris Packham
0b2ef63a6b linux: Add 5.16.9, bump LTS
Add 5.16.9
Bump 5.15.2 -> 5.15.23
Bump 5.10.79 -> 5.10.100
Bump 5.4.159 -> 5.4.179
Bump 4.19.217 -> 4.19.229
Bump 4.9.290 -> 4.9.301
Bump 4.4.292 -> 4.4.302

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-02-16 20:33:42 +13:00
Alexey Neyman
681aaef1f1
Merge pull request #1674 from stilor/master
Updates to make `ct-ng build-all` pass
2022-02-14 00:11:42 -08:00
Hans-Christian Noren Egtvedt
ba680a3e5b packages/binutils: add binutils-2.38
Binutils version 2.38 has been released
https://www.phoronix.com/scan.php?page=news_item&px=GNU-Binutils-2.38
https://sourceware.org/pipermail/binutils/2022-February/119721.html

Patches 0000 to 0008 from binutils-2.37 applied clean, so forward ported
them.

The following patches are now applied from upstream, hence dropped:
0010-change-uint-to-unsigned.patch
0011-bfd-close-the-file-descriptor-if-there-is-no-archive-fd.patch
0012-pr28391-strip-objcopy-preserve-dates-a-cannot-set-time.patch
0013-ld-pru-fix-resource_table-output-section-alignment.patch
0014-pr28422-build_id-use-after-free.patch
0015-pr28459-readelf-issues-bogus-warning.patch
0016-pr28417-std-string-no-longer-allows-accepting-nullptr_t.patch
0017-pr28540-segmentation-fault-on-NULL-byte_get.patch
0018-gold-place-note-gnu-property-section-before-other-note-sections.patch
0019-waddress-warning-in-ldelf.c.patch

Signed-off-by: Hans-Christian Noren Egtvedt <hegtvedt@cisco.com>
2022-02-13 20:47:12 +13:00
Chris Packham
c5565f175a powerpc: Allow GCC 8.5 for SPE ABI
Support for the SPE ABI was removed in GCC 9. Update the select to
GCC_REQUIRE_older_than_9 so that GCC 8.5 can be selected.

Fixes #1349, fixes #1666

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-02-13 20:46:27 +13:00
Alexey Neyman
86c2982568 Run patches thru manage-packages -P
This refreshes the line numbers, removes any fuzz (which would make any
future forward ports easier) and standardizes the patch/file headers
(which makes them easier to read).

Signed-off-by: Alexey Neyman <stilor@att.net>
2022-02-11 00:47:51 -08:00
Alexey Neyman
1210b0c2f4 Run packages through manage-packages -D
This fixed some typos in the checksum files (please don't edit them
manually, this is error-prone!)

Signed-off-by: Alexey Neyman <stilor@att.net>
2022-02-11 00:47:51 -08:00
Alexey Neyman
5411e69b91 Update the docker containers
To avoid proliferation of versions, I suggest the following policy: the
oldest LTS release still receiving maintenance updates + the most recent
release for distributions that offer LTS releases.

For CentOS, this means CentOS7 and CentOS Stream 9 (since CentOS are all
"long-term support", this is just the oldest and the newest among
currently supported).

For Ubuntu, this means Ubuntu 18.04 (previous LTS are in "security fixes
only" mode) and Ubuntu 21.10. Recent Ubuntu attempts to be interactive
during the configuration of tzdata, required some additional setup.

In the common installation script, the logic for handling a
configured/built local directory breaks if `gmake` is detected as the
make binary; `make distclean` then fails inside the container because
not all systems have `gmake` symlink. Remove that attempt of a
workaround completely, just require that the host directory is clean.

Signed-off-by: Alexey Neyman <stilor@att.net>
2022-02-11 00:47:51 -08:00
Alexey Neyman
a4cff7a061 glibc-2.12.1: backport a fix for 2-pass build
Otherwise, it tries to link against libgcc_eh which is not available
until the final compiler (or previously, the pass-2 compiler) is built.

Signed-off-by: Alexey Neyman <stilor@att.net>
2022-02-11 00:47:51 -08:00
Alexey Neyman
5a0be8b4ec Unify core passes
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>
2022-02-11 00:47:51 -08:00
Alexey Neyman
93be629f2b Fold libc_start_files into libc
After 557b9d4, libc_start_files and libc_main steps are performed one
after another. It doesn't make sense, especially since some of the libcs
(glibc, uClibc-ng) go to great lengths to first install start files in
the first step, libc_start_files, only to remove them immediately in the
second step, libc_main.

Current build steps also break in the xtensa newlib configurations, as
it needs to install the custom xtensa headers before building the libgcc
and after 557b9d4, the headers are not installed before libgcc is built
in pass-1.

Therefore, finish what 557b9d4 mentioned but did not do: move header
installation into a new step, libc_headers, and combine libc_start_files
and libc_main into a single step.

This also allows to combine the core pass-1/pass-2 steps, to be done in
a subsequent commit.

Signed-off-by: Alexey Neyman <stilor@att.net>
2022-02-11 00:47:51 -08:00
Alexey Neyman
c320d220d6 Turn off debugging in sample configuration
Signed-off-by: Alexey Neyman <stilor@att.net>
2022-02-11 00:47:51 -08:00
Alexey Neyman
7b97bdd825 Convert tabs to spaces
Recent changes introduced a mixture of tabs/spaces that result in broken
indentation in multiple places.

Signed-off-by: Alexey Neyman <stilor@att.net>
2022-02-11 00:47:51 -08:00
Alexey Neyman
c6ff1eca5b Restrict *-uclibc,* canadians to gettext 0.20
Newer gettext is incompatible with uClibc-NG in cross-compilation, see
the comment in the code.

Signed-off-by: Alexey Neyman <stilor@att.net>
2022-02-11 00:47:51 -08:00
Alexey Neyman
a59503c872 Update m4 to 1.4.19
This fixes the x86_64-multilib-linux-uclibc,powerpc-unknown-elf canadian
cross example (which currently breaks because the gnulib example assumes
SIGSTKSZ is constant while recent libcs started defining it as a
sysconf(...) call.

Signed-off-by: Alexey Neyman <stilor@att.net>
2022-02-11 00:47:51 -08:00
Alexey Neyman
58da27c965 Restrict bionic's GCC/GDB selections
Refer to the comments in the code for the reason.

Signed-off-by: Alexey Neyman <stilor@att.net>
2022-02-11 00:47:51 -08:00
Alexey Neyman
db3b51de5a Remove GDB 11.1
This was originally an upgrade from 11.1 to 11.2 that fixed moxie-*
samples affected by PR sim/28302. GDB 11.2 landed independently on
master, so just remove 11.1 (one release per upstream branch, please, we
already have lots of version/architecture/host permutations to test).

Signed-off-by: Alexey Neyman <stilor@att.net>
2022-02-11 00:47:51 -08:00