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>
... 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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
-- 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>
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>
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>
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>
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>
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>
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>
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>
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>
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>