diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index d12b664d38a4562af212872bda138f6e112fa7dc..1940e00ecceae90ae52bc5d06426fcda43b8ddb7 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,7 @@
+2014-10-07  Marek Polacek  <polacek@redhat.com>
+
+	* jvgenmain.c (main): Provide declarations for JvRunMain{,Name}.
+
 2014-07-08  Mark Wielaard  <mjw@redhat.com>
 
 	* builtins.c (putVolatile_builtin): Use build_qualified_type
diff --git a/gcc/java/jvgenmain.c b/gcc/java/jvgenmain.c
index 5b14258af0683ebecda01323e326aed750f0b337..82e468d30d2799eefce9e6e23bab308b111629a3 100644
--- a/gcc/java/jvgenmain.c
+++ b/gcc/java/jvgenmain.c
@@ -127,6 +127,10 @@ main (int argc, char **argv)
   /* At this point every element of ARGV from 1 to LAST_ARG is a `-D'
      option.  Process them appropriately.  */
   fprintf (stream, "extern const char **_Jv_Compiler_Properties;\n");
+  if (indirect)
+    fprintf (stream, "extern void JvRunMainName ();\n");
+  else
+    fprintf (stream, "extern void JvRunMain ();\n");
   fprintf (stream, "static const char *props[] =\n{\n");
   for (i = 1; i < last_arg; ++i)
     {