diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4929dd466e3c485b79f4caa1c3817df79ab862a4..e5fb0e23775b57ef2d1e63e5f06b897854f0ccfa 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2001-08-10  Andrew Haley  <aph@cambridge.redhat.com>
+
+	* config/sh/sh.md: Add modes to unspecs in first insn to match
+	those in the second.
+
+	* Makefile.in: Fix collect2 copy for Cygwin.
+
 Fri Aug 17 15:48:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
 
 	Install the proper patch.
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 8ae2536e49b5b5e7f87bde8466c673abca47fd08..6f748ca71e3317ff4277a5553e32bff4da929806 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -1191,9 +1191,9 @@ COLLECT2_OBJS = collect2.o tlink.o hash.o intl.o underscore.o version.o
 COLLECT2_LIBS = @COLLECT2_LIBS@
 collect2$(exeext): $(COLLECT2_OBJS) $(LIBDEPS)
 # Don't try modifying collect2 (aka ld) in place--it might be linking this.
-	$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@T \
+	$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o T$@ \
 		$(COLLECT2_OBJS) $(LIBS) $(COLLECT2_LIBS)
-	mv -f $@T $@
+	mv -f T$@ $@
 
 collect2.o : collect2.c $(CONFIG_H) $(SYSTEM_H) gstab.h intl.h \
 	$(OBSTACK_H) $(DEMANGLE_H) collect2.h version.h
diff --git a/gcc/config/sh/sh.md b/gcc/config/sh/sh.md
index 5eba38e065f932ddca2a4ef9a672776d06e5cd2b..284429198e2e6a3dc75b6dc4acd3651367cf597e 100644
--- a/gcc/config/sh/sh.md
+++ b/gcc/config/sh/sh.md
@@ -3746,7 +3746,7 @@
 
 (define_expand "GOTaddr2picreg"
   [(set (reg:SI R0_REG)
-	(unspec [(const (unspec [(match_dup 1)] UNSPEC_PIC))]
+	(unspec [(const:SI (unspec:SI [(match_dup 1)] UNSPEC_PIC))]
 		UNSPEC_MOVA))
    (set (match_dup 0) (const:SI (unspec:SI [(match_dup 1)] UNSPEC_PIC)))
    (set (match_dup 0) (plus:SI (match_dup 0) (reg:SI R0_REG)))]