From fe26771191ab959eab1b92ac8a574a900a2a3f4c Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Tue, 7 May 2019 08:52:33 +0000 Subject: [PATCH] re PR lto/90369 (error: could not unlink output file) 2019-05-07 Richard Biener PR lto/90369 * lto-wrapper.c (debug_objcopy): Use the original filename including archive offset for the filename used for -save-temps. From-SVN: r270937 --- gcc/ChangeLog | 6 ++++++ gcc/lto-wrapper.c | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 028f992b9f1..161e966b0d4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2019-05-07 Richard Biener + + PR lto/90369 + * lto-wrapper.c (debug_objcopy): Use the original filename + including archive offset for the filename used for -save-temps. + 2019-05-07 Li Jia He * tree-ssa-phiopt.c (two_value_replacement): Fix a typo in parameter diff --git a/gcc/lto-wrapper.c b/gcc/lto-wrapper.c index 56eea90ac8c..ac971494054 100644 --- a/gcc/lto-wrapper.c +++ b/gcc/lto-wrapper.c @@ -1044,6 +1044,7 @@ debug_objcopy (const char *infile, bool rename) int err; const char *p; + const char *orig_infile = infile; off_t inoff = 0; long loffset; int consumed; @@ -1080,9 +1081,9 @@ debug_objcopy (const char *infile, bool rename) if (save_temps) { - outfile = (char *) xmalloc (strlen (infile) + outfile = (char *) xmalloc (strlen (orig_infile) + sizeof (".debug.temp.o") + 1); - strcpy (outfile, infile); + strcpy (outfile, orig_infile); strcat (outfile, ".debug.temp.o"); } else -- 2.30.2