This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: [Patch] skipping import libraries for performance reasons - directauto-import of dll's
- From: Charles Wilson <cwilson at ece dot gatech dot edu>
- To: Ralf Habacker <Ralf dot Habacker at freenet dot de>
- Cc: Binutils <binutils at sources dot redhat dot com>
- Date: Thu, 28 Nov 2002 19:19:14 -0500
- Subject: Re: [Patch] skipping import libraries for performance reasons - directauto-import of dll's
- References: <00d001c29734$8119f210$0aa807d5@BRAMSCHE>
As far as I'm concerned, this latest patch of Ralf's is good to go
(unless somebody has a better idea for how to handle REALPATH()). But
of course, the real binutils maintainers should make up their own minds. <g>
Ralf Habacker wrote:
I've initialized the [data|bss]_[start|end] variables as:
This makes sense. I have forgotten this, sorry.
Okay.
if (strstr(erva + name_rva,"_nm_") == 0)
vs.
if (strncmp(erva+name_rva,"_nm_",4) != 0)
Your solutions is much better, I have applied this.
So you were really only trying to screen out symbols that *start* with
the string "_nm_", then? I wasn't sure...since you mentioned "buggy
binutils" I wondered if you were also trying to screen out things like
"__imp_nm_***" (which should never exist, but might have existed in a
"buggy binutils" release).
At first I have thought if this works for mingw too, but then I saw the REALPATH
macro, which protects this.
Yes, it does protect -- I tested it (on cygwin, but with HAVE_REALPATH
explicitly #undef'ed.) In that case, REALPATH(a,b) is NULL, we have
(effectively)
if (NULL == NULL)
strncpy(fbuf,entry->filename,LD_PATHMAX);
which means, no change from previous behavior, if realpath() is not
available. But still, it seems rather hackish, to me. That's why I was
wondering if there was a better way to approach the problem.
>> ld-auto-import-dll.patch-csw
updated
Cool.
>> ld-auto-import-dll.patch-csw2.gz
copied from your mail
OK -- but my bet is that if an official maintainer commits the first
patch, they'll run autoheader/autoconf themselves (at least, that's what
I do when somebody sends me a patch that includes changes to
autotool-generated files).
Changelog copied
Fine by me.
The remainder of your message was cygwin specific; I've followed up on
the cygwin list.
--Chuck