On Tue, Apr 07, 2009 at 12:31:29PM +0100, Dave Korn wrote: >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.)
We don't programatically hexedit the static libraries. That was the whole point of my speclib rewrite. The libraries are generated using dlltool. >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). If that's true that could point to an actual binutils bug. cgf -- 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/