aboutsummaryrefslogtreecommitdiff
path: root/binutils
diff options
context:
space:
mode:
authorMartin Storsj? <martin@martin.st>2022-03-16 15:01:30 +0000
committerNick Clifton <nickc@redhat.com>2022-03-16 15:22:05 +0000
commitd65c0ddddd85645cab6f11fd711d21638a74489f (patch)
treee8bfb2ce0bea02b10577350e3571e39808903a97 /binutils
parenta2757c4ed693cef4ecc4dcdcb2518353eb6b3c3f (diff)
downloadfsf-binutils-gdb-d65c0ddddd85645cab6f11fd711d21638a74489f.zip
fsf-binutils-gdb-d65c0ddddd85645cab6f11fd711d21638a74489f.tar.gz
fsf-binutils-gdb-d65c0ddddd85645cab6f11fd711d21638a74489f.tar.bz2
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.
Diffstat (limited to 'binutils')
-rw-r--r--binutils/ChangeLog6
-rw-r--r--binutils/dlltool.c7
2 files changed, 10 insertions, 3 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index 6d49d8c..127ee5c 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,9 @@
+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 Simon Marchi <simon.marchi@efficios.com>
* readelf.c (dump_relocations): Handle EM_AMDGPU.
diff --git a/binutils/dlltool.c b/binutils/dlltool.c
index d95bf3f..8987151 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] = '_';