This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Patch] skipping import libraries for performance reasons - directauto-import of dll's


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]