diff options
-rw-r--r-- | config/arch/arm.in | 15 | ||||
-rw-r--r-- | config/cc/gcc.in | 1 | ||||
-rw-r--r-- | config/libc/newlib.in | 24 | ||||
-rw-r--r-- | packages/binutils-oracle/2.30/version.desc (renamed from packages/binutils-oracle/2.30-113.0.1/version.desc) | 0 | ||||
-rw-r--r-- | packages/binutils-oracle/git-53d90e19/0001-binutils-gdb-oracle-backport.patch (renamed from packages/binutils-oracle/git-728f1495/0001-binutils-gdb-oracle-backport.patch) | 0 | ||||
-rw-r--r-- | samples/aarch64-ol8u6-linux-gnu/crosstool.config | 3 | ||||
-rw-r--r-- | samples/i686-ol8u6-linux-gnu/crosstool.config | 3 | ||||
-rw-r--r-- | samples/x86_64-ol8u6-linux-gnu/crosstool.config | 3 | ||||
-rwxr-xr-x | scripts/config.guess | 48 | ||||
-rwxr-xr-x | scripts/config.sub | 20 |
10 files changed, 87 insertions, 30 deletions
diff --git a/config/arch/arm.in b/config/arch/arm.in index 07ad5ed2..5b55c2ae 100644 --- a/config/arch/arm.in +++ b/config/arch/arm.in @@ -9,13 +9,13 @@ ## select ARCH_SUPPORTS_FLAT_FORMAT ## select ARCH_SUPPORTS_EITHER_ENDIAN ## select ARCH_DEFAULT_LE -## select ARCH_SUPPORTS_WITH_ARCH -## select ARCH_SUPPORTS_WITH_CPU +## select ARCH_SUPPORTS_WITH_ARCH if !(MULTILIB && ARCH_32) +## select ARCH_SUPPORTS_WITH_CPU if !(MULTILIB && ARCH_32) ## select ARCH_EXCLUSIVE_WITH_CPU -## select ARCH_SUPPORTS_WITH_TUNE -## select ARCH_SUPPORTS_WITH_FLOAT if ARCH_32 -## select ARCH_SUPPORTS_WITH_FPU if ARCH_32 -## select ARCH_SUPPORTS_SOFTFP if ARCH_32 +## select ARCH_SUPPORTS_WITH_TUNE if !(MULTILIB && ARCH_32) +## select ARCH_SUPPORTS_WITH_FLOAT if ARCH_32 && !MULTILIB +## select ARCH_SUPPORTS_WITH_FPU if ARCH_32 && !MULTILIB +## select ARCH_SUPPORTS_SOFTFP if ARCH_32 && !MULTILIB ## select LINUX_REQUIRE_3_7_or_later if ARCH_64 && KERNEL_LINUX ## help The ARM architecture, as defined by: @@ -26,11 +26,13 @@ config ARCH_ARM_MODE string default "arm" if ARCH_ARM_MODE_ARM default "thumb" if ARCH_ARM_MODE_THUMB + depends on !MULTILIB choice bool prompt "Default instruction set mode" default ARCH_ARM_MODE_ARM + depends on !MULTILIB config ARCH_ARM_MODE_ARM bool @@ -49,6 +51,7 @@ endchoice config ARCH_ARM_INTERWORKING bool prompt "Use Thumb-interworking (READ HELP)" + depends on !MULTILIB help Excerpt from the gcc manual: diff --git a/config/cc/gcc.in b/config/cc/gcc.in index 037291fe..ea7103b8 100644 --- a/config/cc/gcc.in +++ b/config/cc/gcc.in @@ -81,6 +81,7 @@ config CC_GCC_MULTILIB_LIST string "List of multilib variants" depends on MULTILIB default "m2,m2e,m4,m4-single,m4-single-only,m2a,m2a-single" if GCC_11_or_later && ARCH_SH + default "aprofile,rmprofile" if ARCH_ARM && ARCH_32 help Architecture-specific option of expanding or restricting the list of the multilib variants to be built. Refer to GCC installation manual diff --git a/config/libc/newlib.in b/config/libc/newlib.in index f1cb29be..7bba2293 100644 --- a/config/libc/newlib.in +++ b/config/libc/newlib.in @@ -55,6 +55,7 @@ config LIBC_NEWLIB_IO_LDBL config LIBC_NEWLIB_IO_POS_ARGS bool prompt "Enable printf-family positional arg support" + depends on !LIBC_NEWLIB_NANO_FORMATTED_IO help Enable printf-family positional arg support. @@ -199,6 +200,29 @@ config LIBC_NEWLIB_NANO_FORMATTED_IO with size constraint issues. This option does not affect wide-char formatted I/O functions. + Some notes about this feature: + 1) Floating-point support is split out of the formatted I/O code into + weak functions which are not linked by default. Programs that need + floating-point I/O support must explicitly request linking of one or + both of the floating-point functions: _printf_float or _scanf_float. + This can be done at link time using the -u option which can be passed + to either gcc or ld. + + 2) The following configuration options are ignored for non-wide-char + formatted I/O functions, and can be thought of as disabled. + + "Enable printf-family positional arg support" + "Enable IOs on C99 formats" + "Enable IOs on long long" + "Enable IOs on long doubles" + + Additionally, "Enable IOs on floats and doubles" is supported in this + specific implementation, one can disable it to further reduce code size. + In this case, the floating-point specifiers will not be recognized or + handled, and the -u option will not work either. + + Learn more: https://sourceware.org/newlib/README + config LIBC_NEWLIB_EXTRA_CONFIG_ARRAY string prompt "Extra config for newlib" diff --git a/packages/binutils-oracle/2.30-113.0.1/version.desc b/packages/binutils-oracle/2.30/version.desc index 49aa6ed2..49aa6ed2 100644 --- a/packages/binutils-oracle/2.30-113.0.1/version.desc +++ b/packages/binutils-oracle/2.30/version.desc diff --git a/packages/binutils-oracle/git-728f1495/0001-binutils-gdb-oracle-backport.patch b/packages/binutils-oracle/git-53d90e19/0001-binutils-gdb-oracle-backport.patch index 57c05dd2..57c05dd2 100644 --- a/packages/binutils-oracle/git-728f1495/0001-binutils-gdb-oracle-backport.patch +++ b/packages/binutils-oracle/git-53d90e19/0001-binutils-gdb-oracle-backport.patch diff --git a/samples/aarch64-ol8u6-linux-gnu/crosstool.config b/samples/aarch64-ol8u6-linux-gnu/crosstool.config index 17b0219a..0599d6ba 100644 --- a/samples/aarch64-ol8u6-linux-gnu/crosstool.config +++ b/samples/aarch64-ol8u6-linux-gnu/crosstool.config @@ -5,7 +5,7 @@ CT_TARGET_VENDOR="ol8u6" CT_KERNEL_LINUX=y CT_LINUX_USE_ORACLE=y CT_BINUTILS_USE_ORACLE=y -CT_BINUTILS_ORACLE_V_2_30_113=y +CT_BINUTILS_ORACLE_V_2_30=y CT_BINUTILS_LINKER_LD_GOLD=y CT_BINUTILS_GOLD_THREADS=y CT_BINUTILS_LD_WRAPPER=y @@ -13,6 +13,7 @@ CT_BINUTILS_PLUGINS=y CT_GLIBC_USE_ORACLE=y CT_GLIBC_EXTRA_CFLAGS="-Wno-missing-attributes -Wno-array-bounds -Wno-array-parameter -Wno-stringop-overflow -Wno-maybe-uninitialized" CT_GLIBC_ENABLE_COMMON_FLAG=y +CT_GLIBC_ENABLE_DEBUG=n CT_CC_LANG_CXX=y CT_GCC_USE_ORACLE=y CT_ISL_V_0_16=y diff --git a/samples/i686-ol8u6-linux-gnu/crosstool.config b/samples/i686-ol8u6-linux-gnu/crosstool.config index 3a0eb7fb..7f937cd0 100644 --- a/samples/i686-ol8u6-linux-gnu/crosstool.config +++ b/samples/i686-ol8u6-linux-gnu/crosstool.config @@ -5,7 +5,7 @@ CT_TARGET_VENDOR="ol8u6" CT_KERNEL_LINUX=y CT_LINUX_USE_ORACLE=y CT_BINUTILS_USE_ORACLE=y -CT_BINUTILS_ORACLE_V_2_30_113=y +CT_BINUTILS_ORACLE_V_2_30=y CT_BINUTILS_LINKER_LD_GOLD=y CT_BINUTILS_GOLD_THREADS=y CT_BINUTILS_LD_WRAPPER=y @@ -13,6 +13,7 @@ CT_BINUTILS_PLUGINS=y CT_GLIBC_USE_ORACLE=y CT_GLIBC_EXTRA_CFLAGS="-Wno-missing-attributes -Wno-array-bounds -Wno-array-parameter -Wno-stringop-overflow -Wno-maybe-uninitialized" CT_GLIBC_ENABLE_COMMON_FLAG=y +CT_GLIBC_ENABLE_DEBUG=n CT_CC_LANG_CXX=y CT_GCC_USE_ORACLE=y CT_ISL_V_0_16=y diff --git a/samples/x86_64-ol8u6-linux-gnu/crosstool.config b/samples/x86_64-ol8u6-linux-gnu/crosstool.config index e8828adc..ddb41447 100644 --- a/samples/x86_64-ol8u6-linux-gnu/crosstool.config +++ b/samples/x86_64-ol8u6-linux-gnu/crosstool.config @@ -5,7 +5,7 @@ CT_TARGET_VENDOR="ol8u6" CT_KERNEL_LINUX=y CT_LINUX_USE_ORACLE=y CT_BINUTILS_USE_ORACLE=y -CT_BINUTILS_ORACLE_V_2_30_113=y +CT_BINUTILS_ORACLE_V_2_30=y CT_BINUTILS_LINKER_LD_GOLD=y CT_BINUTILS_GOLD_THREADS=y CT_BINUTILS_LD_WRAPPER=y @@ -13,6 +13,7 @@ CT_BINUTILS_PLUGINS=y CT_GLIBC_USE_ORACLE=y CT_GLIBC_EXTRA_CFLAGS="-Wno-missing-attributes -Wno-array-bounds -Wno-array-parameter -Wno-stringop-overflow -Wno-maybe-uninitialized" CT_GLIBC_ENABLE_COMMON_FLAG=y +CT_GLIBC_ENABLE_DEBUG=n CT_CC_LANG_CXX=y CT_GCC_USE_ORACLE=y CT_ISL_V_0_16=y diff --git a/scripts/config.guess b/scripts/config.guess index e81d3ae7..1817bdce 100755 --- a/scripts/config.guess +++ b/scripts/config.guess @@ -1,14 +1,14 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2021 Free Software Foundation, Inc. +# Copyright 1992-2022 Free Software Foundation, Inc. # shellcheck disable=SC2006,SC2268 # see below for rationale -timestamp='2021-06-03' +timestamp='2022-05-25' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or +# the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but @@ -60,7 +60,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2021 Free Software Foundation, Inc. +Copyright 1992-2022 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -437,7 +437,7 @@ case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in # This test works for both compilers. if test "$CC_FOR_BUILD" != no_compiler_found; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then SUN_ARCH=x86_64 @@ -929,6 +929,9 @@ EOF i*:PW*:*) GUESS=$UNAME_MACHINE-pc-pw32 ;; + *:SerenityOS:*:*) + GUESS=$UNAME_MACHINE-pc-serenity + ;; *:Interix*:*) case $UNAME_MACHINE in x86) @@ -1148,16 +1151,27 @@ EOF ;; x86_64:Linux:*:*) set_cc_for_build + CPU=$UNAME_MACHINE LIBCABI=$LIBC if test "$CC_FOR_BUILD" != no_compiler_found; then - if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_X32 >/dev/null - then - LIBCABI=${LIBC}x32 - fi + ABI=64 + sed 's/^ //' << EOF > "$dummy.c" + #ifdef __i386__ + ABI=x86 + #else + #ifdef __ILP32__ + ABI=x32 + #endif + #endif +EOF + cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'` + eval "$cc_set_abi" + case $ABI in + x86) CPU=i686 ;; + x32) LIBCABI=${LIBC}x32 ;; + esac fi - GUESS=$UNAME_MACHINE-pc-linux-$LIBCABI + GUESS=$CPU-pc-linux-$LIBCABI ;; xtensa*:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC @@ -1364,8 +1378,11 @@ EOF BePC:Haiku:*:*) # Haiku running on Intel PC compatible. GUESS=i586-pc-haiku ;; - x86_64:Haiku:*:*) - GUESS=x86_64-unknown-haiku + ppc:Haiku:*:*) # Haiku running on Apple PowerPC + GUESS=powerpc-apple-haiku + ;; + *:Haiku:*:*) # Haiku modern gcc (not bound by BeOS compat) + GUESS=$UNAME_MACHINE-unknown-haiku ;; SX-4:SUPER-UX:*:*) GUESS=sx4-nec-superux$UNAME_RELEASE @@ -1522,6 +1539,9 @@ EOF i*86:rdos:*:*) GUESS=$UNAME_MACHINE-pc-rdos ;; + i*86:Fiwix:*:*) + GUESS=$UNAME_MACHINE-pc-fiwix + ;; *:AROS:*:*) GUESS=$UNAME_MACHINE-unknown-aros ;; diff --git a/scripts/config.sub b/scripts/config.sub index d74fb6de..dba16e84 100755 --- a/scripts/config.sub +++ b/scripts/config.sub @@ -1,14 +1,14 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright 1992-2021 Free Software Foundation, Inc. +# Copyright 1992-2022 Free Software Foundation, Inc. # shellcheck disable=SC2006,SC2268 # see below for rationale -timestamp='2021-08-14' +timestamp='2022-01-03' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or +# the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but @@ -76,7 +76,7 @@ Report bugs and patches to <config-patches@gnu.org>." version="\ GNU config.sub ($timestamp) -Copyright 1992-2021 Free Software Foundation, Inc. +Copyright 1992-2022 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -1020,6 +1020,11 @@ case $cpu-$vendor in ;; # Here we normalize CPU types with a missing or matching vendor + armh-unknown | armh-alt) + cpu=armv7l + vendor=alt + basic_os=${basic_os:-linux-gnueabihf} + ;; dpx20-unknown | dpx20-bull) cpu=rs6000 vendor=bull @@ -1121,7 +1126,7 @@ case $cpu-$vendor in xscale-* | xscalee[bl]-*) cpu=`echo "$cpu" | sed 's/^xscale/arm/'` ;; - arm64-*) + arm64-* | aarch64le-*) cpu=aarch64 ;; @@ -1304,7 +1309,7 @@ esac if test x$basic_os != x then -# First recognize some ad-hoc caes, or perhaps split kernel-os, or else just +# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just # set os. case $basic_os in gnu/linux*) @@ -1748,7 +1753,8 @@ case $os in | skyos* | haiku* | rdos* | toppers* | drops* | es* \ | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ - | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr*) + | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \ + | fiwix* ) ;; # This one is extra strict with allowed versions sco3.2v2 | sco3.2v[4-9]* | sco5v6*) |