diff --git a/libjava/classpath/ChangeLog b/libjava/classpath/ChangeLog index 82e756bd730c..4e401a4a3cc9 100644 --- a/libjava/classpath/ChangeLog +++ b/libjava/classpath/ChangeLog @@ -1,3 +1,15 @@ +2006-07-06 Paul Eggert + + 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. + * libjava/classpath/ltmain.sh: Don't assume "sort +2" is + equivalent to "sort -k 3", since POSIX 1003.1-2001 no longer + requires this. + This uses the same fix that is already in + libjava/libltdl/ltmain.sh. + 2006-07-04 Peter O'Gorman * ltconfig: chmod 644 before ranlib during install. diff --git a/libjava/classpath/ltmain.sh b/libjava/classpath/ltmain.sh index 219823fc45db..a3c55f9a7513 100644 --- a/libjava/classpath/ltmain.sh +++ b/libjava/classpath/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 2>&1; then + sort -k 3 + else + sort +2 + fi | + uniq > "$nlist"S; then : else grep -v "^: " < "$nlist" > "$nlist"S