This is the mail archive of the cygwin mailing list for the Cygwin 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: All clear [was Re: [1.7]: For the love of god, don't update!]


Corinna Vinschen wrote:
> On Apr  7 00:12, Dave Korn wrote:

>> Grepping through library symbols seems quite
>> fragile when so many standard C library functions are permitted to be
>> implemented as macros.
> 
> I assume they use nm rather than grep.

  Sorry, I was just using the term in the extended sense of searching for
something, rather than the specific meaning of invoking the grep executable.
(cf. the verb "to google").

> But maybe we should give up on such broken configure scripts?

  Well, I guess the answer as ever is "Just how common is this problem and how
much upheaval would it cause to drop support as compared to trying to keep
them working"?  I can't see any /fundamental/ problem in making these static
libs work.  (It does make me wonder if it wouldn't be worth making this an
integrated feature in LD and/or DLLTOOL, so that we can do it with BFD instead
of having to programmatically hexedit the file with a script.)

  BTW, I've put this problem aside for a day or so while I finish off my weak
symbols design, but I do promise to come back to it after that and analyze in
detail exactly what is going wrong.

  (I said there didn't "appear" to be any overlap in the tables, but that was
on the basis of a quick look at the headers in PEview etc., and not a full
byte-by-byte dump of the tables.  I suspect it may yet turn out to be what's
happening; the corrupt nature of the EXEs I was building mangled the debug
info and meant I couldn't be sure of what I was seeing in the debugger, but it
looked an awful lot like it was getting an unexpected error in response to
attempting to seek back 16 bytes after reading the AR header magic, and this
could happen for instance if the IATs were overwriting each other so that the
syscall went to the wrong imported API from the DLL and ended up looking like
some random syscall with invalid arguments).

    cheers,
      DaveK


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


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