aboutsummaryrefslogtreecommitdiff
path: root/binutils/dlltool.c
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>1999-06-03 13:22:45 +0000
committerNick Clifton <nickc@redhat.com>1999-06-03 13:22:45 +0000
commit762100ed5601d4decef0849bca204f27f94fc6c4 (patch)
tree16473b98dceab2ac95698ee878e85ffc86098993 /binutils/dlltool.c
parent080e41e66bf6ac00e46d138f23864f12246efc16 (diff)
downloadgdb-762100ed5601d4decef0849bca204f27f94fc6c4.zip
gdb-762100ed5601d4decef0849bca204f27f94fc6c4.tar.gz
gdb-762100ed5601d4decef0849bca204f27f94fc6c4.tar.bz2
Use macros to hold names of temporary files.
Diffstat (limited to 'binutils/dlltool.c')
-rw-r--r--binutils/dlltool.c45
1 files changed, 35 insertions, 10 deletions
diff --git a/binutils/dlltool.c b/binutils/dlltool.c
index 2ba8135..9adf9b2 100644
--- a/binutils/dlltool.c
+++ b/binutils/dlltool.c
@@ -3234,8 +3234,8 @@ main (ac, av)
}
for (i = 0; mtable[i].type; i++)
- if (strcmp (mtable[i].type, mname) == 0)
- break;
+ if (strcmp (mtable[i].type, mname) == 0)
+ break;
if (!mtable[i].type)
/* xgettext:c-format */
@@ -3296,7 +3296,7 @@ main (ac, av)
if (output_def)
gen_def_file ();
-
+
#ifdef DLLTOOL_MCORE_ELF
if (mcore_elf_out_file)
mcore_elf_gen_out_file ();
@@ -3363,6 +3363,10 @@ mcore_elf_cache_filename (char * filename)
ptr->next->next = NULL;
}
+#define MCORE_ELF_TMP_OBJ "mcoreelf.o"
+#define MCORE_ELF_TMP_EXP "mcoreelf.exp"
+#define MCORE_ELF_TMP_LIB "mcoreelf.lib"
+
static void
mcore_elf_gen_out_file (void)
{
@@ -3392,7 +3396,8 @@ mcore_elf_gen_out_file (void)
ptr = ptr->next;
}
- strcat (outfile, "-o mcoreelf.tmp");
+ strcat (outfile, "-o ");
+ strcat (outfile, MCORE_ELF_TMP_OBJ);
if (mcore_elf_linker == NULL)
mcore_elf_linker = deduce_name ("ld");
@@ -3403,30 +3408,50 @@ mcore_elf_gen_out_file (void)
Do this by recursively invoking dlltool....*/
sprintf (outfile, "-S %s", as_name);
- strcat (outfile, " -e mcoreelf.exp -l mcoreelf.lib mcoreelf.tmp");
+ strcat (outfile, " -e ");
+ strcat (outfile, MCORE_ELF_TMP_EXP);
+ strcat (outfile, " -l ");
+ strcat (outfile, MCORE_ELF_TMP_LIB);
+ strcat (outfile, " " );
+ strcat (outfile, MCORE_ELF_TMP_OBJ);
if (verbose)
strcat (outfile, " -v");
if (dontdeltemps)
- strcat (outfile, " -n");
+ {
+ strcat (outfile, " -n");
- if (dontdeltemps > 1)
- strcat (outfile, " -n");
+ if (dontdeltemps > 1)
+ strcat (outfile, " -n");
+ }
/* XXX - FIME: ought to check/copy other command line options as well. */
run (program_name, outfile);
- /* Step four. Feed the two new files to ld -shared. */
+ /* Step four. Feed the .exp and .lib files to ld -shared to create the dll. */
strcpy (outfile, "-shared ");
if (mcore_elf_linker_flags)
strcat (outfile, mcore_elf_linker_flags);
- strcat (outfile, " mcoreelf.exp mcoreelf.lib -o ");
+ strcat (outfile, " ");
+ strcat (outfile, MCORE_ELF_TMP_EXP);
+ strcat (outfile, " ");
+ strcat (outfile, MCORE_ELF_TMP_LIB);
+ strcat (outfile, " -o ");
strcat (outfile, mcore_elf_out_file);
run (mcore_elf_linker, outfile);
+
+ if (dontdeltemps == 0)
+ {
+ unlink (MCORE_ELF_TMP_EXP);
+ unlink (MCORE_ELF_TMP_LIB);
+ }
+
+ if (dontdeltemps < 2)
+ unlink (MCORE_ELF_TMP_OBJ);
}
#endif /* DLLTOOL_MCORE_ELF */