summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4>2006-07-06 23:24:51 +0000
committermrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4>2006-07-06 23:24:51 +0000
commit108cf1776caa5e59c4cb1ab3dedcdcf5c5ba5ef5 (patch)
treefb41ac292252903edcd6ef7a56a825224d78fa07
parent499c8b1ed3d898eff2c9b74468aad9b8fdee184f (diff)
downloadgcc-108cf1776caa5e59c4cb1ab3dedcdcf5c5ba5ef5.tar.gz
Port to hosts whose 'sort' and 'tail' implementations
treat operands with leading '+' as file names, as POSIX has required since 2001. However, make sure the code still works on pre-POSIX hosts. * ltmain.sh: Don't assume "sort +2" is equivalent to "sort -k 3", since POSIX 1003.1-2001 no longer requires this. contrib: * compare_tests: Don't assume "sort +2" is equivalent to "sort -k 3", since POSIX 1003.1-2001 no longer requires this. gcc: * Makefile.in (slowcompare): Port to POSIX 1003.1-2001, which says you should use "tail -c +N" rather than "tail +Nc". Fix a bug: the old code incorrectly skipped 15 bytes, not 16. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115234 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--ChangeLog9
-rw-r--r--contrib/ChangeLog9
-rwxr-xr-xcontrib/compare_tests10
-rw-r--r--gcc/ChangeLog10
-rw-r--r--gcc/Makefile.in9
-rw-r--r--ltmain.sh8
6 files changed, 50 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 4f6f192b72b..3d9a3ee3800 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2006-07-06 Paul Eggert <eggert@cs.ucla.edu>
+
+ Port to hosts whose 'sort' and 'tail' implementations
+ treat operands with leading '+' as file names, as POSIX
+ has required since 2001. However, make sure the code still
+ works on pre-POSIX hosts.
+ * ltmain.sh: Don't assume "sort +2" is equivalent to
+ "sort -k 3", since POSIX 1003.1-2001 no longer requires this.
+
2006-07-05 Ulrich Weigand <uweigand@de.ibm.com>
* MAINTAINERS (Various Maintainers): Add myself as reload maintainer.
diff --git a/contrib/ChangeLog b/contrib/ChangeLog
index 120213ac20f..35d29b96f12 100644
--- a/contrib/ChangeLog
+++ b/contrib/ChangeLog
@@ -1,3 +1,12 @@
+2006-07-06 Paul Eggert <eggert@cs.ucla.edu>
+
+ Port to hosts whose 'sort' and 'tail' implementations
+ treat operands with leading '+' as file names, as POSIX
+ has required since 2001. However, make sure the code still
+ works on pre-POSIX hosts.
+ * compare_tests: Don't assume "sort +2" is equivalent to
+ "sort -k 3", since POSIX 1003.1-2001 no longer requires this.
+
2006-06-05 James Lemke <jwlemke@wasabisystems.com>
* dg-cmp-results.sh: New script for comparing DejaGNU logs.
diff --git a/contrib/compare_tests b/contrib/compare_tests
index bcf678c52ea..bed97429d66 100755
--- a/contrib/compare_tests
+++ b/contrib/compare_tests
@@ -31,8 +31,14 @@ now=$tmp2
exit_status=0
trap "rm -f $tmp1 $tmp2 $now_s $before_s" 0 1 2 3 5 9 13 15
-sort -t ':' +1 "$now" > "$now_s"
-sort -t ':' +1 "$before" > "$before_s"
+if sort -k 2 </dev/null >/dev/null 2>&1; then
+ skip1='-k 2'
+else
+ skip1='+1'
+fi
+
+sort -t ':' $skip1 "$now" > "$now_s"
+sort -t ':' $skip1 "$before" > "$before_s"
grep '^FAIL:' "$now_s" | sed 's/^[^:]*:[ ]//' >$tmp1
grep '^PASS' "$before_s" | sed 's/^[^:]*:[ ]//' | comm -12 $tmp1 - >$tmp2
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e5eb94cd1f0..94f768f6a20 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,13 @@
+2006-07-06 Paul Eggert <eggert@cs.ucla.edu>
+
+ Port to hosts whose 'sort' and 'tail' implementations
+ treat operands with leading '+' as file names, as POSIX
+ has required since 2001. However, make sure the code still
+ works on pre-POSIX hosts.
+ * Makefile.in (slowcompare): Port to POSIX 1003.1-2001,
+ which says you should use "tail -c +N" rather than "tail +Nc".
+ Fix a bug: the old code incorrectly skipped 15 bytes, not 16.
+
2006-07-06 Zdenek Dvorak <dvorakz@suse.cz>
* tree-ssa-loop-niter.c (scev_probably_wraps_p): Fix typo in argument name.
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 9f29c7bfe4d..3287de9a605 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -4384,8 +4384,13 @@ fastcompare fastcompare3 fastcompare4 fastcompare-lean fastcompare3-lean fastcom
for file in $$dir/*$(objext); do \
case "$@" in \
slowcompare* ) \
- tail +16c ./$$file > tmp-foo1; \
- tail +16c stage$$stage/$$file > tmp-foo2; \
+ if tail -c +1 </dev/null >/dev/null 2>&1; then \
+ skip16='-c +17'; \
+ else \
+ skip16='+17c'; \
+ fi; \
+ tail $$skip16 ./$$file > tmp-foo1; \
+ tail $$skip16 stage$$stage/$$file > tmp-foo2; \
cmp tmp-foo1 tmp-foo2 > /dev/null 2>&1; \
cmpret=$$?; \
;; \
diff --git a/ltmain.sh b/ltmain.sh
index 219823fc45d..a3c55f9a751 100644
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -3839,7 +3839,13 @@ extern \"C\" {
fi
# Try sorting and uniquifying the output.
- if grep -v "^: " < "$nlist" | sort +2 | uniq > "$nlist"S; then
+ if grep -v "^: " < "$nlist" |
+ if sort -k 3 </dev/null >/dev/null 2>&1; then
+ sort -k 3
+ else
+ sort +2
+ fi |
+ uniq > "$nlist"S; then
:
else
grep -v "^: " < "$nlist" > "$nlist"S