From d4e37b5868ef910e3e52744c34408084bb13051c Mon Sep 17 00:00:00 2001 From: "Maciej W. Rozycki" Date: Mon, 31 Jul 2023 11:00:55 +0100 Subject: [PATCH] config.sub: Handle arbitrary MIPS CPU names GNU binutils support the selection of the default MIPS subtarget via the configuration triplet, e.g. `mips64octeon+el-unknown-linux-gnu' builds a Linux/GNU 64-bit MIPS (n32 ABI) little-endian configuration with the CPU set to Octeon+ by default. However `config.sub' rejects such a triplet and indeed it only lets through a random choice of ones people submitted changes for to support. There is a large number of MIPS CPU configurations, 118 at the moment, that GNU binutils know, so rather than adding them individually and then hoping it will be kept up to date from now on accept any `mips*' pattern for the machine part, just as we already do for a few of other targets. * config.sub: Allow any `mips*' CPU rather than listing a choice individually. * doc/config.sub.1: Regenerate. * testsuite/config-sub.data: Add test cases. --- config.sub | 28 ++-------------------------- doc/config.sub.1 | 2 +- testsuite/config-sub.data | 6 ++++++ 3 files changed, 9 insertions(+), 27 deletions(-) diff --git a/config.sub b/config.sub index db6abe9..6ae2502 100755 --- a/config.sub +++ b/config.sub @@ -4,7 +4,7 @@ # shellcheck disable=SC2006,SC2268 # see below for rationale -timestamp='2023-07-19' +timestamp='2023-07-31' # 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 @@ -1215,31 +1215,7 @@ case $cpu-$vendor in | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \ | m88110 | m88k | maxq | mb | mcore | mep | metag \ | microblaze | microblazeel \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64eb | mips64el \ - | mips64octeon | mips64octeonel \ - | mips64orion | mips64orionel \ - | mips64r5900 | mips64r5900el \ - | mips64vr | mips64vrel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa32r3 | mipsisa32r3el \ - | mipsisa32r5 | mipsisa32r5el \ - | mipsisa32r6 | mipsisa32r6el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64r3 | mipsisa64r3el \ - | mipsisa64r5 | mipsisa64r5el \ - | mipsisa64r6 | mipsisa64r6el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipsr5900 | mipsr5900el \ - | mipstx39 | mipstx39el \ + | mips* \ | mmix \ | mn10200 | mn10300 \ | moxie \ diff --git a/doc/config.sub.1 b/doc/config.sub.1 index fe94bc9..cfbd2b9 100644 --- a/doc/config.sub.1 +++ b/doc/config.sub.1 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.48.5. -.TH CONFIG.SUB "1" "July 2023" "GNU config.sub (2023-07-19)" "User Commands" +.TH CONFIG.SUB "1" "July 2023" "GNU config.sub (2023-07-31)" "User Commands" .SH NAME config.sub \- validate and canonicalize a configuration triplet .SH SYNOPSIS diff --git a/testsuite/config-sub.data b/testsuite/config-sub.data index f83a9bf..ba934b6 100644 --- a/testsuite/config-sub.data +++ b/testsuite/config-sub.data @@ -420,6 +420,10 @@ mips64 mips64-unknown-elf mips64eb mips64eb-unknown-elf mips64el mips64el-unknown-elf mips64octeon mips64octeon-unknown-elf +mips64octeon+ mips64octeon+-unknown-elf +mips64octeon+-elf mips64octeon+-unknown-elf +mips64octeon+el mips64octeon+el-unknown-elf +mips64octeon+el-elf mips64octeon+el-unknown-elf mips64octeon-elf mips64octeon-unknown-elf mips64octeonel mips64octeonel-unknown-elf mips64octeonel-elf mips64octeonel-unknown-elf @@ -444,6 +448,8 @@ mips64vrel mips64vrel-unknown-elf mipsbe mipsbe-unknown-elf mipseb mipseb-unknown-elf mipsel mipsel-unknown-elf +mipsinteraptiv mipsinteraptiv-unknown-elf +mipsinteraptivel mipsinteraptivel-unknown-elf mipsisa32 mipsisa32-unknown-elf mipsisa32el mipsisa32el-unknown-elf mipsisa32r2 mipsisa32r2-unknown-elf