2000-07-10 H.J. Lu <hjl@gnu.org>

* emultempl/pe.em (pe_enable_stdcall_fixup): Protect with
	DLL_SUPPORT.
	(strhash): Likewise.
	(compute_dll_image_base): Likewise.
	(pe_undef_found_sym): Likewise.
	(pe_undef_cdecl_match): Likewise.
	(gld_${EMULATION_NAME}_open_dynamic_archive): Mark the
	argument "arch" with ATTRIBUTE_UNUSED.
This commit is contained in:
H.J. Lu 2000-07-10 17:20:35 +00:00
parent 9a8cbb092b
commit 2ef53d6665
2 changed files with 22 additions and 5 deletions

View File

@ -1,3 +1,14 @@
2000-07-10 H.J. Lu <hjl@gnu.org>
* emultempl/pe.em (pe_enable_stdcall_fixup): Protect with
DLL_SUPPORT.
(strhash): Likewise.
(compute_dll_image_base): Likewise.
(pe_undef_found_sym): Likewise.
(pe_undef_cdecl_match): Likewise.
(gld_${EMULATION_NAME}_open_dynamic_archive): Mark the
argument "arch" with ATTRIBUTE_UNUSED.
2000-07-10 Alan Modra <alan@linuxcare.com.au>
* configure.tgt: Remove extraneous hppa*-*-linux-gnu*.
@ -57,14 +68,14 @@
2000-07-07 Charles Wilson <cwilson@ece.gatech.edu>
* ld/emultempl/pe.em: institute the following search order for
* emultempl/pe.em: institute the following search order for
dynamic libraries on pei386: libfoo.dll.a, foo.dll.a (import
libs), libfoo.dll, foo.dll (link direct to dll). Fall back to
static lib (libfoo.a) if none of the above are found.
2000-07-07 Mumit Khan <khan@xraylith.wisc.edu>
* ld/emultempl/pe.em (pe_enable_auto_image_base): New variable.
* emultempl/pe.em (pe_enable_auto_image_base): New variable.
(longopts): New --{enable,disable}-auto-image-base options.
(gld_${EMULATION_NAME}_list_options): Document.
(gld_${EMULATION_NAME}_parse): Handle.

View File

@ -114,8 +114,8 @@ static int support_old_code = 0;
static char * thumb_entry_symbol = NULL;
static lang_assignment_statement_type *image_base_statement = 0;
static int pe_enable_stdcall_fixup = -1; /* 0=disable 1=enable */
#ifdef DLL_SUPPORT
static int pe_enable_stdcall_fixup = -1; /* 0=disable 1=enable */
static char *pe_out_def_filename = NULL;
static char *pe_implib_filename = NULL;
static int pe_enable_auto_image_base = 0;
@ -560,6 +560,7 @@ gld_${EMULATION_NAME}_parse_args(argc, argv)
}
#ifdef DLL_SUPPORT
static unsigned long
strhash (const char *str)
{
@ -590,6 +591,7 @@ compute_dll_image_base (const char *ofile)
unsigned long hash = strhash (ofile);
return 0x60000000 | ((hash << 16) & 0x0FFC0000);
}
#endif
/* Assign values to the special symbols before the linker script is
read. */
@ -607,8 +609,12 @@ gld_${EMULATION_NAME}_set_symbols ()
if (link_info.relocateable)
init[IMAGEBASEOFF].value = 0;
else if (init[DLLOFF].value || link_info.shared)
#ifdef DLL_SUPPORT
init[IMAGEBASEOFF].value = (pe_enable_auto_image_base) ?
compute_dll_image_base (output_filename) : NT_DLL_IMAGE_BASE;
#else
init[IMAGEBASEOFF].value = NT_DLL_IMAGE_BASE;
#endif
else
init[IMAGEBASEOFF].value = NT_EXE_IMAGE_BASE;
}
@ -673,6 +679,7 @@ gld_${EMULATION_NAME}_after_parse ()
ldlang_add_undef (entry_symbol);
}
#ifdef DLL_SUPPORT
static struct bfd_link_hash_entry *pe_undef_found_sym;
static boolean
@ -691,7 +698,6 @@ pe_undef_cdecl_match (h, string)
return true;
}
#ifdef DLL_SUPPORT
static void
pe_fixup_stdcalls ()
{
@ -1355,7 +1361,7 @@ gld_${EMULATION_NAME}_place_orphan (file, s)
static boolean
gld_${EMULATION_NAME}_open_dynamic_archive (arch, search, entry)
const char * arch;
const char * arch ATTRIBUTE_UNUSED;
search_dirs_type * search;
lang_input_statement_type * entry;
{