[binutils-gdb/binutils-2_38-branch] dlltool: Use the output name as basis for deterministic temp prefixes

Nick Clifton nickc@sourceware.org
Wed Mar 23 11:40:17 GMT 2022


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=99852365513266afdd793289813e8e565186c9e6

commit 99852365513266afdd793289813e8e565186c9e6
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Mar 23 11:39:49 2022 +0000

    dlltool: Use the output name as basis for deterministic temp prefixes
    
            PR 28885
            * dlltool.c (main): use imp_name rather than dll_name when
            generating a temporary file name.

Diff:
---
 binutils/ChangeLog | 9 +++++++++
 binutils/dlltool.c | 7 ++++---
 2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index b8dcda6fd84..9b6bac7accb 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,12 @@
+2022-03-23  Nick Clifton  <nickc@redhat.com>
+
+	Import patch from mainline:
+	2022-03-16  Martin Storsjö  <martin@martin.st>
+
+	PR 28885
+	* dlltool.c (main): use imp_name rather than dll_name when
+	generating a temporary file name.
+
 2022-03-16  Nick Clifton  <nickc@redhat.com>
 
 	* po/sr.po: Updated Serbian translation.
diff --git a/binutils/dlltool.c b/binutils/dlltool.c
index d95bf3f5470..89871510b45 100644
--- a/binutils/dlltool.c
+++ b/binutils/dlltool.c
@@ -3992,10 +3992,11 @@ main (int ac, char **av)
   if (tmp_prefix == NULL)
     {
       /* If possible use a deterministic prefix.  */
-      if (dll_name)
+      if (imp_name || delayimp_name)
         {
-          tmp_prefix = xmalloc (strlen (dll_name) + 2);
-          sprintf (tmp_prefix, "%s_", dll_name);
+          const char *input = imp_name ? imp_name : delayimp_name;
+          tmp_prefix = xmalloc (strlen (input) + 2);
+          sprintf (tmp_prefix, "%s_", input);
           for (i = 0; tmp_prefix[i]; i++)
             if (!ISALNUM (tmp_prefix[i]))
               tmp_prefix[i] = '_';


More information about the Binutils-cvs mailing list