diff options
-rw-r--r-- | ld/ChangeLog | 14 | ||||
-rw-r--r-- | ld/emulparams/mipspe.sh | 2 | ||||
-rw-r--r-- | ld/emulparams/shpe.sh | 2 | ||||
-rw-r--r-- | ld/emultempl/pe.em | 17 | ||||
-rw-r--r-- | ld/pe-dll.c | 15 |
5 files changed, 35 insertions, 15 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 3b0d9cc..c480489 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,5 +1,19 @@ 2000-03-01 H.J. Lu <hjl@gnu.org> + * emulparams/mipspe.sh: Add SUBSYSTEM and INITIAL_SYMBOL_CHAR. + * emulparams/shpe.sh: Likewise. + +2000-03-01 Nick Clifton <nickc@cygnus.com> + + * pe-dll.c: Remove unused variables and add ATTRIBUTE_UNUSED + to unused parameters. + + * emultempl/pe.em: Add "#ifdef DLL_SUPPORT" around static + functions only used by DLL code. + (_place_orphan): Initialise 'dollar'. + +2000-03-01 H.J. Lu <hjl@gnu.org> + * ldmain.c (undefined_symbol): Take one more arg, fatal, to indicate if the undefined symbol is a fatal error or not. Don't delete the output file if "fatal" is false. diff --git a/ld/emulparams/mipspe.sh b/ld/emulparams/mipspe.sh index cfd9698..3467452 100644 --- a/ld/emulparams/mipspe.sh +++ b/ld/emulparams/mipspe.sh @@ -4,3 +4,5 @@ OUTPUT_FORMAT="pei-mips" OUTPUT_ARCH="mips" RELOCATEABLE_OUTPUT_FORMAT="ecoff-littlemips" TEMPLATE_NAME=pe +SUBSYSTEM=PE_DEF_SUBSYSTEM +INITIAL_SYMBOL_CHAR=\"_\" diff --git a/ld/emulparams/shpe.sh b/ld/emulparams/shpe.sh index 8f8ee97..2f8664c 100644 --- a/ld/emulparams/shpe.sh +++ b/ld/emulparams/shpe.sh @@ -2,3 +2,5 @@ ARCH=sh SCRIPT_NAME=pe OUTPUT_FORMAT="pei-shl" TEMPLATE_NAME=pe +SUBSYSTEM=PE_DEF_SUBSYSTEM +INITIAL_SYMBOL_CHAR=\"_\" diff --git a/ld/emultempl/pe.em b/ld/emultempl/pe.em index 5bb9cc6..d13bb40 100644 --- a/ld/emultempl/pe.em +++ b/ld/emultempl/pe.em @@ -114,9 +114,11 @@ static int support_old_code = 0; static char * thumb_entry_symbol = NULL; static lang_assignment_statement_type *image_base_statement = 0; -static char *pe_out_def_filename = 0; static int pe_enable_stdcall_fixup = -1; /* 0=disable 1=enable */ +#ifdef DLL_SUPPORT +static char *pe_out_def_filename = 0; static char *pe_implib_filename = 0; +#endif extern const char *output_filename; @@ -642,6 +644,7 @@ pe_undef_cdecl_match (h, string) return true; } +#ifdef DLL_SUPPORT static void pe_fixup_stdcalls () { @@ -706,6 +709,7 @@ pe_fixup_stdcalls () } } } +#endif /* DLL_SUPPORT */ static void gld_${EMULATION_NAME}_after_open () @@ -757,7 +761,7 @@ gld_${EMULATION_NAME}_after_open () #endif { - int is_ms_arch; + int is_ms_arch = 0; bfd *cur_arch = 0; lang_input_statement_type *is2; @@ -869,7 +873,7 @@ gld_${EMULATION_NAME}_before_allocation() /* This is called when an input file isn't recognized as a BFD. We check here for .DEF files and pull them in automatically. */ - +#ifdef DLL_SUPPORT static int saw_option(char *option) { @@ -879,10 +883,11 @@ saw_option(char *option) return init[i].inited; return 0; } +#endif static boolean gld_${EMULATION_NAME}_unrecognized_file(entry) - lang_input_statement_type *entry; + lang_input_statement_type *entry ATTRIBUTE_UNUSED; { #ifdef DLL_SUPPORT const char *ext = entry->filename + strlen (entry->filename) - 4; @@ -967,7 +972,7 @@ gld_${EMULATION_NAME}_unrecognized_file(entry) static boolean gld_${EMULATION_NAME}_recognized_file(entry) - lang_input_statement_type *entry; + lang_input_statement_type *entry ATTRIBUTE_UNUSED; { #ifdef DLL_SUPPORT #ifdef TARGET_IS_i386pe @@ -1087,7 +1092,7 @@ gld_${EMULATION_NAME}_place_orphan (file, s) asection *s; { const char *secname; - char *dollar; + char *dollar = NULL; if ((s->flags & SEC_ALLOC) == 0) return false; diff --git a/ld/pe-dll.c b/ld/pe-dll.c index 5b2ffe4..6b8b1af 100644 --- a/ld/pe-dll.c +++ b/ld/pe-dll.c @@ -617,15 +617,12 @@ generate_edata (abfd, info) static void fill_exported_offsets (abfd, info) - bfd *abfd; + bfd *abfd ATTRIBUTE_UNUSED; struct bfd_link_info *info; { - int i, j; + int i; struct bfd_link_hash_entry *blhe; - bfd *b; - struct sec *s; - def_file_export *e=0; - + for (i = 0; i < pe_def_file->num_exports; i++) { char *name = (char *) xmalloc (strlen (pe_def_file->exports[i].internal_name) + 2); @@ -1402,12 +1399,12 @@ make_one (exp, parent) bfd *parent; { asection *tx, *id7, *id5, *id4, *id6; - unsigned char *td, *d7, *d5, *d4, *d6; + unsigned char *td, *d7, *d5, *d4, *d6 = NULL; int len; char *oname; bfd *abfd; - unsigned char *jmp_bytes; - int jmp_byte_count; + unsigned char *jmp_bytes = NULL; + int jmp_byte_count = 0; switch (pe_details->pe_arch) { |