* pe-dll.c (autofilter_objectlist): Add startup objects
authorDJ Delorie <dj@redhat.com>
Fri, 19 Oct 2001 00:00:55 +0000 (00:00 +0000)
committerDJ Delorie <dj@redhat.com>
Fri, 19 Oct 2001 00:00:55 +0000 (00:00 +0000)
for profiling.
(auto-export): Constify char * p.
Extract file basename and use strcmp rather than ststr
for object lookup.

ld/ChangeLog
ld/pe-dll.c

index 302d0c33ba2eda8e128e6c413557f052845c1e44..a74d6be73bfc2d34963459c1fdf35597ff03e7b4 100644 (file)
@@ -1,3 +1,11 @@
+2001-10-18  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
+
+       * pe-dll.c (autofilter_objectlist):  Add startup objects
+       for profiling.
+       (auto-export): Constify char * p.
+       Extract file basename and use strcmp rather than ststr 
+       for object lookup.
+
 2001-10-18  Chris Demetriou  <cgd@broadcom.com>
 
        * ldmain.c (get_emulation): Improve comment about the handling
index d635f132b7bf56043c3b1ca0fc982d3ad9cbbe7b..4ca567f32147e43bcbbb4214227c2d993b7500b2 100644 (file)
@@ -241,6 +241,8 @@ static autofilter_entry_type autofilter_objlist[] =
   { "crt2.o", 6 },
   { "dllcrt1.o", 9 },
   { "dllcrt2.o", 9 },
+  { "gcrt1.o", 7 },
+  { "gcrt2.o", 7 },  
   { NULL, 0 }
 };
 
@@ -418,7 +420,7 @@ auto_export (abfd, d, n)
 
   if (pe_dll_do_default_excludes)
     {
-      char * p;
+      const char * p;
       int    len;
 
       if (pe_dll_extra_pe_debug)
@@ -440,16 +442,16 @@ auto_export (abfd, d, n)
        }
 
       /* Next, exclude symbols from certain startup objects.  */
-      afptr = autofilter_objlist;
 
+      if (abfd && (p = lbasename (abfd->filename)) )
+       {
+          afptr = autofilter_objlist;
       while (afptr->name)
        {
-         if (abfd && 
-             (p = strstr (abfd->filename, afptr->name)) &&
-             (*(p + afptr->len - 1) == 0))
+             if ( strcmp (p, afptr->name) == 0 )
            return 0;
-
          afptr ++;
+           }
        }
 
       /* Don't try to blindly exclude all symbols