setup-toolchain.sh: Update GCC to 12.3
[kernel-tools.git] / setup-toolchain.sh
index faf1b0ffc44f2ceb12fab90ae079eca5fb2168d2..88f23377545065ed902a723e1f34eb13d373cae2 100755 (executable)
@@ -2,6 +2,20 @@
 set -euo pipefail
 set -x
 
+# You can redistribute and/or modify this file under the terms of the
+# GNU Affero General Public License as published by 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 WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public
+# License along with this program. If not, see
+# <https://www.gnu.org/licenses/>.
+
 # SPDX-FileCopyrightText: 2022 Jason Self <j@jxself.org>
 # SPDX-License-Identifier: AGPL-3.0-or-later
 #
@@ -188,11 +202,11 @@ do
   # architecture may need to set up more than one combination of
   # these. These are just the defaults and are adjusted for specific
   # architectures as needed as the program runs.
-  export gcc_version="12.2.0"
-  export binutils_version="2.39"
+  export gcc_version="12.3.0"
+  export binutils_version="2.40"
   export gmp_version="6.2.1"
-  export mpc_version="1.2.1"
-  export mpfr_version="4.1.0"
+  export mpc_version="1.3.1"
+  export mpfr_version="4.2.0"
   # The $toolchain_directory variable is used to store each
   # compiled toolchain, named after the associated GCC version when
   # the above versions are being used. The intention is to change
@@ -215,8 +229,8 @@ do
   # Now build some additional toolchains beyond the default ones. This
   # is because some older kernels needs older toolchain versions.
   case $target in
-    mipsel-linux)
-      # The 4.9 kernel series needs to be built with GCC 11.3
+    powerpc64-linux)
+      # The 5.10 needs to be build with GCC 11.3
       export gcc_version="11.3.0"
       export toolchain_directory="toolchain-$gcc_version"
       reset_path
@@ -230,8 +244,8 @@ do
       build gcc
       reset_path
     ;;
-    powerpc64-linux)
-      # The 5.10 needs to be build with GCC 11.3
+    powerpc64le-linux)
+      # The 5.10 series needs to be build with GCC 11.3
       export gcc_version="11.3.0"
       export toolchain_directory="toolchain-$gcc_version"
       reset_path
@@ -245,10 +259,11 @@ do
       build gcc
       reset_path
     ;;
-    powerpc64le-linux)
-      # The 5.10 and 4.9 series needs to be build with GCC 11.3
-      export gcc_version="11.3.0"
-      export toolchain_directory="toolchain-$gcc_version"
+    riscv64-linux)
+      # The 4.19 series needs to be built with GCC 10.4 & binutils 2.37
+      export gcc_version="10.4.0"
+      export binutils_version="2.37"
+      export toolchain_directory="toolchain-$gcc_version-binutils-$binutils_version"
       reset_path
       set_path
       reset_path
@@ -261,7 +276,7 @@ do
       reset_path
     ;;
     s390x-linux)
-      # The 4.9, and 4.14 kernel series needs to be built with GCC 8.5
+      # The 4.14 kernel series needs to be built with GCC 8.5
       export gcc_version="8.5.0"
       export toolchain_directory="toolchain-$gcc_version"
       reset_path