mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2024-12-24 06:56:40 +00:00
Merge pull request #1311 from stilor/more-fixes-after-upgrades
More fixes after upgrades
This commit is contained in:
commit
e2957c35eb
@ -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
|
||||
|
@ -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"
|
||||
|
@ -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'
|
||||
|
20
packages/uClibc-ng/1.0.33/0000-missing-header.patch
vendored
Normal file
20
packages/uClibc-ng/1.0.33/0000-missing-header.patch
vendored
Normal file
@ -0,0 +1,20 @@
|
||||
commit 6f7c6883b72134d1ae28a6223ab9c9738d033867
|
||||
Author: Waldemar Brodkorb <wbx@openadk.org>
|
||||
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 <stdlib.h>
|
||||
#include <sys/mman.h>
|
||||
#include <bits/uClibc_mutex.h>
|
||||
+#include <bits/uClibc_page.h>
|
||||
|
||||
|
||||
|
@ -3,6 +3,8 @@ CT_DoArchTupleValues() {
|
||||
# That's the only thing to override
|
||||
CT_TARGET_ARCH="sparc${target_bits_64}${CT_ARCH_SUFFIX}"
|
||||
|
||||
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."
|
||||
@ -11,13 +13,22 @@ CT_DoArchTupleValues() {
|
||||
# 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
|
||||
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
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user