As mentioned in #1908, we should have patches that are experimental
under the CT_EXPERIMENTAL option. This an experimental patch to gcc:
https://gcc.gnu.org/pipermail/gcc-patches/2022-August/600452.html
And since it may affect production toolchains, we should move this patch
to the experimental bundled patches introduced in the previous commit.
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
This adds backports of a couple of patches necessary to support macOS
arm64 hosts for gcc. It was ported from
https://github.com/richfelker/musl-cross-make/pull/129 with some small
fixups to make the patches apply cleanly.
Signed-off-by: Steven Fackler <sfackler@gmail.com>
This patch, submitted upstream but not (yet?) accepted, adds a third
parameter to the specs file 'getenv' function that provides a value
for when the environment variable is not set, instead of having gcc
fail.
This seemed like the safest way to provide a mechanism for getting the
installed location of the toolchain from inside a specs file as, when
not installed in the built-in location, gcc already sets the
GCC_EXEC_PREFIX environment variable to a well defined location within
that directory hierarchy, but when installed in the location specified
at compile time, gcc does not. Providing a default value that matches
the compile-time location then allows the specs file to compute paths
relative to the current GCC installation location, whereever it is
installed.
Signed-off-by: Keith Packard <keithp@keithp.com>
There was a typo in the original commit which used "zlib" instead of
"zstd". The checksums remain the same.
Fixes: 4cba2994 ("Add zstd to the companion libs")
Signed-off-by: Chris Packham <judge.packham@gmail.com>
We've been carrying around this patch for ages. It was first added in
commit 42e908c4 ("libc/glibc: workaround for autoconf'ed define of
caddr_t") and ported to glibc-2.13 in commit de6b6733 ("libc/glibc: add
patch to avoid caddr_t redefinition"). It has been ported to every new
version of glibc ever since.
It's not immediately obvious that the original problem still affects
modern glibc versions. If there is a problem it hasn't been reported to
the glibc maintainers in the 12 years since it was first seen. It could
be that ct-ng is unique in the way we support canadian builds or that
there was another fix for the same problem applied upstream sometime in
the last 12 years.
Drop the patch now to stop in being propagated blindly to new glibc
versions. Doing it as a separate commit (as opposed to dropping it in
the previous commit which bumped the version) allows the decision to be
documented and if this turns out to be wrong it can be easily reverted.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Add zstd to the companion libs witch allows to use lto zstd compression
in a canadian or cross-native enviroment
Signed-off-by: QBos07 <62326551+QBos07@users.noreply.github.com>
Signed-off-by: Quentin Boswank <62326551+QBos07@users.noreply.github.com>
This commit adds support for the following Oracle products, targeting
Oracle Linux 8.7:
Binutils 2.30-117.0.1
GCC 8.5.0-15.0.2
glibc 2.28-211.1.0.1
UEK5/u4 4.14.35-2025.400.8
Sample configuration files are provided for the following triplets:
aarch64-ol8u7-linux-gnu
x86_64-ol8u7-linux-gnu
i686-ol8u7-linux-gnu
Signed-off-by: Cupertino Miranda <cupertino.miranda@oracle.com>
Some corporate VPN services block ftp connections. It leads
to an error while building a toolchain with packages with ftp
mirrors. It's possible to safely use https instead of ftp.
Signed-off-by: Yuriy Kolerov <ykolerov@synopsys.com>
- expat-2.4.1 is not available on sf.net due to vulnerabilities
- mark expat-2.4.1 as obsolte
- add expat-2.5.0 version info
Signed-off-by: Chris Friedt <cfriedt@meta.com>
Brings in the following changes
- Fix a bug when getting a gzip header extra field with
inflateGetHeader(). This remedies CVE-2022-37434.
- Fix a bug in block type selection when Z_FIXED used. Now the smallest
block type is selected, for better compression.
- Fix a configure issue that discarded the provided CC definition.
- Correct incorrect inputs provided to the CRC functions. This mitigates
a bug in Java.
- Repair prototypes and exporting of the new CRC functions.
- Fix inflateBack to detect invalid input with distances too far.
Mark zlib-1.2.12 as obsolete.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
https://sourceware.org/pipermail/binutils/2022-August/122246.html
Add binutils 2.39 and regenerate patches.
0008-binutils-2.38-vs.-ppc32-linux-kernel.patch is dropped as it has
been applied upstream. Add a milestone for 2.39 which will be handy for
Loongarch.
Binutils now requires bison >= 3.0.4 to build gprofng for x86/aarch64 so
we build our own bison when the host bison does not meet that
requirement (which appears to be the case on macOS).
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Add 5.19
Bump 5.18.4 -> 5.18.15
Bump 5.15.47 -> 5.15.58
Bump 5.10.122 -> 5.10.134
Bump 5.4.198 -> 5.4.208
Bump 4.14.283 -> 4.14.290
Bump 4.9.318 -> 4.9.325
Add a milestone for 5.19 as this adds support for the loongarch
CPU architecture.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
https://sourceware.org/pipermail/libc-announce/2022/000034.html
Add the new version. Regenerate the patches and remove the one that had
been applied upstream. Add a milestone for 2.36 as this version
introduces support for the loongarch CPU architecture.
Fixes#1795
Signed-off-by: Chris Packham <judge.packham@gmail.com>
https://gcc.gnu.org/pipermail/gcc-announce/2022/000173.html
Add GCC 10.4.0 and regenerate the ct-ng patches. The
powerpc-Fix-asm-machine-directive-for-some-CPUs patch is dropped as the
change was applied upstream (and subsequently refactored).
Closes#1777
Signed-off-by: Chris Packham <judge.packham@gmail.com>
This reverts commit 1b6ad7cd48. As it
turns out libsanitizer isn't supported on mips64 with GCC11 or older
(there is support in GCC12). The bug is actually the fact that ct-ng
allows configuring libsanitizer for architectures that don't support it.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
This commit restore the support for the following products
in Oracle Linux 7.9:
Binutils 2.27-44.base.0.400
GCC 4.8.5-44.0.5
glibc 2.17-317.0.3
UEK5/u4 4.14.35-2025.400.8
Sample configurations were updated to use such versions,
and be compiled in host machine using recent GCC versions.
Signed-off-by: Guillermo E. Martinez <guillermo.e.martinez@oracle.com>
Extend the fix from commit 6b465e15 ("Remove m1 from multilibs for GCC11
on SH arch.") to cover GCC 12 and future releases.
Remove the patch that was added to solve the same problem.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
This commit adds support for the following Oracle products, in order
to target Oracle Linux 8.6:
Binutils 2.30-113.0.1
GCC 8.5.0-10.0.2
glibc 2.28-189.1.0.1
UEK5/u4 4.14.35-2025.400.8
Sample configuration files are provides for the following triplets:
aarch64-ol8u6-linux-gnu
x86_64-ol8u6-linux-gnu
i686-ol8u6-linux-gnu
Signed-off-by: Guillermo E. Martinez <guillermo.e.martinez@oracle.com>
glibc-2.23 fails to build for mips with
nptl/libpthread.so:(*IND*+0x0): multiple definition of `vfork@GLIBC_2.0';
This was fixed in glibc-2.24. Backport the fix for glibc-2.23.
Fixes#1744
Signed-off-by: Chris Packham <judge.packham@gmail.com>
For some reason GCC 12 ends up hitting the _MIPS_SIM_NABI32 case for
Linux's arch/mips/include/uapi/asm/stat.h when building libsanitizer.
This is basically the opposite of the problem from
commit 1b6ad7cd ("gcc: Bring in fix for libsanitizer on mips64").
Dropping the patch resolves the issue for GCC 12.
Fixes#1741
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Add GCC 12.1 https://gcc.gnu.org/gcc-12/
The following patches from GCC 11.3.0 are no longer needed:
- 0005-arc-Update-ZOL-pattern.patch
- 0006-arc-Update-u-maddhisi4-patterns.patch
- 0007-arc-Fix-maddhisi-patterns.patch
- 0008-Darwin-aarch64-Initial-support-for-the-self-host-dri.patch
- 0009-libstdc-Check-for-TLS-support-on-mingw-cross-compile.patch
One new patch is needed to avoid issues building sh-unknown-elf:
- 0006-sh-Avoid-mb-m1-multilib-combination.patch
It is also necessary to build all-build-libcpp. This target exists as
far back as GCC 6 so has been done unconditionally.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
The kernel's struct stat is 104 bytes when compiling for
_MIPS_SIM_ABI64. Set struct_kernel_stat_sz to match.
Fixes#1733
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Add 5.17.5
Bump 5.16.9 -> 5.16.20
Bump 5.15.23 -> 5.15.37
Bump 5.10.100 -> 5.10.113
Bump 4.19.229 -> 4.19.241
Bump 4.14.266 -> 4.14.277
Bump 4.9.301 -> 4.9.312
Linux 5.5 made `make headers_check` a no-op and as of 5.17 it has been
removed so add a milestone and use it as a dependency for
KERNEL_LINUX_INSTALL_CHECK.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
These were unintentionally omitted when the new version was added.
Fixes: 2804d686 ("duma: Add version 2.5.21")
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Add duma 2.5.21 and mark 2.5.15 as obsolete. While we're at it use the
versions hosted on github which requres new checksums for the 2.5.15
version because the generated tarballs are different.
It appears we don't need any of the patches we've been carrying for the
older version but we do need to pass CC_FOR_BUILD in addition to HOSTCC.
When 2.5.15 is removed we can drop HOSTCC (and DUMA_CPP, DUMA_SO).
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Drop gdb 7.11.1, 7.12.1, 8.0.1, 8.1.1 and 8.2.1. Cleanup milestones
related to these older versions.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
strace aims to be backwards compatible with older kernels so we don't
actually need to have every strace version. The 4.15-4.26 versions were
technically in a ct-ng release so they were obsoleted. Now that the
1.25.0 release is out we can remove these versions.
Going forward we will obsolete the version that is in the latest ct-ng
release and simply remove intervening strace versions as they are
released.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
glibc 2.12.1 was marked as obsolete. Now that the 1.25.0 release is out
this version can be removed completely. As glibc 2.12.1 was the last
remaining version supported by glibc-ports support for glibc-ports is
also removed.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
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>
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>
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>
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>
* 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>
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>
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>
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>
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>
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>
Binutils version 2.38 has been released
https://www.phoronix.com/scan.php?page=news_item&px=GNU-Binutils-2.38https://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>
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>
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>
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>
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>
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>
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>
... 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>
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>