aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1993-07-26 21:00:16 +0000
committerRichard Stallman <rms@gnu.org>1993-07-26 21:00:16 +0000
commitc06cff95e3800ec267059fa839da3da85d1dbf04 (patch)
treecd47a0f680520947fa48d4b6edadcf1637647db6 /gcc
parent293e3de41cf210415b9aea66d5bfee00dba489b7 (diff)
downloadgcc-c06cff95e3800ec267059fa839da3da85d1dbf04.zip
gcc-c06cff95e3800ec267059fa839da3da85d1dbf04.tar.gz
gcc-c06cff95e3800ec267059fa839da3da85d1dbf04.tar.bz2
(__main): Use macro SYMBOL__MAIN instead of invoking directly.
From-SVN: r4992
Diffstat (limited to 'gcc')
-rw-r--r--gcc/libgcc2.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/gcc/libgcc2.c b/gcc/libgcc2.c
index 9dcccbe..c4f35c8 100644
--- a/gcc/libgcc2.c
+++ b/gcc/libgcc2.c
@@ -1593,6 +1593,14 @@ __enable_execute_stack ()
#ifdef L__main
#include "gbl-ctors.h"
+/* Some systems use __main in a way incompatible with its use in gcc, in these
+ cases use the macros NAME__MAIN to give a quoted symbol and SYMBOL__MAIN to
+ give the same symbol without quotes for an alternative entry point. You
+ must define both, or niether. */
+#ifndef NAME__MAIN
+#define NAME__MAIN "__main"
+#define SYMBOL__MAIN __main
+#endif
/* Run all the global destructors on exit from the program. */
@@ -1652,7 +1660,7 @@ __do_global_ctors ()
to run __do_global_ctors, so we need not do anything here. */
void
-__main ()
+SYMBOL__MAIN ()
{
/* Support recursive calls to `main': run initializers just once. */
static int initialized = 0;