From 5aaace278daa85ea6c3255a47e4dd47f7f25df26 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Tue, 4 Jan 2000 23:30:51 +0000 Subject: [PATCH] Apply patch from Mumit Khan to fix bugs generating dll names. --- ld/ChangeLog | 6 ++++++ ld/deffilep.y | 8 +++++++- ld/pe-dll.c | 9 +-------- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index cc26ce0..2ab6c95 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,9 @@ +2000-01-04 Mumit Khan + + * pe-dll.c (pe_dll_generate_implib): Use the correct name for output + dll. + * deffilep.y (opt_name): Allow "." in name. + 1999-12-02 Nick Clifton * Makefile.am: Fix arm-epoc-pe dependencies. diff --git a/ld/deffilep.y b/ld/deffilep.y index 31aa703..6b17e55 100644 --- a/ld/deffilep.y +++ b/ld/deffilep.y @@ -214,7 +214,13 @@ attr: ; opt_name: ID { $$ = $1; } - | { $$ = 0; } + | ID '.' ID + { + char * name = xmalloc (strlen ($1) + 1 + strlen ($3) + 1); + sprintf (name, "%s.%s", $1, $3); + $$ = name; + } + | { $$ = ""; } ; opt_ordinal: diff --git a/ld/pe-dll.c b/ld/pe-dll.c index 657f41d..afb7edd 100644 --- a/ld/pe-dll.c +++ b/ld/pe-dll.c @@ -1455,14 +1455,7 @@ pe_dll_generate_implib (def, impfilename) bfd *outarch; bfd *head = 0; - dll_filename = def->name; - if (dll_filename == 0) - { - dll_filename = dll_name; - for (i=0; impfilename[i]; i++) - if (impfilename[i] == '/' || impfilename[i] == '\\') - dll_filename = impfilename+1; - } + dll_filename = (def->name) ? def->name : dll_name; dll_symname = xstrdup (dll_filename); for (i=0; dll_symname[i]; i++) if (!isalnum ((unsigned char) dll_symname[i])) -- 2.7.4