diff options
author | Nick Clifton <nickc@redhat.com> | 2020-03-06 10:44:12 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2020-03-06 10:44:12 +0000 |
commit | 3c968de5c7d1719b2f9b538f2f7f5f5922e5f311 (patch) | |
tree | 1b8d480e10ef3daec9459d1d97ef6aee90bea959 /gas/as.c | |
parent | a0dcf2970562c19140460a07b2c987714639cd7b (diff) | |
download | gdb-3c968de5c7d1719b2f9b538f2f7f5f5922e5f311.zip gdb-3c968de5c7d1719b2f9b538f2f7f5f5922e5f311.tar.gz gdb-3c968de5c7d1719b2f9b538f2f7f5f5922e5f311.tar.bz2 |
Stop the assembler from complaining that the input and output files are the same, if neither of them are regular files.
PR 25572
* as.c (main): Allow matching input and outputs when they are
not regular files.
Diffstat (limited to 'gas/as.c')
-rw-r--r-- | gas/as.c | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -1290,7 +1290,13 @@ main (int argc, char ** argv) /* Different files may have the same inode number if they reside on different devices, so check the st_dev field as well. */ - && sib.st_dev == sob.st_dev) + && sib.st_dev == sob.st_dev + /* PR 25572: Only check regular files. Devices, sockets and so + on might actually work as both input and output. Plus there + is a use case for using /dev/null as both input and output + when checking for command line option support in a script: + as --foo /dev/null -o /dev/null; if $? then ... */ + && S_ISREG (sib.st_mode)) { const char *saved_out_file_name = out_file_name; |