Mailing-List: contact cygwin-apps-help AT cygwin DOT com; run by ezmlm Sender: cygwin-apps-owner AT cygwin DOT com List-Subscribe: List-Archive: List-Post: List-Help: , Mail-Followup-To: cygwin-apps AT cygwin DOT com Delivered-To: mailing list cygwin-apps AT cygwin DOT com Message-ID: <3CF68E17.6060008@ece.gatech.edu> Date: Thu, 30 May 2002 16:39:51 -0400 From: Charles Wilson User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/00200205 X-Accept-Language: en-us, en MIME-Version: 1.0 To: binutils AT sources DOT redhat DOT com CC: cygwin-apps AT cygwin DOT com Subject: [PATCH] pei386: make --enable-auto-import default Content-Type: multipart/mixed; boundary="------------000205060507040302070201" X-Virus-Scanned: by amavisd-milter (http://amavis.org/) This is a multi-part message in MIME format. --------------000205060507040302070201 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit auto-import has been turned on by default in the cygwin build since November, with no ill effects. This patch turns it on by default in general, but also changes the way auto-import-related warning/informational messages are issued, depending on whether auto-import is on by default, or is explicitly enabled (obviously there are no auto-import-related messages when auto-import is explicitly disabled...) Since the tests in /bfd/ against pei386_auto_import are already against "zero/non-zero", then we can use the same -1 == default (implicitly enabled), 1 == explicitly enabled, 0 == explicitly disabled formuation that stdcall_fixup uses. ./bfd/cofflink.c: if (!h && info->pei386_auto_import) ./bfd/linker.c: if (info->pei386_auto_import) When info->pei386_auto_import = -1 (default) then we continue to issue a message when auto-importing a variable. If info->pei386_auto_import = 1, then we suppress those informational messages -- the user obviously knows that she is auto-importing variables, since she explicitly --enabled them. I downgraded the "Warning: resolving %s by linking to %s (auto-import)" message to 'info_msg' on stdout, instead of 'einfo' on stderr. --Chuck 2002-05-30 Charles Wilson * ld/ldmain.c (main): initialize link_info.pei386_auto_import to -1 == implicit enable. * ld/emultempl/pe.em (gld_${EMULATION_NAME}_before_parse): initialize link_info.pei386_auto_import to -1 == implicit enable. (gld_${EMULATION_NAME}_parse_args): When processing --enable-auto-import and --disable-auto-import options, use '1' and '0' instead of 'true' and 'false'. (pe_find_data_imports): Only issue message about auto-import when the feature is implicitly enabled. Downgrade message to informational instead of warning. --------------000205060507040302070201 Content-Type: text/plain; name="binutils.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="binutils.patch" ? bfd/doc/bfdint.info ? bfd/doc/bfdint.info-1 ? bfd/doc/bfdint.info-2 ? bfd/doc/bfdsumm.info ? ld/ldint.info Index: ld/ldmain.c =================================================================== RCS file: /cvs/src/src/ld/ldmain.c,v retrieving revision 1.46 diff -u -r1.46 ldmain.c --- ld/ldmain.c 10 May 2002 09:49:25 -0000 1.46 +++ ld/ldmain.c 21 May 2002 03:52:12 -0000 @@ -258,7 +258,7 @@ link_info.eh_frame_hdr = false; link_info.flags = (bfd_vma) 0; link_info.flags_1 = (bfd_vma) 0; - link_info.pei386_auto_import = false; + link_info.pei386_auto_import = -1; /* 0=disable 1=enable */ link_info.combreloc = true; link_info.spare_dynamic_tags = 5; Index: ld/emultempl/pe.em =================================================================== RCS file: /cvs/src/src/ld/emultempl/pe.em,v retrieving revision 1.59 diff -u -r1.59 pe.em --- ld/emultempl/pe.em 15 Feb 2002 02:11:05 -0000 1.59 +++ ld/emultempl/pe.em 21 May 2002 03:52:18 -0000 @@ -173,7 +173,7 @@ #ifdef DLL_SUPPORT config.dynamic_link = true; config.has_shared = 1; -/* link_info.pei386_auto_import = true; */ + link_info.pei386_auto_import = -1; /* 1=enable 0=disable */ #if (PE_DEF_SUBSYSTEM == 9) || (PE_DEF_SUBSYSTEM == 2) #if defined TARGET_IS_mipspe || defined TARGET_IS_armpe @@ -622,10 +622,10 @@ pe_dll_do_default_excludes = 0; break; case OPTION_DLL_ENABLE_AUTO_IMPORT: - link_info.pei386_auto_import = true; + link_info.pei386_auto_import = 1; break; case OPTION_DLL_DISABLE_AUTO_IMPORT: - link_info.pei386_auto_import = false; + link_info.pei386_auto_import = 0; break; case OPTION_ENABLE_EXTRA_PE_DEBUG: pe_dll_extra_pe_debug = 1; @@ -906,7 +906,10 @@ sym = bfd_link_hash_lookup (link_info.hash, buf, 0, 0, 1); if (sym && sym->type == bfd_link_hash_defined) { - einfo (_("Warning: resolving %s by linking to %s (auto-import)\n"), + if (link_info.pei386_auto_import == -1) + { + info_msg (_("Info: resolving %s by linking to %s (auto-import)\n"), + } undef->root.string, buf); { bfd *b = sym->u.def.section->owner; --------------000205060507040302070201--