config/doc/config.sub.1
Nick Bowler 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

28 lines
864 B
Groff

.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.16.
.TH CONFIG.SUB "1" "August 2021" "GNU config.sub (2021-08-14)" "User Commands"
.SH NAME
config.sub \- validate and canonicalize a configuration triplet
.SH SYNOPSIS
.B config.sub
[\fI\,OPTION\/\fR] \fI\,CPU-MFR-OPSYS or ALIAS\/\fR
.SH DESCRIPTION
Canonicalize a configuration name.
.SH OPTIONS
.TP
\fB\-h\fR, \fB\-\-help\fR
print this help, then exit
.TP
\fB\-t\fR, \fB\-\-time\-stamp\fR
print date of last modification, then exit
.TP
\fB\-v\fR, \fB\-\-version\fR
print version number, then exit
.SH "REPORTING BUGS"
Report bugs and patches to <config\-patches@gnu.org>.
.SH COPYRIGHT
Copyright 1992\-2021 Free Software Foundation, Inc.
.PP
.br
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.