diff --git a/frontends/tasm/tasm.c b/frontends/tasm/tasm.c
index 58954b6..568f478 100644
--- a/frontends/tasm/tasm.c
+++ b/frontends/tasm/tasm.c
@@ -228,7 +228,6 @@ static opt_option options[] =
 /* version message */
 /*@observer@*/ static const char *version_msg[] = {
     PACKAGE_STRING,
-    "Compiled on " __DATE__ ".",
     "Copyright (c) 2001-2010 Peter Johnson and other Yasm developers.",
     "Run yasm --license for licensing overview and summary."
 };
diff --git a/frontends/yasm/yasm.c b/frontends/yasm/yasm.c
index ff4c59e..015ae8d 100644
--- a/frontends/yasm/yasm.c
+++ b/frontends/yasm/yasm.c
@@ -217,7 +217,6 @@ static opt_option options[] =
 /* version message */
 /*@observer@*/ static const char *version_msg[] = {
     PACKAGE_STRING,
-    "Compiled on " __DATE__ ".",
     "Copyright (c) 2001-2014 Peter Johnson and other Yasm developers.",
     "Run yasm --license for licensing overview and summary."
 };
diff --git a/libyasm/genmodule.c b/libyasm/genmodule.c
index 867d93a..027e2fe 100644
--- a/libyasm/genmodule.c
+++ b/libyasm/genmodule.c
@@ -58,9 +58,14 @@ main(int argc, char *argv[])
     include *inc;
     int isam = 0;
     int linecont = 0;
-
-    if (argc != 3) {
-        fprintf(stderr, "Usage: %s <module.in> <Makefile[.am]>\n", argv[0]);
+    char *outfile;
+
+    if (argc == 3) {
+        outfile = OUTPUT;
+    } else if (argc == 4) {
+        outfile = argv[3];
+    } else {
+        fprintf(stderr, "Usage: %s <module.in> <Makefile[.am]> [<outfile>]\n", argv[0]);
         return EXIT_FAILURE;
     }
 
@@ -167,10 +172,10 @@ keepgoing:
         fclose(in);
     }
 
-    out = fopen(OUTPUT, "wt");
+    out = fopen(outfile, "wt");
 
     if (!out) {
-        fprintf(stderr, "Could not open `%s'.\n", OUTPUT);
+        fprintf(stderr, "Could not open `%s'.\n", outfile);
         return EXIT_FAILURE;
     }
 
@@ -181,7 +186,7 @@ keepgoing:
     if (!in) {
         fprintf(stderr, "Could not open `%s'.\n", argv[1]);
         fclose(out);
-        remove(OUTPUT);
+        remove(outfile);
         return EXIT_FAILURE;
     }
 
diff --git a/tools/genperf/perfect.c b/tools/genperf/perfect.c
index a9a14c0..e45f9c5 100644
--- a/tools/genperf/perfect.c
+++ b/tools/genperf/perfect.c
@@ -563,7 +563,7 @@ static int perfect(
         if (!augment(tabb, tabh, tabq, blen, scramble, smax, &tabb[i], nkeys, 
                      i+1, form))
         {
-          fprintf(stderr, "fail to map group of size %ld for tab size %ld\n", j, blen);
+          /* Do not print an error. The caller may retry with a larger table. */
           return FALSE;
         }
 
