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>
As of today ARCompact (AKA "ARCv1 ISA") processors (mostly those are ARC770)
are not officially supported by upstream glibc as it adds quite some burden
on release ans support of yet another "architecture" port.
But given on ABI and ISA front ARCompact is very close to ARCv2 we may
easily retrofit its support off-the-tree, which we do here.
Also given amount of changes we need to apply there's a hope it will be easy
and straight-forward to apply the same to later versions of glibc.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Forward ported all local patches from previous glibc release 2.32, they
applied cleanly.
Signed-off-by: Hans-Christian Noren Egtvedt <hegtvedt@cisco.com>
Forward ported patches from binutils 2.35.1, refreshed to match current
sources.
Patch 0008-poison-system-directories.patch did not apply clean and had
minor adjustments to fit new binutils 2.36.1 release.
Dropped the following patches as they have been applied upstream:
- 0009-Import-patch-from-mainline-to-fix-decoding-DWARF-inf.patch
- 0010-arm-Fix-the-wrong-error-message-string-for-mve-vldr-.patch
Signed-off-by: Hans-Christian Noren Egtvedt <hegtvedt@cisco.com>
Include the gnuprumcu package in PRU cross toolchain.
Toolchain is somewhat useless without device specs and
linker scripts for the various SoCs.
Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
This allows building newlib-nano in addition to newlib and picolibc,
allowing users to select between C libraries within the same toolchain.
Signed-off-by: Keith Packard <keithp@keithp.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>
1. Allows picolibc's stdio to be used with c++ applications
2. Includes arm exception information in link rules
3. Adds picolibc include directory to c++ header paths.
These patches are all upstream in picolibc and included in version
1.5.
Signed-off-by: Keith Packard <keithp@keithp.com>
ftp://invisible-island.net/ncurses doesn't actually have the numbered
ncurses tarball. We've not noticed because we fall back to using the GNU
mirror which does. It's also ftp which is being deprecated.
Switch to https://invisible-mirror.net/archives/ncurses which has the
actual tarballs and provides a secure connection.
Signed-off-by: Chris Packham <judge.packham@gmail.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>
Update to GMP 6.2.1 for MacOS ARM support and pull in one patch
from repo that deal with a possible issue with GMP on MacOS ARM
systems.
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
This commit adds support for the following Oracle products, in order
to target 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 configuration files are provides for the following triplets:
arm-ol7u9-linux-gnueabi
arm-ol7u9-linux-gnueabihf
Signed-off-by: Egeyar Bagcioglu <egeyar.bagcioglu@oracle.com>
Signed-off-by: Jose E. Marchesi <jose.marchesi@oracle.com>
Set the origin of the Linux tarballs to www.kernel.org in order to avoid
getting an empty string in menuconfig.
Signed-off-by: Egeyar Bagcioglu <egeyar.bagcioglu@oracle.com>
[cp: use kernel.org]
Signed-off-by: Chris Packham <judge.packham@gmail.com>
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>
Expect that if there is a binutils 2.35.2 release these fixes will be
included in there, these are pulled out of the binutils-2_35-branch post
the 2.35.1 release.
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Backport change from glibc upstream that defines RELEASE as stable
instead of release. This will at least cause the default_cflags to be
set to expected default values again.
Ref issue #1396, although the bigger issue of respecting crosstool-ng
CT_GLIBC_EXTRA_CFLAGS is most likely still not fixed.
Signed-off-by: Hans-Christian Noren Egtvedt <hegtvedt@cisco.com>
When building powerpc64+glibc-2.32 we see the following error:
[ALL ] In file included from ../sysdeps/powerpc/powerpc32/power4/multiarch/wordcopy-ppc32.c:26,
[ALL ] from ../sysdeps/powerpc/powerpc64/multiarch/wordcopy-ppc64.c:18:
[ALL ] ../string/wordcopy.c: In function '_wordcopy_fwd_aligned':
[ERROR] ../string/wordcopy.c:98:26: error: 'a1' may be used uninitialized in this function [-Werror=maybe-uninitialized]
[ALL ] 98 | ((op_t *) dstp)[0] = a1;
[ALL ] | ~~~~~~~~~~~~~~~~~~~^~~~
[ALL ] In file included from ../sysdeps/powerpc/powerpc64/power4/../../powerpc32/power4/memcopy.h:38,
[ALL ] from ../sysdeps/powerpc/powerpc64/power4/memcopy.h:1,
[ALL ] from ../string/wordcopy.c:23,
[ALL ] from ../sysdeps/powerpc/powerpc32/power4/multiarch/wordcopy-ppc32.c:26,
[ALL ] from ../sysdeps/powerpc/powerpc64/multiarch/wordcopy-ppc64.c:18:
[ALL ] ../string/wordcopy.c: In function '_wordcopy_fwd_dest_aligned':
[ERROR] ../sysdeps/generic/memcopy.h:72:61: error: 'a3' may be used uninitialized in this function [-Werror=maybe-uninitialized]
[ALL ] 72 | #define MERGE(w0, sh_1, w1, sh_2) (((w0) << (sh_1)) | ((w1) >> (sh_2)))
[ALL ] | ^~
This seems to only trigger for powerpc64. Other architectures build
cleanly. For now avoid specifying -Werror for powerpc64+glibc-2.32.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
This adds support for using picolibc instead of newlib on embedded
systems.
Signed-off-by: Keith Packard <keithp@keithp.com>
v2:
Add check for meson and ninja
Sync option default values with current picolibc defaults
Remove xtensa sys header file install as those aren't in picolibc
Forward ported patches from binutils 2.34, refreshed to match current
sources.
Patch 0008-poison-system-directories.patch did not apply clean and had
minor adjustments to fit new binutils 2.35 release.
Signed-off-by: Hans-Christian Noren Egtvedt <hegtvedt@cisco.com>
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>