summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2000-01-04 23:30:51 +0000
committerNick Clifton <nickc@redhat.com>2000-01-04 23:30:51 +0000
commit5aaace278daa85ea6c3255a47e4dd47f7f25df26 (patch)
tree51cba6bf9bf28376e3fc7763f91bea113f0bd6c5
parentoops - omitted from previous delta (diff)
downloadbinutils-gdb-5aaace278daa85ea6c3255a47e4dd47f7f25df26.tar.gz
binutils-gdb-5aaace278daa85ea6c3255a47e4dd47f7f25df26.tar.bz2
binutils-gdb-5aaace278daa85ea6c3255a47e4dd47f7f25df26.zip
Apply patch from Mumit Khan to fix bugs generating dll names.
-rw-r--r--ld/ChangeLog6
-rw-r--r--ld/deffilep.y8
-rw-r--r--ld/pe-dll.c9
3 files changed, 14 insertions, 9 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index cc26ce06570..2ab6c95fe7b 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,9 @@
+2000-01-04 Mumit Khan <khan@xraylith.wisc.edu>
+
+ * 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 <nickc@cygnus.com>
* Makefile.am: Fix arm-epoc-pe dependencies.
diff --git a/ld/deffilep.y b/ld/deffilep.y
index 31aa703a917..6b17e55817e 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 657f41dae3a..afb7edd60c4 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]))