aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2022-03-23 11:39:49 +0000
committerAndreas K. Hüttel <dilfridge@gentoo.org>2022-04-16 13:28:27 +0200
commit335776377a5cedc39cad2a22b9b9dca67482fd35 (patch)
treef1a691475a9b3cb59a97f6f883ba8be9f165d89f
parentUpdated Serbian (for binutils/) and Russian (for gprof/) translations (diff)
downloadbinutils-gdb-335776377a5cedc39cad2a22b9b9dca67482fd35.tar.gz
binutils-gdb-335776377a5cedc39cad2a22b9b9dca67482fd35.tar.bz2
binutils-gdb-335776377a5cedc39cad2a22b9b9dca67482fd35.zip
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. (cherry picked from commit 99852365513266afdd793289813e8e565186c9e6)
-rw-r--r--binutils/ChangeLog9
-rw-r--r--binutils/dlltool.c7
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] = '_';