Commit Graph

75 Commits

Author SHA1 Message Date
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
Alexey Neyman
0fe21f8db8 Config v2: select relevant parts of each package version
Also, remove a couple of config options that dealt with package versions
that have been since retired.

Signed-off-by: Alexey Neyman <stilor@att.net>
2019-01-30 00:09:30 -08:00
Alexey Neyman
faa7849782 Import GCC 7.4.0
Signed-off-by: Alexey Neyman <stilor@att.net>
2018-12-07 00:33:35 -08:00
Alexey Neyman
48fa32776e Import gcc 6.5.0
Signed-off-by: Alexey Neyman <stilor@att.net>
2018-11-07 23:46:35 -08:00
Kumar Gala
b06864f7df Pull in fixes for ARM v8m support in gcc 8.2.0
There are some fixes to the cmse code in mainline gcc that we need to
build an embedded toolchain targetting Cortex-M cpus that support the
v8m extensions.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-09-27 04:26:52 -05:00
Alexey Neyman
581e8a514b Fix build with ISL 0.20
Signed-off-by: Alexey Neyman <stilor@att.net>
2018-09-25 17:22:34 -07:00
Alexey Neyman
98834458f1 Upgrades. Lots of 'em.
Signed-off-by: Alexey Neyman <stilor@att.net>
2018-09-24 23:09:53 -07:00
Max Filippov
c41b9641b1 package/gcc: fix xtensa PR target/65416
gcc-8.1 for xtensa miscompiles uClibc dynamic linker due to gcc PR
target/65416. The build completes successfully, but the binary is
non-functional because the following fragment in the _dl_get_ready_to_run
in ld-uClibc.so overwrites register spill area on stack causing register
corruption in the previous call frame and a subsequent crash:

    419f:       f0c1b2          addi    a11, a1, -16
    41a2:       1ba9            s32i.n  a10, a11, 4
    41a4:       0bc9            s32i.n  a12, a11, 0
    41a6:       5127f2          l32i    a15, a7, 0x144
    41a9:       1765b2          s32i    a11, a5, 92
    41ac:       4e2782          l32i    a8, a7, 0x138
    41af:       146af2          s32i    a15, a10, 80
    41b2:       001b10          movsp   a1, a11

The crash terminates the init process and causes kernel panic.
The fix prevents reordering of movsp opcode and any access to the stack
frame memory and is applicable to all existing gcc versions.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2018-06-24 14:40:26 -07:00
Alexey Neyman
b24431f477 Add upstream patch fixing XScale build
Signed-off-by: Alexey Neyman <stilor@att.net>
2018-06-05 00:16:53 -07:00
Alexey Brodkin
ecb09ca417 ARC: Add multilib support for Linux in GCC
We never bothered to build multilibbed Linux toolchains for ARC
and so we ended-up with no support of multilib for arc*-*-linux-*
targets in GCC. That is now fixed in upstream by the following commit:
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=0eacfbcb2bf1834294f468a2bb41fe5d5e8d3883

Once the fix mentioned above is applied on top of GCC 8.1.0 we may easily build
multilibbed uClibc toolchain for ARC.

Note sice Glibc port for ARC is still in review process we cannot build any Glibc
toolchains for ARC with pure upstream components, for that we eiter need Glibc
sources from our Github repo or apply a set of patches on top of Glibc 2.27 - we'll
try to address this later though.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2018-05-21 13:43:07 +03:00
Alexey Neyman
ea53be7529
Merge pull request #971 from abrodkin/topic-elf32-multilib
ARC: Add support and sample for baremetal/elf32 multilib toolchain
2018-05-16 10:03:12 -07:00
Alexey Brodkin
62f5b90e2e ARC: Don't mention in multilib not yet supported CPUs
hs4x and hs4xd were mistakenly mentioned in MULTILIB_OPTION/DIRNAMES
before real support of those CPUs was accepted in upstream.

That breaks multilib toolchains building becase we're trying to compile
for not yet known CPU.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2018-05-16 17:20:23 +03:00
Alexey Brodkin
e714f99d89 ARC: Fix Linux kernel comilation for ARC700
Without this fix we're getting the following error on attempt to build
Linux kernel:
--------------------------------->8---------------------------------
xfrm4_mode_tunnel.s: Assembler messages:
xfrm4_mode_tunnel.s:188: Error: operand out of range (128 is not between -
128 and 127)
--------------------------------->8---------------------------------

The fix is taken from
d8d716f49c
and it is supposed to be merged in upstream GCC sources soonish.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2018-05-16 15:47:45 +03:00
Alexey Neyman
906cfdac7c Add GCC 8.1
Signed-off-by: Alexey Neyman <stilor@att.net>
2018-05-05 22:14:43 -07:00
Alexey Neyman
b2af5df5fc Backport GCC fix for partial int modes
... from trunk to GCC7/GCC6/GCC5.

Fixes #742.

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-02-15 09:15:00 -08:00