Mailing-List: contact cygwin-apps-help AT sourceware DOT cygnus DOT com; run by ezmlm Sender: cygwin-apps-owner AT sourceware DOT cygnus DOT com List-Subscribe: List-Archive: List-Post: List-Help: , Delivered-To: mailing list cygwin-apps AT sources DOT redhat DOT com Date: Wed, 1 Aug 2001 23:47:24 -0400 Message-Id: <200108020347.XAA05289@envy.delorie.com> X-Authentication-Warning: envy.delorie.com: dj set sender to dj AT envy DOT delorie DOT com using -f From: DJ Delorie To: cwilson AT ece DOT gatech DOT edu CC: binutils AT sources DOT redhat DOT com, cygwin-apps AT cygwin DOT com In-reply-to: <3B68C879.1070809@ece.gatech.edu> (message from Charles Wilson on Wed, 01 Aug 2001 23:26:49 -0400) Subject: Re: [RFA] pei386 dll: auto-import patch References: <3B670087 DOT 7090102 AT ece DOT gatech DOT edu> <200108011735 DOT NAA32231 AT envy DOT delorie DOT com> <3B6846D2 DOT 9040206 AT ece DOT gatech DOT edu> <200108011847 DOT OAA32757 AT envy DOT delorie DOT com> <3B68C879 DOT 1070809 AT ece DOT gatech DOT edu> > +@cindex DLLs, creating > +@kindex --out-implib > +@item --out-implib @var{file} > + > +@cindex DLLs, creating > +@kindex --enable-auto-image-base > +@item --enable-auto-image-base > + > +@cindex DLLs, creating > +@kindex --disable-auto-image-base > +@item --disable-auto-image-base > + > +@cindex DLLs, linking to > +@kindex --dll-search-prefix > +@item --dll-search-prefix @var{string} > + > +@cindex DLLs, linking to > +@kindex --enable-auto-import > +@item --enable-auto-import > + > +@cindex DLLs, linking to > +@kindex --disable-auto-import > +@item --disable-auto-import You should only need to do the cindex for the first of each set, yes? > +typedef struct { > + char *name; > + int len; > +} autofilter_entry_type; I wonder if we don't need the length, because it can be computed on the fly? Not a big deal, though - it would only really help maintainers. > +#if 0 > + /* Don't export any 'reserved' symbols */ > + if (*n && *n == '_' && n[1] == '_') > return 0; > +#endif Rather than leave in commented out code, you should simply add a textual comment explaining what to avoid (if such a comment is warranted) or simply remove the code. Not a big deal, though. > +char * > +make_import_fixup_mark (rel) This should be static, or be named pe_* > + static char fixup_name[300]; 300 is a wonderful number, but dynamically allocating space is better. Compromise - keep a static pointer to a malloc'd buffer that grows as needed. > + if (pe_dll_extra_pe_debug) > + { > + printf (__FUNCTION__"\n"); > + } Hmmm... what happens when the function name has a percent in it? (not likely in C, but I'm the paranoid type...) > +char *data_import_dll; Should this be static?