]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - gcc/collect2.c
Makefile.in: Remove all references to s-under and underscore.c.
[thirdparty/gcc.git] / gcc / collect2.c
index ea888e48fb6b387f5ee1b90b790b2d373ee2ec6e..4345e3a754e4a7fc258125519925f0965ad2a8c4 100644 (file)
@@ -140,11 +140,9 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 
 /* 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 neither.  */
+   give the same symbol without quotes for an alternative entry point.  */
 #ifndef NAME__MAIN
 #define NAME__MAIN "__main"
-#define SYMBOL__MAIN __main
 #endif
 
 /* This must match tree.h.  */
@@ -233,15 +231,11 @@ static struct head exports;               /* list of exported symbols */
 static struct head frame_tables;       /* list of frame unwind info tables */
 
 struct obstack temporary_obstack;
-struct obstack permanent_obstack;
 char * temporary_firstobj;
 
 /* Holds the return value of pexecute.  */
 int pexecute_pid;
 
-/* Defined in the automatically-generated underscore.c.  */
-extern int prepends_underscore;
-
 /* Structure to hold all the directories in which to search for files to
    execute.  */
 
@@ -518,8 +512,8 @@ dump_file (name)
          if (*word == '.')
            ++word, putc ('.', stderr);
          p = word;
-         if (*p == '_' && prepends_underscore)
-           ++p;
+         if (!strncmp (p, USER_LABEL_PREFIX, strlen (USER_LABEL_PREFIX)))
+           p += strlen (USER_LABEL_PREFIX);
 
          if (no_demangle)
            result = 0;
@@ -918,7 +912,6 @@ main (argc, argv)
 #endif
 
   obstack_begin (&temporary_obstack, 0);
-  obstack_begin (&permanent_obstack, 0);
   temporary_firstobj = (char *) obstack_alloc (&temporary_obstack, 0);
 
   current_demangling_style = auto_demangling;
@@ -1078,18 +1071,18 @@ main (argc, argv)
     {
       const char *q = extract_string (&p);
       if (*q == '-' && (q[1] == 'm' || q[1] == 'f'))
-       *c_ptr++ = obstack_copy0 (&permanent_obstack, q, strlen (q));
+       *c_ptr++ = xstrdup (q);
       if (strcmp (q, "-EL") == 0 || strcmp (q, "-EB") == 0)
-       *c_ptr++ = obstack_copy0 (&permanent_obstack, q, strlen (q));
+       *c_ptr++ = xstrdup (q);
       if (strcmp (q, "-shared") == 0)
        shared_obj = 1;
       if (*q == '-' && q[1] == 'B')
        {
-         *c_ptr++ = obstack_copy0 (&permanent_obstack, q, strlen (q));
+         *c_ptr++ = xstrdup (q);
          if (q[2] == 0)
            {
              q = extract_string (&p);
-             *c_ptr++ = obstack_copy0 (&permanent_obstack, q, strlen (q));
+             *c_ptr++ = xstrdup (q);
            }
        }
     }