diff options
Diffstat (limited to 'gcc/java/jvgenmain.c')
-rw-r--r-- | gcc/java/jvgenmain.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/gcc/java/jvgenmain.c b/gcc/java/jvgenmain.c index da76c0792fc..6c2670d29ae 100644 --- a/gcc/java/jvgenmain.c +++ b/gcc/java/jvgenmain.c @@ -34,7 +34,7 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */ const char main_method_prefix[] = "main__"; const char main_method_suffix[] = "Pt6JArray1ZPQ34java4lang6String"; -const char class_mangling_prefix[] = "_CL_"; +const char class_mangling_suffix[] = ".class$"; struct obstack name_obstack; @@ -155,13 +155,12 @@ main (int argc, const char **argv) } fprintf (stream, " 0\n};\n\n"); - fprintf (stream, "extern struct Class %s%s;\n", - class_mangling_prefix, mangled_classname); + fprintf (stream, "extern int class __attribute__ ((alias (\"_%s%s\")));\n", + mangled_classname, class_mangling_suffix); fprintf (stream, "int main (int argc, const char **argv)\n"); fprintf (stream, "{\n"); fprintf (stream, " _Jv_Compiler_Properties = props;\n"); - fprintf (stream, " JvRunMain (&%s%s, argc, argv);\n", - class_mangling_prefix, mangled_classname); + fprintf (stream, " JvRunMain (&class, argc, argv);\n"); fprintf (stream, "}\n"); if (stream != stdout && fclose (stream) != 0) { |