diff options
Diffstat (limited to 'ld/emultempl')
-rw-r--r-- | ld/emultempl/pe.em | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/ld/emultempl/pe.em b/ld/emultempl/pe.em index 990b6a7..a863526 100644 --- a/ld/emultempl/pe.em +++ b/ld/emultempl/pe.em @@ -153,6 +153,7 @@ static char *pe_out_def_filename = NULL; static char *pe_implib_filename = NULL; static int pe_enable_auto_image_base = 0; static char *pe_dll_search_prefix = NULL; +static char *pe_data_import_dll = NULL; #endif extern const char *output_filename; @@ -755,6 +756,24 @@ gld_${EMULATION_NAME}_after_parse () ldlang_add_undef (entry_symbol); } +/* Previously, pe-dll.c directly accessed pe_data_import_dll, + which was only defined if DLL_SUPPORT. This cause a build + failure on certain targets. At least this function will + exist regardless of whether DLL_SUPPORT is defined or not. + + However, it's still a kludge. pe-dll.c shouldn't directly + call any functions other than the gld_${EMULATION_NAME}_*. */ + +char * +pe_get_data_import_dll_name () +{ +#ifdef DLL_SUPPORT + return pe_data_import_dll; +#else + return "unknown"; +#endif +} + #ifdef DLL_SUPPORT static struct bfd_link_hash_entry *pe_undef_found_sym; @@ -879,8 +898,6 @@ make_import_fixup (rel, s) return 1; } -char *pe_data_import_dll; - static void pe_find_data_imports () { |