diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6b45cbe5662be8e4339810a6293122a1ee3c1ede..9d87e1b5c811716432f5e024cc2cd0eebdb05f5a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2004-06-18  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+	* config/sh/t-linux64: New file.
+	* config.gcc: Add it to tmake_file for sh64*-*-linux*.
+
 2004-06-18  Paolo Bonzini  <bonzini@gnu.org>
 
 	* emit-rtl.c (unshare_all_rtl_1): New name of unshare_all_rtl.
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 0aad34153647870c59bc20e6ecbf77db0d7fd219..d9eb628355d826e9e0c0fccc1aee3e5157514ca7 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -1734,7 +1734,7 @@ sh-*-linux* | sh[2346lbe]*-*-linux*)
 	tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/elf.h sh/linux.h"
 	case ${target} in
 	sh64*)
-		tmake_file="${tmake_file} sh/t-sh64"
+		tmake_file="${tmake_file} sh/t-sh64 sh/t-linux64"
 		tm_file="${tm_file} sh/sh64.h"
 		extra_headers="shmedia.h ushmedia.h sshmedia.h"
 		;;
diff --git a/gcc/config/sh/t-linux64 b/gcc/config/sh/t-linux64
new file mode 100644
index 0000000000000000000000000000000000000000..126b0163754cd97473b682f3dd35d062a8204f5b
--- /dev/null
+++ b/gcc/config/sh/t-linux64
@@ -0,0 +1 @@
+EXTRA_MULTILIB_PARTS= crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o