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:
parent
9a8cbb092b
commit
2ef53d6665
15
ld/ChangeLog
15
ld/ChangeLog
@ -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.
|
||||
|
@ -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;
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user