[PATCH] dlltool: Allow inferring tmp_prefix from the dll name from a def file
Martin Storsjö
martin@martin.st
Tue Jan 11 20:36:54 GMT 2022
Move the initialization of tmp_prefix slightly later in the process,
which should allow inferring a deterministic tmp_prefix from the
dll name read from a def file, not only from the -D option.
Signed-off-by: Martin Storsjö <martin@martin.st>
---
binutils/dlltool.c | 34 +++++++++++++++++-----------------
1 file changed, 17 insertions(+), 17 deletions(-)
diff --git a/binutils/dlltool.c b/binutils/dlltool.c
index a1e2b484328..d95bf3f5470 100644
--- a/binutils/dlltool.c
+++ b/binutils/dlltool.c
@@ -3930,23 +3930,6 @@ main (int ac, char **av)
}
}
- if (tmp_prefix == NULL)
- {
- /* If possible use a deterministic prefix. */
- if (dll_name)
- {
- tmp_prefix = xmalloc (strlen (dll_name) + 2);
- sprintf (tmp_prefix, "%s_", dll_name);
- for (i = 0; tmp_prefix[i]; i++)
- if (!ISALNUM (tmp_prefix[i]))
- tmp_prefix[i] = '_';
- }
- else
- {
- tmp_prefix = prefix_encode ("d", getpid ());
- }
- }
-
for (i = 0; mtable[i].type; i++)
if (strcmp (mtable[i].type, mname) == 0)
break;
@@ -4006,6 +3989,23 @@ main (int ac, char **av)
optind++;
}
+ if (tmp_prefix == NULL)
+ {
+ /* If possible use a deterministic prefix. */
+ if (dll_name)
+ {
+ tmp_prefix = xmalloc (strlen (dll_name) + 2);
+ sprintf (tmp_prefix, "%s_", dll_name);
+ for (i = 0; tmp_prefix[i]; i++)
+ if (!ISALNUM (tmp_prefix[i]))
+ tmp_prefix[i] = '_';
+ }
+ else
+ {
+ tmp_prefix = prefix_encode ("d", getpid ());
+ }
+ }
+
mangle_defs ();
if (exp_name)
--
2.25.1
More information about the Binutils
mailing list