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>
Copied patches from glibc version 2.34, they still apply clean and I
assume they still are relevant.
Signed-off-by: Hans-Christian Noren Egtvedt <hegtvedt@cisco.com>
[cp add __convert_scm_timestamps patch]
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Forward port patches from gdb-11.1, as they still apply clean, hence
still assumed to be relevant.
Signed-off-by: Hans-Christian Noren Egtvedt <hegtvedt@cisco.com>
Fetch in various patches from binutils-2_37-branch upstream.
The most vital change is the
0012-pr28391-strip-objcopy-preserve-dates-a-cannot-set-time.patch which
allows building large upstream projects like Qt WebEngine without need
100k's of file descriptors open.
Signed-off-by: Hans-Christian Noren Egtvedt <hegtvedt@cisco.com>
As of Linux v5.3 rsync is used as part of the build process. Add Linux
5.3 as a milestone, configure detection of rsync and a dependency on
rsync for Linux 5.3 and newer. Add a comment in so that users can tell
why they can't select a newer version.
Fixes#1628
Signed-off-by: Chris Packham <judge.packham@gmail.com>
The patch in question was first introduced in [1] as a copy-paste
from OpenEmbedded [2], where it seems to exist on the first ever SVN commit.
Later it was removed from OE in [3] on switching to Binutils 2.25.
It's not clear why it was introduced in the first place and why it
got removed later. But given in OE/Yocto it was missing since 2015
and never was reverted, I guess it is not strictly necessary
at least with recent Binutils. So it's an extra patch which adds
questionable value. Moreover it gets in the way if one wants to
merge a couple of separate toolchains like little- & big-enadian
so that "bin" & "lib" folder contain all the binaries and libs
simultaneously. W/ that patch in place ldscripts won't co-exist,
but instead the latest set of scripts will override all the rest.
And in case of aforementioned example w/ merged little- &
big-endian toolchains BE ldscripts will override LE ones leading
to a funny behavior: on linking w/o explicitly set endianess
(via "-EL" or "-EB") default linker scripts won't match the GCC driver
used:
------------------------------->8---------------------------
$ arc-elf32-gcc test.c -Wl,-marcv2elfx
...
.../bin/../lib/gcc/arc-snps-elf/11.2.0/../../../../arc-snps-elf/bin/ld: .../bin/../lib/gcc/arc-snps-elf/11.2.0/../../../../arc-snps-elf/lib/crt0.o: compiled for a little endian system and target is big endian
.../bin/../lib/gcc/arc-snps-elf/11.2.0/../../../../arc-snps-elf/bin/ld: failed to merge target specific data of file .../bin/../lib/gcc/arc-snps-elf/11.2.0/../../../../arc-snps-elf/lib/crt0.o
.../bin/../lib/gcc/arc-snps-elf/11.2.0/../../../../arc-snps-elf/bin/ld: .../bin/../lib/gcc/arc-snps-elf/11.2.0/crti.o: compiled for a little endian system and target is big endian
...
------------------------------->8---------------------------
[1] cfbcdd3786
[2] 4b46c1f6e8
[3] 3c7fe424f8
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
gforge.inria.fr has been shutdown. The isl project has moved hosting to
sourceforge.io. Update the mirror accordingly.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
The following versions were marked obsolete in crosstool-ng-1.24.0,
remove them.
- uClibc-0.9.33.2
Signed-off-by: Chris Packham <judge.packham@gmail.com>
The following versions were marked obsolete in crosstool-ng-1.24.0,
remove them.
- mpfr-2.4.2
- mpfr-3.0.1
Signed-off-by: Chris Packham <judge.packham@gmail.com>
The following versions were marked obsolete in crosstool-ng-1.24.0,
remove them.
- mpc-0.7
- mpc-0.8.2
- mpc-0.9
Signed-off-by: Chris Packham <judge.packham@gmail.com>
The following versions were marked obsolete in crosstool-ng-1.24.0,
remove them.
- mingw-w64-v2.0.10
- mingw-w64-v3.0.0
- mingw-w64-v3.1.0
- mingw-w64-v3.2.0
- mingw-w64-v3.3.0
Signed-off-by: Chris Packham <judge.packham@gmail.com>
The following versions were marked obsolete in crosstool-ng-1.24.0,
remove them.
- make-3.81
- make-4.0
- make-4.1
Signed-off-by: Chris Packham <judge.packham@gmail.com>
The following versions were marked obsolete in crosstool-ng-1.24.0,
remove them.
- libiconv-1.14
Signed-off-by: Chris Packham <judge.packham@gmail.com>
The following versions were marked obsolete in crosstool-ng-1.24.0,
remove them.
- isl-0.11.2
- isl-0.12.2
- isl-0.14.1
Signed-off-by: Chris Packham <judge.packham@gmail.com>
The following versions were marked obsolete in crosstool-ng-1.24.0,
remove them.
- gmp-4.3.2
- gmp-5.0.5
- gmp-5.1.3
- gmp-6.0.0a
Signed-off-by: Chris Packham <judge.packham@gmail.com>
The following versions were marked obsolete in crosstool-ng-1.24.0,
remove them.
- gettext-0.19.7
Signed-off-by: Chris Packham <judge.packham@gmail.com>
The following versions were marked obsolete in crosstool-ng-1.24.0,
remove them.
- gcc-linaro-4.8-2015.06
- gcc-4.8.5
Signed-off-by: Chris Packham <judge.packham@gmail.com>
The following versions were marked obsolete in crosstool-ng-1.24.0,
remove them.
- binutils-linaro-2.23.2-2013.10-4
- binutils-linaro-2.24.0-2014.11-2
- binutils-linaro-2.25.0-2015.01-2
- binutils-2.23.2
- binutils-2.24
- binutils-2.25.1
Adjust the milestones now that the old versions have been removed.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
The following versions were marked obsolete in crosstool-ng-1.24.0,
remove them.
- automake-1.11.6
- automake-1.14.1
Signed-off-by: Chris Packham <judge.packham@gmail.com>
The following versions were marked obsolete in crosstool-ng-1.24.0,
remove them.
- android-ndk-r10e
- android-ndk-r11c
- android-ndk-r12b
- android-ndk-r13b
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Now that the oldest supported version of gdb is 7.11.1 we can make some
parts of the build unconditional and remove the associated config vars.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Drop the uclibc-no-gettimeofday-clobber patch as it no longer applies.
The arc patches are all upstream.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Mark all of the 7.x series obsolete, retain only the latest 8.x release.
These will be removed after the next release.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
With this we may finally build Windows and "native" toolchains
if host tools are also GCC11 based. For example:
1. You build cross toolchain with all the recent components by CT-NG
2. You build cross-canadian toolchain for Windows or ARC, ARMm whatever board
See upstream bug report [1] for more details.
Basically when we do cross-canadian build with
use of the same GCC11 as a "host" compiler we're seeing
an error like that:
------------------->8-------------------
mingw-w64-cross/gcc/x86_64-w64-mingw32/libstdc++-v3/include/fenv.h:58:11: error: 'fenv_t' has not been declared in '::'
58 | using ::fenv_t;
------------------->8-------------------
This is a solution proposed by Yujie Yang in [2]
Note, though it's not the final fix merged upstream, that's just
an attempt to fix this by casual GCC users. There's a hope it
will be fixed anyways a bit later, maybe by the time of GCC 11.3...
[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100017
[2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100017#c20
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Here we add a couple of fixes and improvements for ARC processors.
All except 1 patch are already in the upstream "master" branch
and will be an essential part of GCC 11.x whenever it gets released.
The most important are first 4 patches (0005-0008) which introduce
support of full native GDB support in Linux on ARC.
And the rests are tiny, yet useful improvements.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
This fixes a defect introduced in 25162c7. The "uint" type has not
been explicitly defined here on mingw, causing compilation to fail.
Signed-off-by: Artem Panfilov <artemp@synopsys.com>
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>
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>
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>
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>
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>
Update linux package and add new version:
Add 5.12.4
From 5.11.6 to 5.11.21
From 5.4.105 to 5.4.119
From 4.20.9 to 4.20.17
From 4.19.180 to 4.19.190
From 4.9.261 to 4.9.268
From 4.4.261 to 4.4.268
From 3.18.134 to 3.18.139
From 3.16.82 to 3.16.85
Signed-off-by: Bensuperpc <bensuperpc@gmail.com>
strace.io currently has an expired certificate. The same files are
available via github so add that as a mirror.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
GCC11 now have -std=c++17 by default and c++17 does not allow dynamic
exception specifications.
Signed-off-by: Nik Konyuchenko <spaun2002mobile@gmail.com>
This change replicates what GLIBC 2.23 has in the string/rawmemchr.c:
// #if __GNUC_PREREQ (11, 0)
// /* Likewise GCC 11, with a different warning option. */
// DIAG_IGNORE_NEEDS_COMMENT (11, "-Wstringop-overread");
// #endif
With -Werror multiple platforms failing on the string/rawmemchr.c:40 line.
Signed-off-by: Nik Konyuchenko <spaun2002mobile@gmail.com>
Newer versions of GCC complain:
plt.c: In function 'arch_elf_add_plt_entry':
plt.c:359:3: error: '%s' directive argument is null [-Werror=format-overflow=]
359 | fprintf(stderr, "%s: failed %s(%#llx): %sn", __func__,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
360 | name, addr, strerror(errno));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
add a patch to avoid this error.
Signed-off-by: Chris Packham <judge.packham@gmail.com>