summaryrefslogtreecommitdiff
path: root/gcc/mkconfig.sh
diff options
context:
space:
mode:
authorZack Weinberg <zackw@stanford.edu>2001-03-23 01:16:22 +0000
committerZack Weinberg <zack@gcc.gnu.org>2001-03-23 01:16:22 +0000
commit1b0ae0f9be2921fae57caf7e9ad6160d7a5edb3a (patch)
tree1b875b349a4b90446dbd724c2b47925949fc2546 /gcc/mkconfig.sh
parentb937498e3083dae97f40d24e3057a99328f3e695 (diff)
downloadgcc-1b0ae0f9be2921fae57caf7e9ad6160d7a5edb3a.tar.gz
mkconfig.sh: Use a subshell with redirected stdout...
* mkconfig.sh: Use a subshell with redirected stdout, instead of closing stdout and confusing commands that run afterward. Throw away output of cmp. From-SVN: r40765
Diffstat (limited to 'gcc/mkconfig.sh')
-rw-r--r--gcc/mkconfig.sh9
1 files changed, 6 insertions, 3 deletions
diff --git a/gcc/mkconfig.sh b/gcc/mkconfig.sh
index e89d382e002..5250708fcec 100644
--- a/gcc/mkconfig.sh
+++ b/gcc/mkconfig.sh
@@ -12,7 +12,10 @@ fi
output=$1
rm -f $output.T
-exec > $output.T
+
+# We used to exec > $output.T but apparently this has bugs.
+# Use a redirected subshell instead.
+(
# Define TARGET_CPU_DEFAULT if the system wants one.
# This substitutes for lots of *.h files.
@@ -53,10 +56,10 @@ echo "#include \"insn-codes.h\""
echo "#include \"insn-flags.h\""
echo "#endif"
-exec >&-
+) > $output.T
# Avoid changing the actual file if possible.
-if [ -f $output ] && cmp $output.T $output; then
+if [ -f $output ] && cmp $output.T $output >/dev/null 2>&1; then
echo $output is unchanged >&2
rm -f $output.T
else