Dave Korn wrote: > Corinna Vinschen wrote: >> #2) >> >> /usr/lib/gcc/i686-pc-cygwin/4.3.2/../../../../i686-pc-cygwin/bin/ld: >> warning: auto-importing has been activated without --enable-auto-import >> specified on the command line. >> This should work unless it involves constant data structures referencing >> symbols from auto-imported DLLs. >> >> *Sob* Yes, officer, I confess everything! But *please* don't tell >> me this every time I dare to link an application. >> >> Is there any chance to get rid of this really useless stuff upstream? > > I don't know. We could turn on auto import globally but that will pessimize > a whole bunch of stuff that needn't be affected. We could discard the warning > altogether but then people would get silent failures.
It's already on by default. The variable link_info.pei386_auto_import is currently initialized to -1, which means "Do it, but complain". The only thing changing that initialization to "1" would do, would be to stop complaining. You already have to use explicitly --disable-auto-import to turn it off. > What would be best of all would be to only issue the warning if a const data > structure reference of the kind mentioned actually occurs. I haven't looked > to see if that's possible to detect yet, but it would be a nice fix for > upstream ld. Actually, with Kai's recent changes, IF we (1) modified cygwin's src/winsup/cygwin/lib/pseudo-reloc.c file to support -v2 psuedo-relocs (2) EVENTUALLY, after much testing, changed cygwin-ld's default reloc mode from (current: not enabled; CVS ld: v1 enabled) to v2 enabled, THEN we can have const structure references (and "complex" data type references) that can be updated without error. I think. See: http://cygwin.com/ml/cygwin-developers/2009-01/msg00009.html and following thread, as well as embedded links in the referenced message. > As a workaround, the sources could always be fixed. Inconsistent > declarations *is* a correctness issue, after all, and it's usually trivial to > add an item to LDFLAGS. > > Also, perhaps as a half-way compromise measure, auto import could be enabled > in the GCC specs for just C++/ObjC++/Java. I don't know what's for the best > yet, does anyone else have any suggestions? See previous message. -- Chuck
