Commit Graph

643 Commits

Author SHA1 Message Date
03087cbd51 Fix GPLv3 license headers to use a comma instead of semicolon
See: https://www.gnu.org/licenses/gpl-3.0.html#howto

Update license headers automatically using the following script:

  $ git grep -l 'Foundation; either version 3' \
    | xargs sed -i '/Foundation; either version 3/ s/n; e/n, e/'

* config.guess: Adjust via the above command.
(timestamp): Update.
* config.sub: Likewise.
* doc/config.guess.1: Regenerate.
* doc/config.sub.1: Likewise.

Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2022-01-03 23:16:50 +00:00
dacec0cff2 Update copyright years
* config.guess: Update copyright years.
* config.sub: Likewise.
* testsuite/config-guess.sh: Likewise.
* testsuite/config-sub.sh: Likewise.
* doc/config.guess.1: Regenerate.
* doc/config.sub.1: Likewise.
2022-01-01 08:00:00 +00:00
ee98986410 config.sub: alias armh to armv7l
ALT uses armh as an alias for armv7l-alt-linux-gnueabihf since 2012.

* config.sub (armh-unknown|armh-alt): Set cpu, vendor, and basic_os.
(timestamp): Update.
* doc/config.sub.1: Regenerate.
* testsuite/config-sub.data (armh, armh-alt-linux-gnueabihf): New tests.
2021-12-25 08:00:00 +00:00
da0f86d042 config.sub: alias aarch64le to aarch64
Apparently, QNX reports aarch64 as aarch64le on little-endian machines.

* config.sub (aarch64le-*): Set cpu to aarch64.
(timestamp): Update.
* doc/config.sub.1: Regenerate.
* testsuite/config-sub.data (aarch64le-qnx): New test.

Reported-by: Elad Lahav <e2lahav@gmail.com>
Link: https://lists.gnu.org/archive/html/config-patches/2021-12/msg00009.html
2021-12-24 17:00:00 +00:00
5b6ae7445c config.sub: fix typo in timestamp
* config.sub: Fix timestamp.
* doc/config.sub.1: Regenerate.

Reported-by: Jordi Sanfeliu <jordi@fibranet.cat>
Fixes: a013aac61e
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2021-12-13 08:00:00 +00:00
a013aac61e Recognize Fiwix
$ make check
cd testsuite && bash config-guess.sh && rm uname
PASS: config.guess checks (137 tests)
cd testsuite && bash config-sub.sh
PASS: config.sub checks (882 tests)
PASS: config.sub idempotency checks (819 tests)
PASS: config.sub canonicalise each config.guess testcase (137 tests)

* config.guess (i*86:Fiwix:*:*): Recognize.
* config.sub (fiwix*): Likewise.
* doc/config.guess.1: Regenerate.
* doc/config.sub.1: Likewise.
* testsuite/config-guess.data: Add a test case for Fiwix.
* testsuite/config-sub.data (i386-fiwix): New test.

Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2021-10-27 14:35:57 +00:00
9428e344e6 config.sub: Fix typo in comment
Fixes: 5e531d3918
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2021-10-18 09:31:31 +00:00
191bcb948f config.sub: work around command assignment bug in some shells
When combining variable assignments with a shell command, some older
shells (notably heirloom-sh and presumably also Solaris 10 /bin/sh)
have a bug which causes the assignment to alter the current execution
environment whenever the command is a shell built-in.  For example:

  % dash -c 'x=good; x=bad echo >/dev/null; echo $x'
  good

  % jsh -c 'x=good; x=bad echo >/dev/null; echo $x'
  bad

The config.sub script contains a few commands of the form:

  IFS=- read ...

which triggers this bug, causing the IFS assignment to persist for the
remainder of the script.  This can cause misbehaviour in certain cases,
for example:

  % jsh config.sub i386-linux-gnu
  config.sub: test: unknown operator gnu

  % jsh config.sub i386-gnu/linux
  sed: can't read s|gnu/linux|gnu|: No such file or directory
  Invalid configuration `i386-gnu/linux': OS `' not recognized

* config.sub: Save and restore IFS explicitly to avoid shell bugs.
* doc/config.sub.1: Regenerate.

Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2021-08-14 16:20:38 +00:00
2707e389a5 config.sub: add Linux Relibc Target
$ make check
cd testsuite && bash config-guess.sh && rm uname
PASS: config.guess checks (136 tests)
cd testsuite && bash config-sub.sh
PASS: config.sub checks (881 tests)
PASS: config.sub idempotency checks (818 tests)
PASS: config.sub canonicalise each config.guess testcase (136 tests)

* config.sub (relibc*): Recognize.
* doc/config.sub.1: Regenerate.
* testsuite/config-sub.data (x86_64-linux-relibc): New test.

Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2021-08-04 13:32:46 +00:00
401e1a7dd1 config.sub: add Zephyr RTOS support
This adds the Zephyr RTOS targets in preparation for implementing the
Zephyr RTOS-specific toolchain support.

$ make check
cd testsuite && bash config-guess.sh && rm uname
PASS: config.guess checks (136 tests)
cd testsuite && bash config-sub.sh
PASS: config.sub checks (880 tests)
PASS: config.sub idempotency checks (817 tests)
PASS: config.sub canonicalise each config.guess testcase (136 tests)

* config.sub (zephyr*): Recognize.
* doc/config.sub.1: Regenerate.
* testsuite/config-sub.data: Add testcases for *-zephyr.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2021-07-06 14:09:09 +00:00
805517123c config.sub: disable shellcheck SC2006 / SC2268 warnings
This is in line with the recent config.guess change in commit
12fcf67c91

* config.sub (shellcheck disable): Add SC2006,SC2268.

Suggested-by: Jacob Bachmeyer <jcb@gnu.org>
Signed-off-by: Ozkan Sezer <sezero@users.sourceforge.net>
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2021-07-03 08:05:56 +00:00
79549b168d config.sub: normalize the quoting in the echo FOO | sed ...
Some cases quote the argument to echo and some do not.  At runtime
it probably does not matter because the substituted values will never
contain whitespace, but quoting them all would make shellcheck more
useful.

* config.sub: Consistently quote the argument of echo.
* doc/config.sub.1: Regenerate.

Suggested-by: Jacob Bachmeyer <jcb@gnu.org>
Signed-off-by: Ozkan Sezer <sezero@users.sourceforge.net>
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2021-07-03 08:05:40 +00:00
0ee661a9f9 config.sub: replace POSIX $( ) with classic throughout
This is in line with the recent config.guess change in commit
d70c4fa934.

The patch was generated using patch-6.gawk script introduced in that
commit.

* config.sub: Revert POSIX command substitutions to classic form.

Signed-off-by: Ozkan Sezer <sezero@users.sourceforge.net>
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2021-07-02 05:55:50 +00:00
45e181800a Recognize arc32
This is the 32-bit variant of ARCv3 ISA (which is not compatible with the
32-bit ARCv2 ISA)

| make check
| cd testsuite && bash config-guess.sh && rm uname
| PASS: config.guess checks (136 tests)
| cd testsuite && bash config-sub.sh
| PASS: config.sub checks (864 tests)
| PASS: config.sub idempotency checks (801 tests)
| PASS: config.sub canonicalise each config.guess testcase (136 tests)

* config.guess (arc32:Linux:*:*): Recognize.
* config.sub (arc32): Likewise.
* doc/config.guess.1: Regenerate.
* doc/config.sub.1: Likewise.
* testsuite/config-guess.data: Add a test case for arc32.
* testsuite/config-sub.data (arc32, arc*-elf): Add test cases.

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2021-06-04 04:01:25 +00:00
7779518ae2 config.sub: Handle MIPS R3 and R5 ISA levels with CPU names
Complement binutils commit ae52f4830604 ("Add MIPS r3 and r5 support.")
and recognize MIPS CPU patterns for the R3 and R5 ISA levels, used by
GAS to set defaults.

* config.sub (mipsisa32r3, mipsisa32r3el, mipsisa32r5, mipsisa32r5el,
mipsisa64r3, mipsisa64r3el, mipsisa64r5, mipsisa64r5el): Recognize.
* doc/config.sub.1: Regenerate.
* testsuite/config-sub.data: Add test cases.

Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2021-04-30 23:15:08 +00:00
491e04557e Recognize arc64
This paves way for setting up arc64 software ecosystem.

$ make check
cd testsuite && bash config-guess.sh && rm uname
PASS: config.guess checks (136 tests)
cd testsuite && bash config-sub.sh
PASS: config.sub checks (853 tests)
PASS: config.sub idempotency checks (790 tests)
PASS: config.sub canonicalise each config.guess testcase (136 tests)

* config.guess (arc64:Linux:*:*): Recognize.
* config.sub (arc64): Likewise.
* doc/config.guess.1: Regenerate.
* doc/config.sub.1: Likewise.
* testsuite/config-guess.data: Add a test case for arc64.
* testsuite/config-sub.data (arc64, arc*-elf): Add test cases.

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2021-04-21 19:51:18 +00:00
20bc4bc021 config.sub: add SecBSD support
* config.sub (secbsd*): Recognize.
* doc/config.sub.1: Regenerate.
* testsuite/config-sub.data: Add x86_64-secbsd.

Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2021-04-16 22:14:24 +00:00
1dc6451098 config.sub: Add support for SerenityOS
* config.sub (serenity*): Recognize.
* doc/config.sub.1: Regenerate.
* testsuite/config-sub.data: Add i386-serenity.

Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2021-03-10 15:27:49 +00:00
21d397cdb4 config.sub: recognize four-part configuration name for VxWorks
For example:

  armv7m-wrs-vxworks-eabihf
  armv7-wrs-vxworks-eabihf
  i686-wrs-vxworks-simlinux
  i686-wrs-vxworks-simwindows
  powerpc-wrs-vxworks-spe
  x86_64-wrs-vxworks-simlinux
  x86_64-wrs-vxworks-simwindows

* config.sub: Recognize four-part configuration name for VxWorks.
* doc/config.guess.1: Regenerate.
* testsuite/config-sub.data: Add test cases.

Co-authored-by: John Ericson <git@JohnEricson.me>
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2021-01-08 02:53:07 +00:00
04d8eb4c26 config.sub: accept OS of eabi* and gnueabi*
Commit 5e531d3918 broke powerpc-eabivle:

$ ./config.sub powerpc-eabivle
Invalid configuration `powerpc-eabivle': OS `eabivle' not recognized

Also powerpc-eabisim and probably some arm configurations.

* config.sub: Accept OS of eabi* and gnueabi*.
* testsuite/config-sub.data: Add powerpc-eabisim and powerpc-eabivle.

Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2021-01-06 23:55:28 +00:00
0045dea533 Update copyright years
* config.guess: Update copyright years.
* config.sub: Likewise.
* doc/config.guess.1: Regenerate.
* doc/config.sub.1: Likewise.
2021-01-01 08:00:00 +00:00
8e0c6ffd5c Recognize riscv32be and riscv64be
Recently RISC-V community got patches big-endian support for binutils,
and we'd like to accept that, however before accepting that I think it
would be better to upstream config.sub and config.guess change here :)

It's my check result on Ubuntu 18.04:

 $ make check
 cd testsuite && bash config-guess.sh && rm uname
 PASS: config.guess checks (131 tests)
 cd testsuite && bash config-sub.sh
 PASS: config.sub checks (830 tests)
 PASS: config.sub idempotency checks (767 tests)
 PASS: config.sub canonicalise each config.guess testcase (131 tests)

* config.guess (riscv32be:Linux:*:*, riscv64be:Linux:*:*): Recognize.
* config.sub (riscv32be, riscv64be): Likewise.
* doc/config.guess.1: Regenerate.
* doc/config.sub.1: Likewise.
* testsuite/config-guess.data: Add test cases for riscv32be, and riscv64be.
* testsuite/config-sub.data (riscv32be, riscv64be): Add test cases.

Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2020-12-31 07:27:52 +00:00
c8ddc8472f Recognize loongarch32, loongarch64, and loongarchx32
* config.guess (loongarch32:Linux:*:*, loongarch64:Linux:*:*,
loongarchx32:Linux:*:*): Recognize.
* config.sub (loongarch32, loongarch64, loongarchx32): Likewise.
* doc/config.guess.1: Regenerate.
* doc/config.sub.1: Likewise.
* testsuite/config-guess.data: Add test cases for loongarch32,
loongarch64, and loongarchx32.
* testsuite/config-sub.data (loongarch32, loongarch64, loongarchx32):
Add test cases.

Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2020-12-22 08:00:00 +00:00
90b8cb42ba config.sub: recognize thumbv7*
* config.sub (thumbv7*): Recognize.
* testsuite/config-sub.data (thumbv7): New test.

Reported-by: Karl Berry <karl@freefriends.org>
Link: https://lists.gnu.org/archive/html/config-patches/2020-12/msg00001.html
2020-12-02 00:10:00 +00:00
888c8e3d5f Update URLs of the latest version of config.guess and config.sub scripts
Prefer cgit URLs over gitweb as the former are usually served faster:
$ time -f %e wget -q 'https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess'
1.06
$ time -f %e wget -q 'https://git.savannah.gnu.org/cgit/config.git/plain/config.guess'
0.73

* config.guess: Prefer cgit URLs over gitweb.
(timestamp): Update.
* config.sub: Likewise.
* doc/config.guess.1: Regenerate.
* doc/config.sub.1: Likewise.
2020-11-19 08:00:00 +00:00
edcc7bbb5d config.guess: combine two heuristics to detect musl libc
Apparently, this is needed to correctly detect musl libc in different
versions of Alpine Linux.

According to
https://lists.gnu.org/archive/html/config-patches/2020-09/msg00002.html,
the ldd based check does not work for some old versions of the Alpine Linux,
and, according to
https://lists.gnu.org/archive/html/config-patches/2020-11/msg00002.html,
the compiler may not be available in a fresh Alpine container.

The ldd based check is essentially the same as the check that was
introduced by commit 3d00f60242, it is
performed iff the compiler based check could not give a definitive
answer.

Reported-by: Cheng XU <xucheng@me.com>
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2020-11-17 08:00:00 +00:00
77632d92f2 Update timestamps. 2020-11-07 15:46:23 +11:00
95c8d9a294 * config.sub, config.guess: Replace backtick .. substitutions
with POSIX $(..) command substitutions throughout.
	* Makefile (shellcheck): Don't exclude message SC2006.
2020-11-07 15:38:19 +11:00
664b772118 Fix whitespace problem in config.sub. 2020-10-15 07:24:35 +11:00
74a858549d * config.sub (i*86-pc-os2-emx): Recognise correctly.
* testsuite/config-sub.data: Add OS/2 tests to avoid regressions.
2020-10-13 22:20:55 +11:00
d7a4dee7cc * config.sub (uclinux-uclibc*): Fix detection.
* testsuite/config-sub.data: Add a test case to avoid regression.

Signed-off-by: Ben Elliston <bje@gnu.org>
2020-09-27 10:41:38 +10:00
e072cc210e * config.sub: Fix regression in QNX recognition.
* testsuite/config-sub.data: Add some test cases.

Signed-off-by: Ben Elliston <bje@gnu.org>
2020-09-08 09:26:26 +10:00
0b5188819b * config.guess: Replace "if [ EXPR ]" with "if test EXPR".
* config.sub: Likewise.
	* testsuite/config-guess.sh: Likewise.
	* testsuite/config-sub.sh: Likewise.

Signed-off-by: Ben Elliston <bje@gnu.org>
2020-08-17 13:36:41 +10:00
b2969c6e71 * config.sub (case $cpu): Whitespace fix. 2020-07-10 16:01:38 +10:00
3c20dd431e * config.sub (arm64-*): Canonicalise to aarch64-*.
Signed-off-by: Ben Elliston <bje@gnu.org>
2020-07-10 15:45:29 +10:00
5e531d3918 * config.sub: Properly parse the KERNEL-OS case.
I previously refactored config.sub to parse 'basic_machine' into
separate 'cpu' and 'vendor' variables. This is a kindred refactor
where 'basic_os' (a rename of 'os' when used early on) is now parsed
into 'kernel' and 'os'.

Like the previous refactoring, this does make things a bit longer. I
think the change makes the code easier to understand and more robust,
so it is worth the cost of a longer script.

Signed-off-by: Ben Elliston <bje@gnu.org>
2020-06-28 15:32:14 +10:00
62db2b6bd6 * config.sub (s390, s390x): Use 'ibm' vendor default, but allow
overrides.

Previously, 'ibm' was forced, which caused problems when someone
wanted to use 'busybox' as a vendor and cross-compile with a slightly
different toolchain. The fix changed behaviour such that without any
vendor, it would use to 'unknown' rather than 'ibm' as before.

This patch aims to compromise between the old and new behaviour by
making 'ibm' a default for those CPUs when no vendor is specified, but
if the user explicitly provides a vendor that is used instead. This
sort of "vendor defaulting" has plenty of precedent in config.sub, so
it seemed like a good approach.

Signed-off-by: Ben Elliston <bje@gnu.org>
2020-06-28 11:28:40 +10:00
2b81440a51 * config.sub: Allow CPU to influence vendor defaulting too.
Signed-off-by: Ben Elliston <bje@gnu.org>
2020-06-28 11:21:57 +10:00
60a43fe6f0 * config.sub: Move OS whitelist to the bottom of the case as
preparation for future work.

Signed-off-by: Ben Elliston <bje@gnu.org>
2020-06-26 22:26:12 +10:00
696cd4a4ea * config.sub (s390, s390x): Don't set manufacturer.
* testsuite/config-sub.data: Add test cases.

Signed-off-by: Ben Elliston <bje@gnu.org>
2020-06-21 10:51:01 +10:00
5c38fa7c66 * config.sub (psp): Recognize.
* testsuite/config-sub.data: Add test case.

Signed-off-by: Ben Elliston <bje@air.net.au>
2020-06-18 16:50:55 +10:00
e78c96e528 * config.sub (-genode*): New.
* testsuite/config-sub.data: Add test cases.

Signed-off-by: Ben Elliston <bje@air.net.au>
2020-05-04 23:40:51 +10:00
b97839f3cc Reported by Peter Eisentraut:
* config.sub (case $os): Append asterisk to 'powerunix'.
2020-04-24 21:17:47 +10:00
5256817ace * config.guess: Update copyright years.
* config.sub: Likewise.
	* doc/config.guess.1: Regenerate.
	* doc/config.sub.1: Likewise.
2020-01-01 19:36:58 +11:00
fadac5a0ed * config.guess (*:Twizzler:*:*): New.
* config.sub (-twizzler*): New.
	* testsuite/config-guess.data: Add test cases.
	* testsuite/config-sub.data: Ditto.

Signed-off-by: Ben Elliston <bje@gnu.org>
2019-09-12 09:56:40 +10:00
d3bfe62ac8 This change introduces a new test to config-sub.sh which runs every
config.guess expected triplet through config.sub so that we can check
that it is properly recognised. Sometimes, new triplets have been
added to config.guess without updating config.sub accordingly (eg,
Harris NightHawk machines running PowerUnix from the mid-1990s!)

	* config.sub (case $os): Match nsk* and powerunix. Don't later
	match nsk* and set os=nsk which removes the OS version number.
	* testsuite/config-guess.data: Tweak Unleashed test case.
	* testsuite/config-sub.sh (run_config_sub_with_guess_triplets):
	New test.
2019-06-30 16:39:33 +10:00
854aa79378 * config.sub: Recognise os108*.
* testsuite/config-sub.data: Add a test case.
2019-06-30 10:02:45 +10:00
717418e698 * testsuite/config-sub.data: Many more missing test cases.
* config.sub (hp300): Set $os to hpux.

nb: The config.sub bug was found after writing hp300 test cases.
2019-06-26 13:29:37 +10:00
ec599a537a * config.sub (vsta): Move into alphabetical order. 2019-06-26 10:36:39 +10:00
55eaf3e779 * config.sub (bpf): Recognise.
* testsuite/config-sub.data: Add test cases.

Signed-off-by: Ben Elliston <bje@gnu.org>
2019-05-23 11:27:51 +10:00