* libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS): head -1 -> sed 1q to
port to POSIX 1003.1-2001 hosts, like textutils 2.0.21 with
_POSIX2_VERSION=200112.
* exe/link-txt.tpl: Include the previous change in the template.


* ltmain.in: Detect and handle object name conflicts while
diff --git a/ChangeLog b/ChangeLog
index 3dbce60..dd214e2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2002-05-06  Paul Eggert  <eggert@twinsun.com>
 
+	* libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS): head -1 -> sed 1q to
+	port to POSIX 1003.1-2001 hosts, like textutils 2.0.21 with
+	_POSIX2_VERSION=200112.
+	* exe/link-txt.tpl: Include the previous change in the template.
+
+2002-05-06  Paul Eggert  <eggert@twinsun.com>
+
 	* ltmain.in: Don't assume that "sort +2" works, as POSIX
 	1003.1-2001 says that "sort +2" is supposed to sort the file
 	named "+2".  An example host that behaves like this is
@@ -7,7 +14,7 @@
 
 2002-05-06  Loren James Rittle  <rittle@latour.rsch.comm.mot.com>
 
-	* ltmain.sh: Detect and handle object name conflicts while
+	* ltmain.in: Detect and handle object name conflicts while
 	piecewise linking a static library.
 
 2002-05-02  Dave Vasilevsky  <thevas@mac.com>
diff --git a/exe/link-txt.tpl b/exe/link-txt.tpl
index e1c34e0..aedfd04 100644
--- a/exe/link-txt.tpl
+++ b/exe/link-txt.tpl
@@ -2996,7 +2996,13 @@
 	    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
diff --git a/libtool.m4 b/libtool.m4
index f775f2e..7c8add4 100644
--- a/libtool.m4
+++ b/libtool.m4
@@ -4539,7 +4539,7 @@
       # If the export-symbols file already is a .def file (1st line
       # is EXPORTS), use it as is.
       # If DATA tags from a recent dlltool are present, honour them!
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`head -1 $export_symbols`" = xEXPORTS; then
+      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`sed 1q $export_symbols`" = xEXPORTS; then
 	  cp $export_symbols $output_objdir/$soname-def;
 	else
 	  echo EXPORTS > $output_objdir/$soname-def;