Update the toolchain components to the latest version
[kernel-tools.git] / setup-toolchain.sh
index faf1b0ffc44f2ceb12fab90ae079eca5fb2168d2..805ff1b809ce964bf846a4fb4bc57ad631789dda 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 gmp_version="6.2.1"
-  export mpc_version="1.2.1"
-  export mpfr_version="4.1.0"
+  export gcc_version="13.2.0"
+  export binutils_version="2.42"
+  export gmp_version="6.3.0"
+  export mpc_version="1.3.1"
+  export mpfr_version="4.2.1"
   # 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,21 +229,6 @@ 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
-      export gcc_version="11.3.0"
-      export toolchain_directory="toolchain-$gcc_version"
-      reset_path
-      set_path
-      reset_path
-      set_path
-      setup_directories
-      download_source
-      setup_source
-      build binutils
-      build gcc
-      reset_path
-    ;;
     powerpc64-linux)
       # The 5.10 needs to be build with GCC 11.3
       export gcc_version="11.3.0"
@@ -246,7 +245,7 @@ do
       reset_path
     ;;
     powerpc64le-linux)
-      # The 5.10 and 4.9 series needs to be build with GCC 11.3
+      # 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
@@ -260,10 +259,11 @@ do
       build gcc
       reset_path
     ;;
-    s390x-linux)
-      # The 4.9, and 4.14 kernel series needs to be built with GCC 8.5
-      export gcc_version="8.5.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