From 2ae68d915000f6edb9b903a2687332333df1ef40 Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Tue, 3 Mar 2020 16:37:09 -0800 Subject: Fix upstream for undeclared PAGE_SHIFT Signed-off-by: Alexey Neyman diff --git a/packages/uClibc-ng/1.0.33/0000-missing-header.patch b/packages/uClibc-ng/1.0.33/0000-missing-header.patch new file mode 100644 index 0000000..05b0f61 --- /dev/null +++ b/packages/uClibc-ng/1.0.33/0000-missing-header.patch @@ -0,0 +1,20 @@ +commit 6f7c6883b72134d1ae28a6223ab9c9738d033867 +Author: Waldemar Brodkorb +Date: Wed Feb 19 10:18:03 2020 +0100 + + malloc: add missing header for some arch (alpha) + +--- + libc/stdlib/malloc-standard/malloc.h | 1 + + 1 file changed, 1 insertion(+) + +--- a/libc/stdlib/malloc-standard/malloc.h ++++ b/libc/stdlib/malloc-standard/malloc.h +@@ -23,6 +23,7 @@ + #include + #include + #include ++#include + + + -- cgit v0.10.2-6-g49f6 From 86062515858aefe5f1f66b2a315aafa458999ede Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Tue, 3 Mar 2020 16:37:31 -0800 Subject: Add --with-cpu= on 32-bit SPARC ... if building for GLIBC 2.31+. Signed-off-by: Alexey Neyman diff --git a/config/libc/glibc.in b/config/libc/glibc.in index c753359..f891392 100644 --- a/config/libc/glibc.in +++ b/config/libc/glibc.in @@ -35,11 +35,13 @@ config GLIBC_DEP_BINUTILS select BINUTILS_REQUIRE_2_25_or_later if GLIBC_2_26_or_later select BINUTILS_REQUIRE_older_than_2_30 if GLIBC_older_than_2_26 && ARCH_ARM && ARCH_64 +# Glibc 2.26 requires GCC4.9 or newer # Glibc 2.29 requires GCC5+ or, for ppc64le, GCC6.2+. We only support the latest # release on GCC6 branch, so just assume it is newer than 6.2 # Glibc 2.30 uncondtionally requires GCC 6.2+ config GLIBC_DEP_GCC def_bool y + select GCC_REQUIRE_4_9_or_later if GLIBC_2_26_or_later select GCC_REQUIRE_5_or_later if GLIBC_2_29_or_later select GCC_REQUIRE_6_or_later if GLIBC_2_29_or_later && ARCH_POWERPC && ARCH_64 && ARCH_LE select GCC_REQUIRE_6_or_later if GLIBC_2_30_or_later @@ -64,9 +66,11 @@ config GLIBC_DEP_MAKE_4_0 select MAKE_REQUIRE_4_0_or_later select MAKE_GNUMAKE_SYMLINK # Override old host make in .build/tools/bin -config GLIBC_DEP_GCC +# Glibc 2.31 removed support for pre-v8 SPARC in 32-bit mode (64-bit mode always +# required UltraSPARC) +config GLIBC_SPARC_ALLOW_V7 def_bool y - select GCC_REQUIRE_4_9_or_later if GLIBC_2_26_or_later + depends on GLIBC_2_30_or_older config THREADS default "nptl" diff --git a/scripts/build/arch/sparc.sh b/scripts/build/arch/sparc.sh index 484687d..97c9b9d 100644 --- a/scripts/build/arch/sparc.sh +++ b/scripts/build/arch/sparc.sh @@ -3,21 +3,32 @@ CT_DoArchTupleValues() { # That's the only thing to override CT_TARGET_ARCH="sparc${target_bits_64}${CT_ARCH_SUFFIX}" - # By default, sparc64-*-linux is configured with -mcpu=v9. However, - # according to https://sourceware.org/ml/libc-alpha/2005-12/msg00027.html, - # "There is no Linux sparc64 port that runs on non-UltraSPARC-I+ ISA CPUs." - # There is a patch that would change the default to -mcpu=ultrasparc for - # sparc64-*-linux configuration: https://patchwork.ozlabs.org/patch/409424/ - # but that patch has not been integrated (yet). One concern raised about - # this patch was that -mcpu=ultrasparc can suboptimally schedule instructions - # for newer SPARC CPUs. So, override to -mcpu=ultrasparc and warn the user. - if [ "${CT_KERNEL}" = "linux" -a "${CT_ARCH_64}" = "y" -a -z "${CT_ARCH_CPU}" ]; then - CT_DoLog WARN "Setting CPU to UltraSPARC-I for sparc64-linux. Set CT_ARCH_CPU if a different CPU is desired." - CT_ARCH_WITH_CPU="--with-cpu=ultrasparc" - if [ -n "${CT_ARCH_SUPPORTS_WITH_32_64}" -a -n "${CT_MULTILIB}" ]; then - CT_ARCH_WITH_CPU_32="--with-cpu-32=ultrasparc" - CT_ARCH_WITH_CPU_64="--with-cpu-64=ultrasparc" - fi + if [ "${CT_KERNEL}" = "linux" -a -z "${CT_ARCH_CPU}" ]; then + if [ "${CT_ARCH_64}" = "y" ]; then + # By default, sparc64-*-linux is configured with -mcpu=v9. However, + # according to https://sourceware.org/ml/libc-alpha/2005-12/msg00027.html, + # "There is no Linux sparc64 port that runs on non-UltraSPARC-I+ ISA CPUs." + # There is a patch that would change the default to -mcpu=ultrasparc for + # sparc64-*-linux configuration: https://patchwork.ozlabs.org/patch/409424/ + # but that patch has not been integrated (yet). One concern raised about + # this patch was that -mcpu=ultrasparc can suboptimally schedule instructions + # for newer SPARC CPUs. So, override to -mcpu=ultrasparc and warn the user. + CT_DoLog WARN "Setting CPU to UltraSPARC-I for sparc64-linux. Set CT_ARCH_CPU if a different CPU is desired." + CT_ARCH_WITH_CPU="--with-cpu=ultrasparc" + if [ -n "${CT_ARCH_SUPPORTS_WITH_32_64}" -a -n "${CT_MULTILIB}" ]; then + CT_ARCH_WITH_CPU_32="--with-cpu-32=ultrasparc" + CT_ARCH_WITH_CPU_64="--with-cpu-64=ultrasparc" + fi + else + # Similarly, sparc-*-linux defaults to v7. GLIBC 2.31 started to reject + # pre-v8 configurations with 2.31, and default v8 fails a subsequent test for + # using atomics (which are presumably, only available on some v8 CPUs). + # Therefore, default to v9. + if [ -z "${CT_GLIBC_SPARC_ALLOW_V7}" ]; then + CT_DoLog WARN "Setting CPU to V9 for sparc-linux. Set CT_ARCH_CPU if a different CPU is desired." + CT_ARCH_WITH_CPU="--with-cpu=v9" + fi + fi fi } -- cgit v0.10.2-6-g49f6 From 29422b2eda308526cd568507109b0a222eb09449 Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Wed, 4 Mar 2020 11:41:04 -0800 Subject: Disallow PPS SPE ABI with GCC 9+ and GLIBC 2.30+, they no longer support it. Signed-off-by: Alexey Neyman diff --git a/config/arch/powerpc.in b/config/arch/powerpc.in index 83f0f77..73cdf75 100644 --- a/config/arch/powerpc.in +++ b/config/arch/powerpc.in @@ -43,6 +43,8 @@ config ARCH_powerpc_ABI_EABI config ARCH_powerpc_ABI_SPE bool prompt "SPE" + select GCC_REQUIRE_8_or_older + select GLIBC_REQUIRE_2_29_or_older help Add support for the Signal Processing Engine. This will set up the toolchain so that it supports the SPE ABI extensions. This @@ -55,4 +57,6 @@ config ARCH_powerpc_ABI_SPE and "--enable-e500_double" to your CC_EXTRA_CONFIG_ARRAY, so you do not need to explicitly add them. + Support for SPE ABI has been removed in GCC 9. + endchoice diff --git a/packages/gcc/package.desc b/packages/gcc/package.desc index e6d98f8..a37f0c5 100644 --- a/packages/gcc/package.desc +++ b/packages/gcc/package.desc @@ -2,5 +2,5 @@ repository='svn svn://gcc.gnu.org/svn/gcc' mirrors='$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})' relevantpattern='4.*|. *|.' origin='GNU' -milestones='4.8 4.9 5 6 7' +milestones='4.8 4.9 5 6 7 8' archive_formats='.tar.xz .tar.gz' -- cgit v0.10.2-6-g49f6