backport: tlink.c (recompile_files): Do not assume that "rename" can overwrite an existing file.

Merge from csl-arm-branch.
	2004-02-12  Mark Mitchell  <mark@codesourcery.com>

	* tlink.c (recompile_files): Do not assume that "rename" can
	overwrite an existing file.

From-SVN: r97252
This commit is contained in:
Danny Smith 2005-03-30 09:58:48 +00:00 committed by Danny Smith
parent 9ecbc8f49f
commit 2d8a7f23ee
2 changed files with 15 additions and 1 deletions

View File

@ -1,3 +1,11 @@
2005-03-31 Danny Smith <dannysmith@users.sourceforge.net>
Merge from csl-arm-branch.
2004-02-12 Mark Mitchell <mark@codesourcery.com>
* tlink.c (recompile_files): Do not assume that "rename" can
overwrite an existing file.
2005-03-31 Paolo Bonzini <bonzini@gnu.org>
* gcc/configure.ac (TL_AC_GNU_MAKE_GCC_LIB_PATH): Remove.

View File

@ -470,7 +470,13 @@ recompile_files (void)
}
fclose (stream);
fclose (output);
rename (outname, f->key);
/* On Windows "rename" returns -1 and sets ERRNO to EACCESS if
the new file name already exists. Therefore, we explicitly
remove the old file first. */
if (remove (f->key) == -1)
fatal_perror ("removing .rpo file");
if (rename (outname, f->key) == -1)
fatal_perror ("renaming .rpo file");
if (!f->args)
{