This is the mail archive of the cygwin-apps@cygwin.com 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]

[PATCH] pei386: make --enable-auto-import default


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  <cwilson@ece.gatech.edu>

	* 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.

? 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;

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