From 663dd3780830bfbb264c070a1cfffb0d9aaab33b Mon Sep 17 00:00:00 2001 From: DJ Delorie Date: Fri, 19 Oct 2001 00:00:55 +0000 Subject: [PATCH] * 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. --- ld/ChangeLog | 8 ++++++++ ld/pe-dll.c | 14 ++++++++------ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index 302d0c33ba2..a74d6be73bf 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,11 @@ +2001-10-18 Danny Smith + + * 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 * ldmain.c (get_emulation): Improve comment about the handling diff --git a/ld/pe-dll.c b/ld/pe-dll.c index d635f132b7b..4ca567f3214 100644 --- a/ld/pe-dll.c +++ b/ld/pe-dll.c @@ -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 -- 2.30.2