From e0076ab3140185bf116c79564b976d455942a984 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Fri, 7 Jun 2002 14:56:01 +0000 Subject: [PATCH] Enable pei386_auto_import by default. Only print a info message about auto imports being resilved if this feature was not requested via a command line switch. --- include/ChangeLog | 6 ++++++ include/bfdlink.h | 31 ++++++++++++++++--------------- ld/ChangeLog | 16 +++++++++++++++- ld/emultempl/pe.em | 11 ++++++----- ld/ldmain.c | 1 + 5 files changed, 44 insertions(+), 21 deletions(-) diff --git a/include/ChangeLog b/include/ChangeLog index c0a912a..55bd90d 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,9 @@ +2002-06-07 Charles Wilson + + * bfdlink.h (struct bfd_link_info): Change type of + pei386_auto_import field to int so that -1 can mean enabled by + default and 1 can mean enabled by command line switch. + 2002-06-06 DJ Delorie * hashtab.h (htab): Rearrange new members for backward diff --git a/include/bfdlink.h b/include/bfdlink.h index b1411c3..719e706 100644 --- a/include/bfdlink.h +++ b/include/bfdlink.h @@ -3,21 +3,21 @@ Free Software Foundation, Inc. Written by Steve Chamberlain and Ian Lance Taylor, Cygnus Support. -This file is part of BFD, the Binary File Descriptor library. + This file is part of BFD, the Binary File Descriptor library. -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef BFDLINK_H #define BFDLINK_H @@ -288,9 +288,10 @@ struct bfd_link_info /* May be used to set DT_FLAGS_1 for ELF. */ bfd_vma flags_1; - /* True if auto-import thunks for DATA items in pei386 DLLs - should be generated/linked against. */ - boolean pei386_auto_import; + /* Non-zero if auto-import thunks for DATA items in pei386 DLLs + should be generated/linked against. Set to 1 if this feature + is explicitly requested by the user, -1 if enabled by default. */ + int pei386_auto_import; /* True if non-PLT relocs should be merged into one reloc section and sorted so that relocs against the same symbol come together. */ diff --git a/ld/ChangeLog b/ld/ChangeLog index 6efe3d7..01f0bc0 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,17 @@ +2002-06-07 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. + 2002-06-07 Alan Modra * scripttempl/elf.sc (.tbss): Fix mismatched parentheses/braces. @@ -7,7 +21,7 @@ * configure.host (hppa*64*-*-hpux11*): Define NATIVE_LIB_DIRS, HOSTING_CRT0 and HOSTING_LIBS. -Wed Jun 5 20:42:31 2002 J"orn Rennecke +2002-06-05 J"orn Rennecke * configure.tgt (shle*-*-elf*, sh64le-*-elf*): New configurations. diff --git a/ld/emultempl/pe.em b/ld/emultempl/pe.em index 4701f6d..b84a3c7 100644 --- a/ld/emultempl/pe.em +++ b/ld/emultempl/pe.em @@ -173,7 +173,7 @@ gld_${EMULATION_NAME}_before_parse() #ifdef DLL_SUPPORT config.dynamic_link = true; config.has_shared = 1; -/* link_info.pei386_auto_import = true; */ + link_info.pei386_auto_import = -1; #if (PE_DEF_SUBSYSTEM == 9) || (PE_DEF_SUBSYSTEM == 2) #if defined TARGET_IS_mipspe || defined TARGET_IS_armpe @@ -628,10 +628,10 @@ gld_${EMULATION_NAME}_parse_args(argc, argv) 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; @@ -912,8 +912,9 @@ pe_find_data_imports () 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"), - undef->root.string, buf); + 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; asymbol **symbols; diff --git a/ld/ldmain.c b/ld/ldmain.c index 25ae5ec..2c406eb 100644 --- a/ld/ldmain.c +++ b/ld/ldmain.c @@ -260,6 +260,7 @@ main (argc, argv) 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; link_info.combreloc = true; link_info.spare_dynamic_tags = 5; -- 2.7.4