Submitted By: Jim Gifford (patches at jg555 dot com)
Date: 2005-05-06
Initial Package Version: 2.16
Origin: http://ttervo.vectorstar.net/nptl/posix-patches/binutils-2.14.90.0.7-posix-head-tail.patch
Upstream Status: Accepted/but Suspended
Description: Makes Posix Compliant
	     Rediffed against 2.16 by Jeremy Huntwork

diff -Naur binutils-2.16-ORIG/gas/Makefile.am binutils-2.16/gas/Makefile.am
--- binutils-2.16-ORIG/gas/Makefile.am	2005-03-22 10:31:44.000000000 -0500
+++ binutils-2.16/gas/Makefile.am	2005-05-06 17:08:11.859876859 -0400
@@ -762,13 +762,13 @@
 against=stage2
 
 # This rule is derived from corresponding code in the Makefile.in for gcc.
-# The "tail +16c" is to bypass headers which may include timestamps or
+# The "tail -c +16" is to bypass headers which may include timestamps or
 # temporary assembly file names.
 comparison:
 	x=0 ; \
 	for file in *.o ; do \
-	  tail +16c ./$$file > tmp-foo1; \
-	  if tail +16c ${against}/$$file > tmp-foo2 2>/dev/null ; then \
+	  tail -c +16 ./$$file > tmp-foo1; \
+	  if tail -c +16 ${against}/$$file > tmp-foo2 2>/dev/null ; then \
 	    if cmp tmp-foo1 tmp-foo2 ; then \
 	      true ; \
 	    else \
diff -Naur binutils-2.16-ORIG/gas/Makefile.in binutils-2.16/gas/Makefile.in
--- binutils-2.16-ORIG/gas/Makefile.in	2005-04-29 09:57:16.000000000 -0400
+++ binutils-2.16/gas/Makefile.in	2005-05-06 17:08:11.868875659 -0400
@@ -3164,13 +3164,13 @@
 	if [ -f stage3/as-new$(EXEEXT) -a ! -f stage3/as$(EXEEXT) ] ; then (cd stage3 ; ln -s as-new as$(EXEEXT)) ; fi
 
 # This rule is derived from corresponding code in the Makefile.in for gcc.
-# The "tail +16c" is to bypass headers which may include timestamps or
+# The "tail -c +16" is to bypass headers which may include timestamps or
 # temporary assembly file names.
 comparison:
 	x=0 ; \
 	for file in *.o ; do \
-	  tail +16c ./$$file > tmp-foo1; \
-	  if tail +16c ${against}/$$file > tmp-foo2 2>/dev/null ; then \
+	  tail -c +16 ./$$file > tmp-foo1; \
+	  if tail -c +16 ${against}/$$file > tmp-foo2 2>/dev/null ; then \
 	    if cmp tmp-foo1 tmp-foo2 ; then \
 	      true ; \
 	    else \
diff -Naur binutils-2.16-ORIG/ld/testsuite/ld-bootstrap/bootstrap.exp binutils-2.16/ld/testsuite/ld-bootstrap/bootstrap.exp
--- binutils-2.16-ORIG/ld/testsuite/ld-bootstrap/bootstrap.exp	2005-03-03 06:52:06.000000000 -0500
+++ binutils-2.16/ld/testsuite/ld-bootstrap/bootstrap.exp	2005-05-06 17:08:11.870875393 -0400
@@ -149,8 +149,8 @@
         # Although this works, a way to set the date would be better.
         # Removing or zeroing the date stamp in the binary produced by
         # the linker is not possible as it is required by the target OS.
-        exec tail +140 tmpdir/ld2 >tmpdir/ld2tail
-        exec tail +140 tmpdir/ld3 >tmpdir/ld3tail
+        exec tail -n +140 tmpdir/ld2 >tmpdir/ld2tail
+        exec tail -n +140 tmpdir/ld3 >tmpdir/ld3tail
         catch "exec cmp tmpdir/ld2tail tmpdir/ld3tail" exec_output
         exec rm tmpdir/ld2tail tmpdir/ld3tail
     } else {
diff -Naur binutils-2.16-ORIG/ltcf-c.sh binutils-2.16/ltcf-c.sh
--- binutils-2.16-ORIG/ltcf-c.sh	2004-10-05 09:34:42.000000000 -0400
+++ binutils-2.16/ltcf-c.sh	2005-05-06 17:08:11.873874993 -0400
@@ -153,7 +153,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!
-    archive_expsym_cmds='if test "x`head -1 $export_symbols`" = xEXPORTS; then
+    archive_expsym_cmds='if test "x`head -n 1 $export_symbols`" = xEXPORTS; then
         cp $export_symbols $output_objdir/$soname-def;
       else
         echo EXPORTS > $output_objdir/$soname-def;
diff -Naur binutils-2.16-ORIG/ltcf-gcj.sh binutils-2.16/ltcf-gcj.sh
--- binutils-2.16-ORIG/ltcf-gcj.sh	2004-07-21 15:21:41.000000000 -0400
+++ binutils-2.16/ltcf-gcj.sh	2005-05-06 17:08:11.876874593 -0400
@@ -156,7 +156,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!
-    archive_expsym_cmds='if test "x`head -1 $export_symbols`" = xEXPORTS; then
+    archive_expsym_cmds='if test "x`head -n 1 $export_symbols`" = xEXPORTS; then
         cp $export_symbols $output_objdir/$soname-def;
       else
         echo EXPORTS > $output_objdir/$soname-def;
diff -Naur binutils-2.16-ORIG/src-release binutils-2.16/src-release
--- binutils-2.16-ORIG/src-release	2004-12-03 05:30:06.000000000 -0500
+++ binutils-2.16/src-release	2005-05-06 17:08:11.878874327 -0400
@@ -69,7 +69,7 @@
 	elif grep AM_INIT_AUTOMAKE $(TOOL)/configure.in >/dev/null 2>&1; then \
 	  sed < $(TOOL)/configure.in -n 's/AM_INIT_AUTOMAKE[^,]*, *\([^)]*\))/\1/p'; \
 	elif test -f $(TOOL)/version.in; then \
-	  head -1 $(TOOL)/version.in; \
+	  head -n 1 $(TOOL)/version.in; \
 	elif grep VERSION $(TOOL)/Makefile.in > /dev/null 2>&1; then \
 	  sed < $(TOOL)/Makefile.in -n 's/^VERSION *= *//p'; \
 	else \
