[Patch] skipping import libraries for performance reasons - direct auto-import of dll's
Charles Wilson
cwilson@ece.gatech.edu
Thu Nov 28 16:20:00 GMT 2002
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
More information about the Binutils
mailing list