* dlltool.c (make_one_lib): Test if internal_name was specified
authorDanny Smith <dannysmith@users.sourceforge.net>
Sat, 4 Sep 2004 10:08:11 +0000 (10:08 +0000)
committerDanny Smith <dannysmith@users.sourceforge.net>
Sat, 4 Sep 2004 10:08:11 +0000 (10:08 +0000)
by user before using it.

binutils/ChangeLog
binutils/dlltool.c

index 8cfd19327844e1d81689c80c0b1f884b25cf35d2..2afb2a17ceb3c87cd36c9b6e821d1279e0a76078 100644 (file)
@@ -1,3 +1,8 @@
+2004-09-04   Danny Smith  <dannysmith@users.sourceforge.net>
+
+       * dlltool.c (make_one_lib): Test if internal_name was specified
+       by user before using it.
+
 2004-09-02  Carlo Wood  <carlo@alinoe.com> 
 
        PR binutils/351
index 7688c8bb1279ee10bb9b78e047a9ac8f21f28883..c9a673840312738cfbb7f327ccb234de758a3d4f 100644 (file)
@@ -2517,8 +2517,11 @@ make_one_lib_file (export_type *exp, int i)
                      why it did that, and it does not match what I see
                      in programs compiled with the MS tools.  */
                  int idx = exp->hint;
-                 char const * internal_name =
-                   exp->internal_name ? exp->internal_name : xlate (exp->name);
+                 /* If the user has specified an internal name, use it.
+                    Ignore command line name translation options.  */   
+                 char const * internal_name
+                   = exp->internal_name != exp->name
+                     ? exp->internal_name : xlate (exp->name);
 
                  si->size = strlen (internal_name) + 3;
                  si->data = xmalloc (si->size);