Commit Graph

5424 Commits

Author SHA1 Message Date
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
Alexey Neyman
4c0d78bb64 gdb: use single-number versions/milestones for 9+
Starting with GDB9, the release number is only two numbers (with the
last being patchlevel). Therefore, keep two numbers for releases 8 and
below, but just a single number for 9 and up.

Signed-off-by: Alexey Neyman <stilor@att.net>
2022-02-11 00:47:51 -08:00
Alexey Neyman
586c2d0156 sparc-leon: restrict to GDB9
Starting with GDB10, it requires support for std::future<> in the
compiler. Such support has not been available on some architectures
until GCC9 (see PR 64735). I haven't determined the exact list of
affected architectures, so decided to make it a broad dependency: for
GDB10+, you need GCC9+.

Signed-off-by: Alexey Neyman <stilor@att.net>
2022-02-11 00:47:51 -08:00
Alexey Neyman
c48319e65f Rename moxiebox to match its tuple
Signed-off-by: Alexey Neyman <stilor@att.net>
2022-02-11 00:47:51 -08:00
Alexey Neyman
b4191b23a8 Update tic6x sample
Restrict kernel to 5.11 and below (support for this arch has been
dropped in 5.12); rename the sample to match its name as printed by
`ct-ng show-tuple` (otherwise, `make saveconfig` does not update the
sample's configuration).

Signed-off-by: Alexey Neyman <stilor@att.net>
2022-02-11 00:47:51 -08:00
Alexey Neyman
858f939436 More sample config updates
*-moxie*: DTC_VERBOSE is a wobbler, it depends on whether dtc is enabled
on the host machine (if dtc is installed, DTC defaults to 'n' and hence
prevents DTC_VERBOSE from appearing at all). Remove the option from
config file so that its value reverts to the default.

xtensa-fsf-elf: mark configuration obsolete so that it can use GDB 8.1
(it uses custom sources and needs to select the version therein)

Signed-off-by: Alexey Neyman <stilor@att.net>
2022-02-11 00:47:51 -08:00
Alexey Neyman
196f62e18c Upgrade script for uClibc retirement
Run samples through upgrade and fix accumulated breakages:

*-centos6-*: After 2.12.2 retirement, the samples selected most recent
glibc (2.34) which also forced kernels 3.2+. Revert to 2.12.1 and
2.6.32.71, respectively. Interestingly, 2.12.1 was marked as being used
in CentOS6, but the samples selected 2.12.2. Anyway, CentOS6 is EOL now
and glibc 2.12 is going to be marked obsolete, and retired soon.

arc-*: Make TARGET_VENDOR match the sample's name; otherwise `ct-ng
saveconfig` places the config file into a different location.

Fix 'savedefconfig' which was not saving the configuration file version
(CT_VCHECK was set to 'load' after CT_LoadConfig call).

Signed-off-by: Alexey Neyman <stilor@att.net>
2022-02-11 00:47:50 -08:00
Alexey Neyman
cc6b7fad46 Retire obsoleted milestones
... and the code dependent on them, after the latest wave of obsolete
package removals. This concludes the glorious history of the original
uClibc (non-NG) with lots of kludges removed.

There was a choice here, whether to call the resulting libc "uClibc" or
"uClibc-ng". I opted in favor of giving uClibc-ng the recognition it
deserves, although it had some ripple effect in the ct-ng code.

Signed-off-by: Alexey Neyman <stilor@att.net>
2022-02-11 00:47:50 -08:00
Alexey Neyman
4c6604e730 Remove gcc-oracle-4.8-44.0.5
GCC 4.8 and its prerequisites have been removed by 04dce680, 41d4583a
and e4221734; as a result, 4.8-based version of gcc-oracle became
unbuildable (no valid versions for the prerequisites).

Update the samples to use 4.9.4; which however fails to build on a modern
host GCC. Build fix backported to gcc-4.9 and gcc-5 versions.

Fix binutils-oracle build with host GCC11.

Signed-off-by: Alexey Neyman <stilor@att.net>
2022-02-11 00:47:50 -08:00
Alexey Neyman
8d63665818 glibc-ports: remove obsolete versions
The corresponding versions of glibc have been removed previously; kill
their "ports" counterpart.

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