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>
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.
config.guess guesses Solaris 11 to run on a 32-bit platform
despite Solaris 11 no longer supporting any 32-bit platform.
See the following code at lines 434 to 445:
| SUN_ARCH=i386
| # If there is a compiler, see if it is configured for 64-bit objects.
| # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
| # 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) | \
| grep IS_64BIT_ARCH >/dev/null
| then
| SUN_ARCH=x86_64
| fi
| fi
If "cc" is installed, i.e. the Oracle Studio compiler, this one is
chosen for $CC_FOR_BUILD. This compiler, the gcc provided by Oracle
and also gcc bootstrapped from sources on that platform with a default
configuration will by default generate 32-bit binaries -- even on
a 64-bit platform. And __amd64 will not be defined for compilations
targeting a 32-bit platform. This is different from the corresponding
behaviour on GNU/Linux systems where the local platform is targeted by
default.
Thus, as long as you do not add "-m64" or if you have a custom-built
gcc which defaults to 64 bit, you will get 32-bit binaries on Solaris
despite living on a 64-bit platform.
* config.guess (i86pc:SunOS:5.*:* || i86xen:SunOS:5.*:*): Adapt the
test by adding the "-m64" flag. This will work properly for Solaris
10 as well (the last Solaris release that supported x86 32-bit
platforms).
* doc/config.guess.1: Regenerate.
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
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>
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>
Commit 29865ea8a5622cdd80b7a69a0afa78004b4cd311 introduced an exit trap
reset before exiting to avoid a spurious non-zero exit status on
alphaev67-dec-osf5.1. Simplify that code a bit by moving the exit trap
reset around.
* config.guess (alpha:OSF1:*:*): Reset exit trap earlier.
* doc/config.guess.1: Regenerate.
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>
* config.guess (*:NetBSD:*:*): Spell out the full sysctl command twice
instead of using a shell variable.
* doc/config.guess.1: Regenerate.
Fixes: 827c77253b396c07306927b2a4b794a3251c48eb
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
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>