From: Nick Clifton Date: Mon, 14 May 2018 12:05:02 +0000 (+0100) Subject: Fix a problem in the assembler when checking for overlapping input and output files... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c3533c4c7c5db84b27e4dc8994a3c3a893077c03;p=binutils-gdb.git Fix a problem in the assembler when checking for overlapping input and output files on non-POSIX compliant systems. PR 23153 * as.c (main): When checking for an output file that is also an input file, also check that the inode is not zero. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index 200879cdba3..8322ccf4e79 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2018-05-14 Nick Clifton + + PR 23153 + * as.c (main): When checking for an output file that is also an + input file, also check that the inode is not zero. + 2018-05-12 Alan Modra * config/tc-score.c (s3_do_macro_bcmp): Don't use fixed size diff --git a/gas/as.c b/gas/as.c index cdf8cfed487..02c7d2970bf 100644 --- a/gas/as.c +++ b/gas/as.c @@ -1256,7 +1256,7 @@ main (int argc, char ** argv) if (stat (argv[i], &sib) == 0) { - if (sib.st_ino == sob.st_ino) + if (sib.st_ino == sob.st_ino && sib.st_ino != 0) { /* Don't let as_fatal remove the output file! */ out_file_name = NULL;