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>
|
2000-07-10 Alan Modra <alan@linuxcare.com.au>
|
||||||
|
|
||||||
* configure.tgt: Remove extraneous hppa*-*-linux-gnu*.
|
* configure.tgt: Remove extraneous hppa*-*-linux-gnu*.
|
||||||
|
@ -57,14 +68,14 @@
|
||||||
|
|
||||||
2000-07-07 Charles Wilson <cwilson@ece.gatech.edu>
|
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
|
dynamic libraries on pei386: libfoo.dll.a, foo.dll.a (import
|
||||||
libs), libfoo.dll, foo.dll (link direct to dll). Fall back to
|
libs), libfoo.dll, foo.dll (link direct to dll). Fall back to
|
||||||
static lib (libfoo.a) if none of the above are found.
|
static lib (libfoo.a) if none of the above are found.
|
||||||
|
|
||||||
2000-07-07 Mumit Khan <khan@xraylith.wisc.edu>
|
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.
|
(longopts): New --{enable,disable}-auto-image-base options.
|
||||||
(gld_${EMULATION_NAME}_list_options): Document.
|
(gld_${EMULATION_NAME}_list_options): Document.
|
||||||
(gld_${EMULATION_NAME}_parse): Handle.
|
(gld_${EMULATION_NAME}_parse): Handle.
|
||||||
|
|
|
@ -114,8 +114,8 @@ static int support_old_code = 0;
|
||||||
static char * thumb_entry_symbol = NULL;
|
static char * thumb_entry_symbol = NULL;
|
||||||
static lang_assignment_statement_type *image_base_statement = 0;
|
static lang_assignment_statement_type *image_base_statement = 0;
|
||||||
|
|
||||||
static int pe_enable_stdcall_fixup = -1; /* 0=disable 1=enable */
|
|
||||||
#ifdef DLL_SUPPORT
|
#ifdef DLL_SUPPORT
|
||||||
|
static int pe_enable_stdcall_fixup = -1; /* 0=disable 1=enable */
|
||||||
static char *pe_out_def_filename = NULL;
|
static char *pe_out_def_filename = NULL;
|
||||||
static char *pe_implib_filename = NULL;
|
static char *pe_implib_filename = NULL;
|
||||||
static int pe_enable_auto_image_base = 0;
|
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
|
static unsigned long
|
||||||
strhash (const char *str)
|
strhash (const char *str)
|
||||||
{
|
{
|
||||||
|
@ -590,6 +591,7 @@ compute_dll_image_base (const char *ofile)
|
||||||
unsigned long hash = strhash (ofile);
|
unsigned long hash = strhash (ofile);
|
||||||
return 0x60000000 | ((hash << 16) & 0x0FFC0000);
|
return 0x60000000 | ((hash << 16) & 0x0FFC0000);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Assign values to the special symbols before the linker script is
|
/* Assign values to the special symbols before the linker script is
|
||||||
read. */
|
read. */
|
||||||
|
@ -607,8 +609,12 @@ gld_${EMULATION_NAME}_set_symbols ()
|
||||||
if (link_info.relocateable)
|
if (link_info.relocateable)
|
||||||
init[IMAGEBASEOFF].value = 0;
|
init[IMAGEBASEOFF].value = 0;
|
||||||
else if (init[DLLOFF].value || link_info.shared)
|
else if (init[DLLOFF].value || link_info.shared)
|
||||||
|
#ifdef DLL_SUPPORT
|
||||||
init[IMAGEBASEOFF].value = (pe_enable_auto_image_base) ?
|
init[IMAGEBASEOFF].value = (pe_enable_auto_image_base) ?
|
||||||
compute_dll_image_base (output_filename) : NT_DLL_IMAGE_BASE;
|
compute_dll_image_base (output_filename) : NT_DLL_IMAGE_BASE;
|
||||||
|
#else
|
||||||
|
init[IMAGEBASEOFF].value = NT_DLL_IMAGE_BASE;
|
||||||
|
#endif
|
||||||
else
|
else
|
||||||
init[IMAGEBASEOFF].value = NT_EXE_IMAGE_BASE;
|
init[IMAGEBASEOFF].value = NT_EXE_IMAGE_BASE;
|
||||||
}
|
}
|
||||||
|
@ -673,6 +679,7 @@ gld_${EMULATION_NAME}_after_parse ()
|
||||||
ldlang_add_undef (entry_symbol);
|
ldlang_add_undef (entry_symbol);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef DLL_SUPPORT
|
||||||
static struct bfd_link_hash_entry *pe_undef_found_sym;
|
static struct bfd_link_hash_entry *pe_undef_found_sym;
|
||||||
|
|
||||||
static boolean
|
static boolean
|
||||||
|
@ -691,7 +698,6 @@ pe_undef_cdecl_match (h, string)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef DLL_SUPPORT
|
|
||||||
static void
|
static void
|
||||||
pe_fixup_stdcalls ()
|
pe_fixup_stdcalls ()
|
||||||
{
|
{
|
||||||
|
@ -1355,7 +1361,7 @@ gld_${EMULATION_NAME}_place_orphan (file, s)
|
||||||
|
|
||||||
static boolean
|
static boolean
|
||||||
gld_${EMULATION_NAME}_open_dynamic_archive (arch, search, entry)
|
gld_${EMULATION_NAME}_open_dynamic_archive (arch, search, entry)
|
||||||
const char * arch;
|
const char * arch ATTRIBUTE_UNUSED;
|
||||||
search_dirs_type * search;
|
search_dirs_type * search;
|
||||||
lang_input_statement_type * entry;
|
lang_input_statement_type * entry;
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue