Commit Graph

89 Commits

Author SHA1 Message Date
Chris Packham
bcb053baf6 Revert "gcc: Bring in fix for libsanitizer on mips64"
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>
2022-07-11 19:49:23 +12:00
Chris Packham
2f0d1f334f gcc: Add gcc 9.5.0
Add GCC 9.5.0 and regenerate the patches as necessary.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-06-08 19:38:05 +12:00
Chris Packham
dec3d3a421 gcc: Update fix for sh-unknown-elf
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>
2022-05-31 20:00:00 +12:00
Chris Packham
23580a86aa gcc: drop libsanitizer patch for GCC12
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>
2022-05-23 20:51:45 +12:00
Chris Packham
db6f703f52 gcc: Add 12.1
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>
2022-05-19 14:24:46 +12:00
Chris Packham
1b6ad7cd48 gcc: Bring in fix for libsanitizer on mips64
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>
2022-05-18 20:17:01 +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
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
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
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
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
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
Chris Packham
6737cfaa8c gcc: Use upstream fix for cross-canadian builds
Replace the patch from #1600 with the change that landed upstream.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-01-14 12:44:51 +13:00
Kairui Song
85530cce98 gcc: Fix 11.2.0 build failure on MacOS with Apple M1
With latest aarch64-unknown-linux-gnu, ct-ng build failed with:

[INFO ]  Installing pass-1 core C gcc compiler
[EXTRA]    Configuring core C gcc compiler
[EXTRA]    Building gcc
[ERROR]    clang: error: linker command failed with exit code 1 (use -v to see invocation)
[ERROR]    make[2]: *** [Makefile:2148: xgcc] Error 1
[ERROR]    make[2]: *** Waiting for unfinished jobs....
[ERROR]    clang: error: linker command failed with exit code 1 (use -v to see invocation)
[ERROR]    make[2]: *** [Makefile:2157: cpp] Error 1
[ERROR]    make[1]: *** [Makefile:4444: all-gcc] Error 2

And in build log:
Undefined symbols for architecture arm64:
  "host_detect_local_cpu(int, char const**)", referenced from:
      static_spec_functions in gcc.o

Just backport a upstream gcc fix.

Signed-off-by: Kairui Song <ryncsn@gmail.com>
2021-12-13 21:19:30 +13:00
Alexey Brodkin
15f9d8fcea gcc11: Fixes for ARC
See more details here:
1. https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/issues/398
2. https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/issues/427
3. https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/issues/429

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2021-10-10 04:53:17 -07:00
Chris Packham
e422173483 gcc: Remove obsolete versions
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>
2021-09-21 21:24:31 +12:00
Alexey Brodkin
9ddd4b7883 gcc: Fix cross-canadian builds wih GCC11
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>
2021-09-15 02:02:16 -07:00
Alexey Brodkin
24a1f120d7 gcc: Refresh patches of GCC 11.2.0
As simple as: ./maintainer/manage-packages.sh --update-patches --select gcc-11.2.0

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2021-09-15 01:18:45 -07:00
graysky
329c45eb58 gcc: bump to 11.2
Signed-off-by: John Audia <graysky@archlinux.us>
2021-07-28 14:53:00 -04: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
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
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
spaun2002
6ca5f91fb5 Disable -Werror for GLIBC for all ARCH for GCC11.
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>
2021-05-05 01:26:34 -07:00
spaun2002
37c61914ce Pull patch for macOS from GCC 10.3.0 package.
This should fix linkage error on MacOS.

Signed-off-by: Nik Konyuchenko <spaun2002mobile@gmail.com>
2021-05-05 01:15:07 -07:00
spaun2002
c4efcd7eaa Initial commit for gcc11
Signed-off-by: Nik Konyuchenko <spaun2002mobile@gmail.com>
2021-04-28 14:50:18 -07:00
Kumar Gala
cf0776ed04 Update to gcc release 10.3.0
Drop patches already in 10.3.0 that had been backported

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-04-08 12:52:38 -05:00
Ivan Kukhta
f347fef748 Fix depends generation under windows
Signed-off-by: Ivan Kukhta <Ivan.Kukhta@acronis.com>
2021-04-06 19:53:55 +03:00
Chris Packham
4989e53336 Merge branches 'gcc10_shift_numbering' and 'gcc10_fno-rtti' 2021-03-24 21:31:25 +13:00
Anton Maklakov
1d8899af27 gcc: just shift numbering in patch names 2021-03-23 10:43:06 +07:00
Anton Maklakov
007277d3cf gcc: Fix bootstrap with -fno-rtti 2021-03-23 10:42:40 +07:00
Keith Packard
43f5079382 gcc: Add support for building libstdc++ with alternate libc
This adds another mode to do_gcc_core_backend that builds libstdc++
against an alternate libc implementation.

Signed-off-by: Keith Packard <keithp@keithp.com>
2021-01-11 22:48:46 -08:00
Kumar Gala
e4ca30ee1c gcc: Additional build fix for building arm64 toolchain on M1 Mac's
If we are targetting an aarch64-none-elf toolchain we end up running
into a build issue in gcc/config/aarch64/driver-aarch64.c.  This is
fixed in upstream gcc so just backport the patch to gcc-10.2.0

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-12-08 07:09:20 -06:00
Kumar Gala
e7b3b20d0b gcc: Add some patches to get gcc 10.2 building on ARM based Mac
Pull in a change from upstream GCC and one from the gcc-darwin-arm64
repo that gets an initial cross compiler building on ARM based Mac.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-12-04 10:53:49 -06:00
Kumar Gala
15a49fa4fd gcc: add build fix for aarch64 toolchain on MacOS X
When building aarch64-unknown-linux-gnu on MacOS X, aarch64-builtins.c
files doesn't build by default with clang on MacOS X.  We need to pass
-std=gnu++11 when building the file for things to work with clang.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-11-11 13:42:02 -06:00
Chris Packham
a4231a555a
Merge pull request #1342 from DspHack/feature/add_support_for_ti_c6x
Experimental: Add support for the Texas Instruments C6X (TMS320C6000 …
2020-11-10 20:29:25 +13:00
Hans-Christian Noren Egtvedt
45a01960fc Add support for GCC 10.2.0
Forward ported patches from GCC 9.x, refreshed to match current sources.

Patch 0010-crystax.patch did not apply clean and had minor adjustments
to fit new GCC 10.2.0 release.

Signed-off-by: Hans-Christian Noren Egtvedt <hegtvedt@cisco.com>
2020-08-27 11:35:59 +02:00
Hans-Christian Noren Egtvedt
b0c0005f8a Update to GCC 9.x to latest release 9.3.0
Forward ported patches from GCC 9.2.0 to 9.3.0, refreshed to match
current sources.

Patch 0010-crystax.patch did not apply clean and had minor adjustments
to fit new GCC 9.3.0 release.

Signed-off-by: Hans-Christian Noren Egtvedt <hegtvedt@cisco.com>
2020-08-27 11:35:59 +02:00
Dan Tejada
d532f02542 Experimental: Add support for the Texas Instruments C6X (TMS320C6000 series) DSPs
-- c6x: Add support for c6x product families to pass on to uClibC-ng
  -- c6x: Fix multilib support
  -- c6x: Add patch fix internal instruction error (GCC 57295)

Signed-off-by: Dan Tejada <dan.tejada@cantada.com>
2020-05-20 21:16:14 -04:00
Chris Packham
1b29292f89 gcc: Remove nested 8.3.0 directory
When GCC was updated to 8.4.0 the patches were moved incorrectly. Fix
this now so that they will be picked up.

Fixes: commit 31ca84ac ("Update to gcc 8.4.0")
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2020-05-01 15:27:50 +12:00
Chris Packham
31ca84ac88 Update to gcc 8.4.0
https://gcc.gnu.org/legacy-ml/gcc/2020-03/msg00042.html

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2020-03-18 21:53:39 +13:00
Alexey Neyman
29422b2eda Disallow PPS SPE ABI
with GCC 9+ and GLIBC 2.30+, they no longer support it.

Signed-off-by: Alexey Neyman <stilor@att.net>
2020-03-04 11:41:04 -08:00
Alexey Neyman
1768ae413f Version updates
bison, elf2flt, gcc, isl, linux, mingw-w64, strace.

Adjust checksum ordering in uclibc-ng so that it matches what the script
generates.

Signed-off-by: Alexey Neyman <stilor@att.net>
2019-12-25 18:30:23 -08:00
Hans-Christian Noren Egtvedt
a6c36d3e7d Update to gcc 9.2.0
Forward ported patches from GCC 8.3.0 to 9.2.0, refreshed to match
current sources.

In patch 0012-crystax.patch, removed changing sysv4.h header file for
rs6000, since it no longer defines LINK_EH_SPEC.

Removed the following patches because they are part of upstream:
- 0018-ARC-Add-multilib-support-for-linux-targets.patch
- 0020-ARM-fix-cmse.patch
- 0021-arm-Make-arm_cmse.h-C99-compatible.patch
- 0022-ARC-Update-fma-expansions.patch

Renamed 0019-isl-0.20.patch => 0018-isl-0.20.patch.

Signed-off-by: Hans-Christian Noren Egtvedt <hegtvedt@cisco.com>
2019-08-15 12:11:19 +02:00
Alexey Brodkin
01c04bf502 package/gcc: Fix Glibc compilation for ARC with -mcpu= hs38_linux
Back-port of upstream fix:
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=5664ecf49828edb20f53937ab2e417ba173fc903

Fixes: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90103

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2019-04-17 10:30:34 +03:00
Alexey Neyman
c0844b6c88 Run GCC 8.3.0 patches through manage-packages.sh -P
Signed-off-by: Alexey Neyman <stilor@att.net>
2019-02-25 15:54:20 -08:00
Kumar Gala
b96a10ab5a Update to gcc 8.3.0
Had to update the following patches so they'd apply:

0006-libgfortran-missing-include.patch
0010-crystax.patch

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2019-02-23 11:37:15 -06:00