Index: /trunk/kBuild/tools/VCC100.kmk
===================================================================
--- /trunk/kBuild/tools/VCC100.kmk	(revision 2556)
+++ /trunk/kBuild/tools/VCC100.kmk	(revision 2557)
@@ -227,5 +227,5 @@
 TOOL_VCC100_LINK_LIBRARY_OUTPUT_MAYBE = $(outbase).lst $(outbase).exp $(outbase).pdb
 define TOOL_VCC100_LINK_LIBRARY_CMDS
-	$(QUIET)$(APPEND) -n $(outbase).rsp \
+	$(QUIET)$(APPEND) -tn $(outbase).rsp \
 		$(foreach arg,\
 			$(subst /,\\,$(objs) \
@@ -255,9 +255,14 @@
 TOOL_VCC100_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
 TOOL_VCC100_LINK_PROGRAM_DEPORD =
-TOOL_VCC100_LINK_PROGRAM_OUTPUT = $(outbase).map
+TOOL_VCC100_LINK_PROGRAM_OUTPUT = $(outbase).map $(outbase).rsp
 TOOL_VCC100_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).map $(outbase).lib $(outbase).exp $(outbase).ilk $(out).manifest
 TOOL_VCC100_LINK_PROGRAM_OUTPUT_DEBUG = $(outbase).pdb
 TOOL_VCC100_LINK_PROGRAM_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
 define TOOL_VCC100_LINK_PROGRAM_CMDS
+	$(QUIET)$(APPEND) -tn $(outbase).rsp \
+		$(foreach arg,\
+		    $(subst /,\\,$(objs)) \
+		    $(subst /,\\,$(libs)) \
+			,\"$(arg)\")
 	$(QUIET)$(TOOL_VCC100_LD) $(flags) \
 		/OUT:$(out) \
@@ -267,6 +272,5 @@
 		$(subst /,\\,$(filter %.exp %.res,$(othersrc))) \
 		$(foreach p,$(libpath), /LIBPATH:$(p)) \
-		$(subst /,\\,$(objs)) \
-		$(subst /,\\,$(libs))
+		@$(outbase).rsp
 	$(QUIET)$(TEST) -f $(out).manifest -- \
 		$(TOOL_VCC100_MT) -manifest $(subst /,\\,$(out)).manifest -outputresource:$(subst /,\\,$(out))
@@ -290,9 +294,14 @@
 TOOL_VCC100_LINK_DLL_DEPEND = $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
 TOOL_VCC100_LINK_DLL_DEPORD = $(call DIRDEP,$(PATH_STAGE_LIB))
-TOOL_VCC100_LINK_DLL_OUTPUT = $(outbase).map $(outbase).lib $(outbase).exp
+TOOL_VCC100_LINK_DLL_OUTPUT = $(outbase).map $(outbase).lib $(outbase).exp $(outbase).rsp
 TOOL_VCC100_LINK_DLL_OUTPUT_MAYBE = $(outbase).ilk $(out).manifest $(PATH_STAGE_LIB)/$(notdir $(outbase)).lib $(PATH_STAGE_LIB)/$(notdir $(outbase)).exp
 TOOL_VCC100_LINK_DLL_OUTPUT_DEBUG = $(outbase).pdb
 TOOL_VCC100_LINK_DLL_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
 define TOOL_VCC100_LINK_DLL_CMDS
+	$(QUIET)$(APPEND) -tn $(outbase).rsp \
+		$(foreach arg,\
+		    $(subst /,\\,$(objs)) \
+		    $(subst /,\\,$(libs)) \
+			,\"$(arg)\")
 	$(QUIET)$(TOOL_VCC100_LD) $(flags) \
 		/OUT:$(out) \
@@ -304,6 +313,5 @@
 		$(subst /,\\,$(filter %.exp %.res,$(othersrc))) \
 		$(foreach p,$(libpath), /LIBPATH:$(p)) \
-		$(subst /,\\,$(objs)) \
-		$(subst /,\\,$(libs))
+		@$(outbase).rsp
 	$(QUIET)$(TEST) -f $(out).manifest -- \
 		$(TOOL_VCC100_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'
@@ -329,9 +337,14 @@
 TOOL_VCC100_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
 TOOL_VCC100_LINK_SYSMOD_DEPORD =
-TOOL_VCC100_LINK_SYSMOD_OUTPUT = $(outbase).map
+TOOL_VCC100_LINK_SYSMOD_OUTPUT = $(outbase).map $(outbase).rsp
 TOOL_VCC100_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).ilk $(out).manifest
 TOOL_VCC100_LINK_SYSMOD_OUTPUT_DEBUG = $(outbase).pdb
 TOOL_VCC100_LINK_SYSMOD_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
 define TOOL_VCC100_LINK_SYSMOD_CMDS
+	$(QUIET)$(APPEND) -tn $(outbase).rsp \
+		$(foreach arg,\
+		    $(subst /,\\,$(objs)) \
+		    $(subst /,\\,$(libs)) \
+			,\"$(arg)\")
 	$(QUIET)$(TOOL_VCC100_LD) $(flags) \
 		/OUT:$(out) \
@@ -341,6 +354,5 @@
 		$(subst /,\\,$(filter %.exp %.res,$(othersrc))) \
 		$(foreach p,$(libpath), /LIBPATH:$(p)) \
-		$(subst /,\\,$(objs)) \
-		$(subst /,\\,$(libs))
+		@$(outbase).rsp
 	$(QUIET)$(TEST) -f $(out).manifest -- \
 		$(TOOL_VCC100_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'
Index: /trunk/kBuild/tools/VCC100AMD64.kmk
===================================================================
--- /trunk/kBuild/tools/VCC100AMD64.kmk	(revision 2556)
+++ /trunk/kBuild/tools/VCC100AMD64.kmk	(revision 2557)
@@ -247,5 +247,5 @@
 TOOL_VCC100AMD64_LINK_LIBRARY_OUTPUT_MAYBE = $(outbase).lst $(outbase).exp $(outbase).pdb
 define TOOL_VCC100AMD64_LINK_LIBRARY_CMDS
-	$(QUIET)$(APPEND) -n $(outbase).rsp \
+	$(QUIET)$(APPEND) -tn $(outbase).rsp \
 		$(foreach arg,\
 			$(subst /,\\,$(objs) \
@@ -273,9 +273,14 @@
 TOOL_VCC100AMD64_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
 TOOL_VCC100AMD64_LINK_PROGRAM_DEPORD =
-TOOL_VCC100AMD64_LINK_PROGRAM_OUTPUT = $(outbase).map
+TOOL_VCC100AMD64_LINK_PROGRAM_OUTPUT = $(outbase).map $(outbase).rsp
 TOOL_VCC100AMD64_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).ilk $(out).manifest
 TOOL_VCC100AMD64_LINK_PROGRAM_OUTPUT_DEBUG = $(outbase).pdb
 TOOL_VCC100AMD64_LINK_PROGRAM_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
 define TOOL_VCC100AMD64_LINK_PROGRAM_CMDS
+	$(QUIET)$(APPEND) -tn $(outbase).rsp \
+		$(foreach arg,\
+		    $(subst /,\\,$(objs)) \
+		    $(subst /,\\,$(libs)) \
+			,\"$(arg)\")
 	$(QUIET)$(TOOL_VCC100AMD64_LD) $(flags) \
 		/OUT:$(out) \
@@ -285,6 +290,5 @@
 		$(subst /,\\,$(filter %.exp %.res,$(othersrc))) \
 		$(foreach p,$(libpath), /LIBPATH:$(p)) \
-		$(subst /,\\,$(objs)) \
-		$(subst /,\\,$(libs))
+		@$(outbase).rsp
 	$(QUIET)$(TEST) -f $(out).manifest -- \
 		$(TOOL_VCC100AMD64_MT) -manifest $(subst /,\\,$(out)).manifest -outputresource:$(subst /,\\,$(out))
@@ -308,9 +312,14 @@
 TOOL_VCC100AMD64_LINK_DLL_DEPEND = $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
 TOOL_VCC100AMD64_LINK_DLL_DEPORD = $(call DIRDEP,$(PATH_STAGE_LIB))
-TOOL_VCC100AMD64_LINK_DLL_OUTPUT = $(outbase).map $(outbase).lib $(outbase).exp
+TOOL_VCC100AMD64_LINK_DLL_OUTPUT = $(outbase).map $(outbase).lib $(outbase).exp $(outbase).rsp
 TOOL_VCC100AMD64_LINK_DLL_OUTPUT_MAYBE = $(outbase).ilk $(out).manifest $(PATH_STAGE_LIB)/$(notdir $(outbase)).lib $(PATH_STAGE_LIB)/$(notdir $(outbase)).exp
 TOOL_VCC100AMD64_LINK_DLL_OUTPUT_DEBUG = $(outbase).pdb
 TOOL_VCC100AMD64_LINK_DLL_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
 define TOOL_VCC100AMD64_LINK_DLL_CMDS
+	$(QUIET)$(APPEND) -tn $(outbase).rsp \
+		$(foreach arg,\
+		    $(subst /,\\,$(objs)) \
+		    $(subst /,\\,$(libs)) \
+			,\"$(arg)\")
 	$(QUIET)$(TOOL_VCC100AMD64_LD) $(flags) \
 		/OUT:$(out) \
@@ -322,6 +331,5 @@
 		$(subst /,\\,$(filter %.exp %.res,$(othersrc))) \
 		$(foreach p,$(libpath), /LIBPATH:$(p)) \
-		$(subst /,\\,$(objs)) \
-		$(subst /,\\,$(libs))
+		@$(outbase).rsp
 	$(QUIET)$(TEST) -f $(out).manifest -- \
 		$(TOOL_VCC100AMD64_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'
@@ -347,9 +355,14 @@
 TOOL_VCC100AMD64_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
 TOOL_VCC100AMD64_LINK_SYSMOD_DEPORD =
-TOOL_VCC100AMD64_LINK_SYSMOD_OUTPUT = $(outbase).map
+TOOL_VCC100AMD64_LINK_SYSMOD_OUTPUT = $(outbase).map $(outbase).rsp
 TOOL_VCC100AMD64_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).ilk $(out).manifest
 TOOL_VCC100AMD64_LINK_SYSMOD_OUTPUT_DEBUG = $(outbase).pdb
 TOOL_VCC100AMD64_LINK_SYSMOD_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
 define TOOL_VCC100AMD64_LINK_SYSMOD_CMDS
+	$(QUIET)$(APPEND) -tn $(outbase).rsp \
+		$(foreach arg,\
+		    $(subst /,\\,$(objs)) \
+		    $(subst /,\\,$(libs)) \
+			,\"$(arg)\")
 	$(QUIET)$(TOOL_VCC100AMD64_LD) $(flags) \
 		/OUT:$(out) \
@@ -359,6 +372,5 @@
 		$(subst /,\\,$(filter %.exp %.res,$(othersrc))) \
 		$(foreach p,$(libpath), /LIBPATH:$(p)) \
-		$(subst /,\\,$(objs)) \
-		$(subst /,\\,$(libs))
+		@$(outbase).rsp
 	$(QUIET)$(TEST) -f $(out).manifest -- \
 		$(TOOL_VCC100AMD64_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'
Index: /trunk/kBuild/tools/VCC100X86.kmk
===================================================================
--- /trunk/kBuild/tools/VCC100X86.kmk	(revision 2556)
+++ /trunk/kBuild/tools/VCC100X86.kmk	(revision 2557)
@@ -208,5 +208,5 @@
 TOOL_VCC100X86_LINK_LIBRARY_OUTPUT_MAYBE = $(outbase).lst $(outbase).exp $(outbase).pdb
 define TOOL_VCC100X86_LINK_LIBRARY_CMDS
-	$(QUIET)$(APPEND) -n $(outbase).rsp \
+	$(QUIET)$(APPEND) -tn $(outbase).rsp \
 		$(foreach arg,\
 			$(subst /,\\,$(objs) \
@@ -234,9 +234,14 @@
 TOOL_VCC100X86_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
 TOOL_VCC100X86_LINK_PROGRAM_DEPORD =
-TOOL_VCC100X86_LINK_PROGRAM_OUTPUT = $(outbase).map
+TOOL_VCC100X86_LINK_PROGRAM_OUTPUT = $(outbase).map $(outbase).rsp
 TOOL_VCC100X86_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).ilk $(out).manifest
 TOOL_VCC100X86_LINK_PROGRAM_OUTPUT_DEBUG = $(outbase).pdb
 TOOL_VCC100X86_LINK_PROGRAM_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
 define TOOL_VCC100X86_LINK_PROGRAM_CMDS
+	$(QUIET)$(APPEND) -tn $(outbase).rsp \
+		$(foreach arg,\
+		    $(subst /,\\,$(objs)) \
+		    $(subst /,\\,$(libs)) \
+			,\"$(arg)\")
 	$(QUIET)$(TOOL_VCC100X86_LD) $(flags) \
 		/OUT:$(out) \
@@ -246,6 +251,5 @@
 		$(subst /,\\,$(filter %.exp %.res,$(othersrc))) \
 		$(foreach p,$(libpath), /LIBPATH:$(p)) \
-		$(subst /,\\,$(objs)) \
-		$(subst /,\\,$(libs))
+		@$(outbase).rsp
 	$(QUIET)$(TEST) -f $(out).manifest -- \
 		$(TOOL_VCC100X86_MT) -manifest $(subst /,\\,$(out)).manifest -outputresource:$(subst /,\\,$(out))
@@ -269,9 +273,14 @@
 TOOL_VCC100X86_LINK_DLL_DEPEND = $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
 TOOL_VCC100X86_LINK_DLL_DEPORD = $(call DIRDEP,$(PATH_STAGE_LIB))
-TOOL_VCC100X86_LINK_DLL_OUTPUT = $(outbase).map $(outbase).lib $(outbase).exp
+TOOL_VCC100X86_LINK_DLL_OUTPUT = $(outbase).map $(outbase).lib $(outbase).exp $(outbase).rsp
 TOOL_VCC100X86_LINK_DLL_OUTPUT_MAYBE = $(outbase).ilk $(out).manifest $(PATH_STAGE_LIB)/$(notdir $(outbase)).lib $(PATH_STAGE_LIB)/$(notdir $(outbase)).exp
 TOOL_VCC100X86_LINK_DLL_OUTPUT_DEBUG = $(outbase).pdb
 TOOL_VCC100X86_LINK_DLL_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
 define TOOL_VCC100X86_LINK_DLL_CMDS
+	$(QUIET)$(APPEND) -tn $(outbase).rsp \
+		$(foreach arg,\
+		    $(subst /,\\,$(objs)) \
+		    $(subst /,\\,$(libs)) \
+			,\"$(arg)\")
 	$(QUIET)$(TOOL_VCC100X86_LD) $(flags) \
 		/OUT:$(out) \
@@ -283,6 +292,5 @@
 		$(subst /,\\,$(filter %.exp %.res,$(othersrc))) \
 		$(foreach p,$(libpath), /LIBPATH:$(p)) \
-		$(subst /,\\,$(objs)) \
-		$(subst /,\\,$(libs))
+		@$(outbase).rsp
 	$(QUIET)$(TEST) -f $(out).manifest -- \
 		$(TOOL_VCC100X86_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'
@@ -308,9 +316,14 @@
 TOOL_VCC100X86_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
 TOOL_VCC100X86_LINK_SYSMOD_DEPORD =
-TOOL_VCC100X86_LINK_SYSMOD_OUTPUT = $(outbase).map
+TOOL_VCC100X86_LINK_SYSMOD_OUTPUT = $(outbase).map $(outbase).rsp
 TOOL_VCC100X86_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).ilk $(out).manifest
 TOOL_VCC100X86_LINK_SYSMOD_OUTPUT_DEBUG = $(outbase).pdb
 TOOL_VCC100X86_LINK_SYSMOD_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
 define TOOL_VCC100X86_LINK_SYSMOD_CMDS
+	$(QUIET)$(APPEND) -tn $(outbase).rsp \
+		$(foreach arg,\
+		    $(subst /,\\,$(objs)) \
+		    $(subst /,\\,$(libs)) \
+			,\"$(arg)\")
 	$(QUIET)$(TOOL_VCC100X86_LD) $(flags) \
 		/OUT:$(out) \
@@ -320,6 +333,5 @@
 		$(subst /,\\,$(filter %.exp %.res,$(othersrc))) \
 		$(foreach p,$(libpath), /LIBPATH:$(p)) \
-		$(subst /,\\,$(objs)) \
-		$(subst /,\\,$(libs))
+		@$(outbase).rsp
 	$(QUIET)$(TEST) -f $(out).manifest -- \
 		$(TOOL_VCC100X86_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'
Index: /trunk/kBuild/tools/VCC70.kmk
===================================================================
--- /trunk/kBuild/tools/VCC70.kmk	(revision 2556)
+++ /trunk/kBuild/tools/VCC70.kmk	(revision 2557)
@@ -240,5 +240,5 @@
 TOOL_VCC70_LINK_LIBRARY_OUTPUT_MAYBE = $(outbase).lst $(outbase).exp $(outbase).pdb
 define TOOL_VCC70_LINK_LIBRARY_CMDS
-	$(QUIET)$(APPEND) -n $(outbase).rsp \
+	$(QUIET)$(APPEND) -tn $(outbase).rsp \
 		$(foreach arg,\
 			$(subst /,\\,$(objs) \
@@ -264,4 +264,5 @@
 # @param    $(outbase)      Output basename (full). Use this for list files and such.
 #
+TOOL_VCC70_LINK_PROGRAM_OUTPUT = $(outbase).rsp
 TOOL_VCC70_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).map $(outbase).lib $(outbase).exp $(outbase).ilk
 TOOL_VCC70_LINK_PROGRAM_OUTPUT_DEBUG = $(outbase).pdb
@@ -270,4 +271,9 @@
 TOOL_VCC70_LINK_PROGRAM_DEPORD =
 define TOOL_VCC70_LINK_PROGRAM_CMDS
+	$(QUIET)$(APPEND) -tn $(outbase).rsp \
+		$(foreach arg,\
+		    $(subst /,\\,$(objs)) \
+		    $(subst /,\\,$(libs)) \
+			,\"$(arg)\")
 	$(QUIET)$(TOOL_VCC70_LD) $(flags) \
 		/OUT:$(out) \
@@ -277,6 +283,5 @@
 		$(subst /,\\,$(filter %.exp %.res,$(othersrc))) \
 		$(foreach p,$(libpath), /LIBPATH:$(p)) \
-		$(subst /,\\,$(objs)) \
-		$(subst /,\\,$(libs))
+		@$(outbase).rsp
 endef
 
@@ -296,5 +301,5 @@
 #
 # @param    $(outbase)  Output basename (full). Use this for list files and such.
-TOOL_VCC70_LINK_DLL_OUTPUT = $(outbase).map $(outbase).lib $(outbase).exp
+TOOL_VCC70_LINK_DLL_OUTPUT = $(outbase).map $(outbase).lib $(outbase).exp $(outbase).rsp
 TOOL_VCC70_LINK_DLL_OUTPUT_MAYBE = $(outbase).ilk $(PATH_STAGE_LIB)/$(notdir $(outbase)).lib $(PATH_STAGE_LIB)/$(notdir $(outbase)).exp
 TOOL_VCC70_LINK_DLL_OUTPUT_DEBUG = $(outbase).pdb
@@ -303,4 +308,9 @@
 TOOL_VCC70_LINK_DLL_DEPORD = $(call DIRDEP,$(PATH_STAGE_LIB))
 define TOOL_VCC70_LINK_DLL_CMDS
+	$(QUIET)$(APPEND) -tn $(outbase).rsp \
+		$(foreach arg,\
+		    $(subst /,\\,$(objs)) \
+		    $(subst /,\\,$(libs)) \
+			,\"$(arg)\")
 	$(QUIET)$(TOOL_VCC70_LD) $(flags) \
 		/OUT:$(out) \
@@ -312,6 +322,5 @@
 		$(subst /,\\,$(filter %.exp %.res,$(othersrc))) \
 		$(foreach p,$(libpath), /LIBPATH:$(p)) \
-		$(subst /,\\,$(objs)) \
-		$(subst /,\\,$(libs))
+		@$(outbase).rsp
 	$(QUIET)$(CP) --changed --ignore-non-existing $(outbase).exp $(outbase).lib $(PATH_STAGE_LIB)/
 $(eval _DIRS += $(PATH_STAGE_LIB))
@@ -333,5 +342,5 @@
 #
 # @param    $(outbase)  Output basename (full). Use this for list files and such.
-TOOL_VCC70_LINK_SYSMOD_OUTPUT = $(outbase).map
+TOOL_VCC70_LINK_SYSMOD_OUTPUT = $(outbase).map $(outbase).rsp
 TOOL_VCC70_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).ilk
 TOOL_VCC70_LINK_SYSMOD_OUTPUT_DEBUG = $(outbase).pdb
@@ -340,4 +349,9 @@
 TOOL_VCC70_LINK_SYSMOD_DEPORD =
 define TOOL_VCC70_LINK_SYSMOD_CMDS
+	$(QUIET)$(APPEND) -tn $(outbase).rsp \
+		$(foreach arg,\
+		    $(subst /,\\,$(objs)) \
+		    $(subst /,\\,$(libs)) \
+			,\"$(arg)\")
 	$(QUIET)$(TOOL_VCC70_LD) $(flags) \
 		/OUT:$(out) \
@@ -347,6 +361,5 @@
 		$(subst /,\\,$(filter %.exp %.res,$(othersrc))) \
 		$(foreach p,$(libpath), /LIBPATH:$(p)) \
-		$(subst /,\\,$(objs)) \
-		$(subst /,\\,$(libs))
-endef
-
+		@$(outbase).rsp
+endef
+
Index: /trunk/kBuild/tools/VCC80.kmk
===================================================================
--- /trunk/kBuild/tools/VCC80.kmk	(revision 2556)
+++ /trunk/kBuild/tools/VCC80.kmk	(revision 2557)
@@ -227,5 +227,5 @@
 TOOL_VCC80_LINK_LIBRARY_OUTPUT_MAYBE = $(outbase).lst $(outbase).exp $(outbase).pdb
 define TOOL_VCC80_LINK_LIBRARY_CMDS
-	$(QUIET)$(APPEND) -n $(outbase).rsp \
+	$(QUIET)$(APPEND) -tn $(outbase).rsp \
 		$(foreach arg,\
 			$(subst /,\\,$(objs) \
@@ -255,9 +255,14 @@
 TOOL_VCC80_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
 TOOL_VCC80_LINK_PROGRAM_DEPORD =
-TOOL_VCC80_LINK_PROGRAM_OUTPUT = $(outbase).map
+TOOL_VCC80_LINK_PROGRAM_OUTPUT = $(outbase).map $(outbase).rsp
 TOOL_VCC80_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).map $(outbase).lib $(outbase).exp $(outbase).ilk $(out).manifest
 TOOL_VCC80_LINK_PROGRAM_OUTPUT_DEBUG = $(outbase).pdb
 TOOL_VCC80_LINK_PROGRAM_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
 define TOOL_VCC80_LINK_PROGRAM_CMDS
+	$(QUIET)$(APPEND) -tn $(outbase).rsp \
+		$(foreach arg,\
+		    $(subst /,\\,$(objs)) \
+		    $(subst /,\\,$(libs)) \
+			,\"$(arg)\")
 	$(QUIET)$(TOOL_VCC80_LD) $(flags) \
 		/OUT:$(out) \
@@ -267,6 +272,5 @@
 		$(subst /,\\,$(filter %.exp %.res,$(othersrc))) \
 		$(foreach p,$(libpath), /LIBPATH:$(p)) \
-		$(subst /,\\,$(objs)) \
-		$(subst /,\\,$(libs))
+		@$(outbase).rsp
 	$(QUIET)$(TEST) -f $(out).manifest -- \
 		$(TOOL_VCC80_MT) -manifest $(subst /,\\,$(out)).manifest -outputresource:$(subst /,\\,$(out))
@@ -290,9 +294,14 @@
 TOOL_VCC80_LINK_DLL_DEPEND = $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
 TOOL_VCC80_LINK_DLL_DEPORD = $(call DIRDEP,$(PATH_STAGE_LIB))
-TOOL_VCC80_LINK_DLL_OUTPUT = $(outbase).map $(outbase).lib $(outbase).exp
+TOOL_VCC80_LINK_DLL_OUTPUT = $(outbase).map $(outbase).lib $(outbase).exp $(outbase).rsp
 TOOL_VCC80_LINK_DLL_OUTPUT_MAYBE = $(outbase).ilk $(out).manifest $(PATH_STAGE_LIB)/$(notdir $(outbase)).lib $(PATH_STAGE_LIB)/$(notdir $(outbase)).exp
 TOOL_VCC80_LINK_DLL_OUTPUT_DEBUG = $(outbase).pdb
 TOOL_VCC80_LINK_DLL_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
 define TOOL_VCC80_LINK_DLL_CMDS
+	$(QUIET)$(APPEND) -tn $(outbase).rsp \
+		$(foreach arg,\
+		    $(subst /,\\,$(objs)) \
+		    $(subst /,\\,$(libs)) \
+			,\"$(arg)\")
 	$(QUIET)$(TOOL_VCC80_LD) $(flags) \
 		/OUT:$(out) \
@@ -304,6 +313,5 @@
 		$(subst /,\\,$(filter %.exp %.res,$(othersrc))) \
 		$(foreach p,$(libpath), /LIBPATH:$(p)) \
-		$(subst /,\\,$(objs)) \
-		$(subst /,\\,$(libs))
+		@$(outbase).rsp
 	$(QUIET)$(TEST) -f $(out).manifest -- \
 		$(TOOL_VCC80_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'
@@ -329,9 +337,14 @@
 TOOL_VCC80_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
 TOOL_VCC80_LINK_SYSMOD_DEPORD =
-TOOL_VCC80_LINK_SYSMOD_OUTPUT = $(outbase).map
+TOOL_VCC80_LINK_SYSMOD_OUTPUT = $(outbase).map $(outbase).rsp
 TOOL_VCC80_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).ilk $(out).manifest
 TOOL_VCC80_LINK_SYSMOD_OUTPUT_DEBUG = $(outbase).pdb
 TOOL_VCC80_LINK_SYSMOD_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
 define TOOL_VCC80_LINK_SYSMOD_CMDS
+	$(QUIET)$(APPEND) -tn $(outbase).rsp \
+		$(foreach arg,\
+		    $(subst /,\\,$(objs)) \
+		    $(subst /,\\,$(libs)) \
+			,\"$(arg)\")
 	$(QUIET)$(TOOL_VCC80_LD) $(flags) \
 		/OUT:$(out) \
@@ -341,6 +354,5 @@
 		$(subst /,\\,$(filter %.exp %.res,$(othersrc))) \
 		$(foreach p,$(libpath), /LIBPATH:$(p)) \
-		$(subst /,\\,$(objs)) \
-		$(subst /,\\,$(libs))
+		@$(outbase).rsp
 	$(QUIET)$(TEST) -f $(out).manifest -- \
 		$(TOOL_VCC80_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'
Index: /trunk/kBuild/tools/VCC80AMD64.kmk
===================================================================
--- /trunk/kBuild/tools/VCC80AMD64.kmk	(revision 2556)
+++ /trunk/kBuild/tools/VCC80AMD64.kmk	(revision 2557)
@@ -206,5 +206,5 @@
 TOOL_VCC80AMD64_LINK_LIBRARY_OUTPUT_MAYBE = $(outbase).lst $(outbase).exp $(outbase).pdb
 define TOOL_VCC80AMD64_LINK_LIBRARY_CMDS
-	$(QUIET)$(APPEND) -n $(outbase).rsp \
+	$(QUIET)$(APPEND) -tn $(outbase).rsp \
 		$(foreach arg,\
 			$(subst /,\\,$(objs) \
@@ -232,9 +232,14 @@
 TOOL_VCC80AMD64_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
 TOOL_VCC80AMD64_LINK_PROGRAM_DEPORD =
-TOOL_VCC80AMD64_LINK_PROGRAM_OUTPUT = $(outbase).map
+TOOL_VCC80AMD64_LINK_PROGRAM_OUTPUT = $(outbase).map $(outbase).rsp
 TOOL_VCC80AMD64_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).ilk $(out).manifest
 TOOL_VCC80AMD64_LINK_PROGRAM_OUTPUT_DEBUG = $(outbase).pdb
 TOOL_VCC80AMD64_LINK_PROGRAM_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
 define TOOL_VCC80AMD64_LINK_PROGRAM_CMDS
+	$(QUIET)$(APPEND) -tn $(outbase).rsp \
+		$(foreach arg,\
+		    $(subst /,\\,$(objs)) \
+		    $(subst /,\\,$(libs)) \
+			,\"$(arg)\")
 	$(QUIET)$(TOOL_VCC80AMD64_LD) $(flags) \
 		/OUT:$(out) \
@@ -244,6 +249,5 @@
 		$(subst /,\\,$(filter %.exp %.res,$(othersrc))) \
 		$(foreach p,$(libpath), /LIBPATH:$(p)) \
-		$(subst /,\\,$(objs)) \
-		$(subst /,\\,$(libs))
+        @$(outbase).rsp
 	$(QUIET)$(TEST) -f $(out).manifest -- \
 		$(TOOL_VCC80AMD64_MT) -manifest $(subst /,\\,$(out)).manifest -outputresource:$(subst /,\\,$(out))
@@ -267,9 +271,14 @@
 TOOL_VCC80AMD64_LINK_DLL_DEPEND = $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
 TOOL_VCC80AMD64_LINK_DLL_DEPORD = $(call DIRDEP,$(PATH_STAGE_LIB))
-TOOL_VCC80AMD64_LINK_DLL_OUTPUT = $(outbase).map $(outbase).lib $(outbase).exp
+TOOL_VCC80AMD64_LINK_DLL_OUTPUT = $(outbase).map $(outbase).lib $(outbase).exp $(outbase).rsp
 TOOL_VCC80AMD64_LINK_DLL_OUTPUT_MAYBE = $(outbase).ilk $(out).manifest $(PATH_STAGE_LIB)/$(notdir $(outbase)).lib $(PATH_STAGE_LIB)/$(notdir $(outbase)).exp
 TOOL_VCC80AMD64_LINK_DLL_OUTPUT_DEBUG = $(outbase).pdb
 TOOL_VCC80AMD64_LINK_DLL_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
 define TOOL_VCC80AMD64_LINK_DLL_CMDS
+	$(QUIET)$(APPEND) -tn $(outbase).rsp \
+		$(foreach arg,\
+		    $(subst /,\\,$(objs)) \
+		    $(subst /,\\,$(libs)) \
+			,\"$(arg)\")
 	$(QUIET)$(TOOL_VCC80AMD64_LD) $(flags) \
 		/OUT:$(out) \
@@ -281,6 +290,5 @@
 		$(subst /,\\,$(filter %.exp %.res,$(othersrc))) \
 		$(foreach p,$(libpath), /LIBPATH:$(p)) \
-		$(subst /,\\,$(objs)) \
-		$(subst /,\\,$(libs))
+        @$(outbase).rsp
 	$(QUIET)$(TEST) -f $(out).manifest -- \
 		$(TOOL_VCC80AMD64_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'
@@ -306,9 +314,14 @@
 TOOL_VCC80AMD64_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
 TOOL_VCC80AMD64_LINK_SYSMOD_DEPORD =
-TOOL_VCC80AMD64_LINK_SYSMOD_OUTPUT = $(outbase).map
+TOOL_VCC80AMD64_LINK_SYSMOD_OUTPUT = $(outbase).map $(outbase).rsp
 TOOL_VCC80AMD64_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).ilk $(out).manifest
 TOOL_VCC80AMD64_LINK_SYSMOD_OUTPUT_DEBUG = $(outbase).pdb
 TOOL_VCC80AMD64_LINK_SYSMOD_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
 define TOOL_VCC80AMD64_LINK_SYSMOD_CMDS
+	$(QUIET)$(APPEND) -tn $(outbase).rsp \
+		$(foreach arg,\
+		    $(subst /,\\,$(objs)) \
+		    $(subst /,\\,$(libs)) \
+			,\"$(arg)\")
 	$(QUIET)$(TOOL_VCC80AMD64_LD) $(flags) \
 		/OUT:$(out) \
@@ -318,6 +331,5 @@
 		$(subst /,\\,$(filter %.exp %.res,$(othersrc))) \
 		$(foreach p,$(libpath), /LIBPATH:$(p)) \
-		$(subst /,\\,$(objs)) \
-		$(subst /,\\,$(libs))
+        @$(outbase).rsp
 	$(QUIET)$(TEST) -f $(out).manifest -- \
 		$(TOOL_VCC80AMD64_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'
Index: /trunk/kBuild/tools/VCC80X86.kmk
===================================================================
--- /trunk/kBuild/tools/VCC80X86.kmk	(revision 2556)
+++ /trunk/kBuild/tools/VCC80X86.kmk	(revision 2557)
@@ -208,5 +208,5 @@
 TOOL_VCC80X86_LINK_LIBRARY_OUTPUT_MAYBE = $(outbase).lst $(outbase).exp $(outbase).pdb
 define TOOL_VCC80X86_LINK_LIBRARY_CMDS
-	$(QUIET)$(APPEND) -n $(outbase).rsp \
+	$(QUIET)$(APPEND) -tn $(outbase).rsp \
 		$(foreach arg,\
 			$(subst /,\\,$(objs) \
@@ -234,9 +234,14 @@
 TOOL_VCC80X86_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
 TOOL_VCC80X86_LINK_PROGRAM_DEPORD =
-TOOL_VCC80X86_LINK_PROGRAM_OUTPUT = $(outbase).map
+TOOL_VCC80X86_LINK_PROGRAM_OUTPUT = $(outbase).map $(outbase).rsp
 TOOL_VCC80X86_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).ilk $(out).manifest
 TOOL_VCC80X86_LINK_PROGRAM_OUTPUT_DEBUG = $(outbase).pdb
 TOOL_VCC80X86_LINK_PROGRAM_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
 define TOOL_VCC80X86_LINK_PROGRAM_CMDS
+	$(QUIET)$(APPEND) -tn $(outbase).rsp \
+		$(foreach arg,\
+		    $(subst /,\\,$(objs)) \
+		    $(subst /,\\,$(libs)) \
+			,\"$(arg)\")
 	$(QUIET)$(TOOL_VCC80X86_LD) $(flags) \
 		/OUT:$(out) \
@@ -246,6 +251,5 @@
 		$(subst /,\\,$(filter %.exp %.res,$(othersrc))) \
 		$(foreach p,$(libpath), /LIBPATH:$(p)) \
-		$(subst /,\\,$(objs)) \
-		$(subst /,\\,$(libs))
+		@$(outbase).rsp
 	$(QUIET)$(TEST) -f $(out).manifest -- \
 		$(TOOL_VCC80X86_MT) -manifest $(subst /,\\,$(out)).manifest -outputresource:$(subst /,\\,$(out))
@@ -269,9 +273,14 @@
 TOOL_VCC80X86_LINK_DLL_DEPEND = $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
 TOOL_VCC80X86_LINK_DLL_DEPORD = $(call DIRDEP,$(PATH_STAGE_LIB))
-TOOL_VCC80X86_LINK_DLL_OUTPUT = $(outbase).map $(outbase).lib $(outbase).exp
+TOOL_VCC80X86_LINK_DLL_OUTPUT = $(outbase).map $(outbase).lib $(outbase).exp $(outbase).rsp
 TOOL_VCC80X86_LINK_DLL_OUTPUT_MAYBE = $(outbase).ilk $(out).manifest $(PATH_STAGE_LIB)/$(notdir $(outbase)).lib $(PATH_STAGE_LIB)/$(notdir $(outbase)).exp
 TOOL_VCC80X86_LINK_DLL_OUTPUT_DEBUG = $(outbase).pdb
 TOOL_VCC80X86_LINK_DLL_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
 define TOOL_VCC80X86_LINK_DLL_CMDS
+	$(QUIET)$(APPEND) -tn $(outbase).rsp \
+		$(foreach arg,\
+		    $(subst /,\\,$(objs)) \
+		    $(subst /,\\,$(libs)) \
+			,\"$(arg)\")
 	$(QUIET)$(TOOL_VCC80X86_LD) $(flags) \
 		/OUT:$(out) \
@@ -283,6 +292,5 @@
 		$(subst /,\\,$(filter %.exp %.res,$(othersrc))) \
 		$(foreach p,$(libpath), /LIBPATH:$(p)) \
-		$(subst /,\\,$(objs)) \
-		$(subst /,\\,$(libs))
+		@$(outbase).rsp
 	$(QUIET)$(TEST) -f $(out).manifest -- \
 		$(TOOL_VCC80X86_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'
@@ -308,9 +316,14 @@
 TOOL_VCC80X86_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
 TOOL_VCC80X86_LINK_SYSMOD_DEPORD =
-TOOL_VCC80X86_LINK_SYSMOD_OUTPUT = $(outbase).map
+TOOL_VCC80X86_LINK_SYSMOD_OUTPUT = $(outbase).map $(outbase).rsp
 TOOL_VCC80X86_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).ilk $(out).manifest
 TOOL_VCC80X86_LINK_SYSMOD_OUTPUT_DEBUG = $(outbase).pdb
 TOOL_VCC80X86_LINK_SYSMOD_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
 define TOOL_VCC80X86_LINK_SYSMOD_CMDS
+	$(QUIET)$(APPEND) -tn $(outbase).rsp \
+		$(foreach arg,\
+		    $(subst /,\\,$(objs)) \
+		    $(subst /,\\,$(libs)) \
+			,\"$(arg)\")
 	$(QUIET)$(TOOL_VCC80X86_LD) $(flags) \
 		/OUT:$(out) \
@@ -320,6 +333,5 @@
 		$(subst /,\\,$(filter %.exp %.res,$(othersrc))) \
 		$(foreach p,$(libpath), /LIBPATH:$(p)) \
-		$(subst /,\\,$(objs)) \
-		$(subst /,\\,$(libs))
+		@$(outbase).rsp
 	$(QUIET)$(TEST) -f $(out).manifest -- \
 		$(TOOL_VCC80X86_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'
