diff --git a/NT/tools/rntcc b/NT/tools/rntcc
index 165bdd79d3deb7a836541352d3be3aaaa104365f..db04355a368ddfbf61f3ecb227607f6a0d74791c 100755
--- a/NT/tools/rntcc
+++ b/NT/tools/rntcc
@@ -71,15 +71,20 @@ int main(int argc, string *argv)
 		      ({"warn",Getopt.MAY_HAVE_ARG, ({"-W"}) }),
 			({"define",Getopt.HAS_ARG, ({"-D"}) }),
 			  ({"undefine",Getopt.HAS_ARG, ({"-U"})}),
-			    ({"output",Getopt.HAS_ARG, ({"-o"}) })
+			    ({"output",Getopt.HAS_ARG, ({"-o"}) }),
+			    ({"export",Getopt.HAS_ARG, ({"--export"}) })
 			      }));
   foreach(opts, mixed *option)
     {
       switch(option[0])
       {
+	case "export":
+	  ldopts+=({"export",option[1]+"_"});
+	  break;
+
 	case "share":
 	  share=1;
-	  ldopts+=({"SYS","nt_dll"});
+	  ldopts=({"SYSTEM","nt_dll","initinstance","terminstance"})+ldopts;
 	  cflags+=({"-bd"});
 	  break;
 
@@ -201,6 +206,11 @@ int main(int argc, string *argv)
 		    "FIL "+Array.map(objects,fixpath)*","+" "+
 		    libraries*" "+" ");
 
+#if 0
+      Process.system("cat "+ldfile);
+      write("\n");
+#endif
+
       do_cmd( ({"wlink","@"+ldfile }), lambda(string data)
       {
 	if(search(data," W1008:")!=-1)