This is the mail archive of the
mailing list for the Cygwin project.
Re: gcc writing to /dev/null actually writes to /dev/null.exe
- From: Ryan Johnson <ryan dot johnson at cs dot utoronto dot ca>
- To: cygwin at cygwin dot com
- Date: Mon, 09 Sep 2013 13:36:00 -0400
- Subject: Re: gcc writing to /dev/null actually writes to /dev/null.exe
- Authentication-results: sourceware.org; auth=none
- References: <CAJty3Zx2dRRsp31kwN6OGM-mJkGO6YsVVLHg9Y2JDsjH+0op7Q at mail dot gmail dot com>
On 09/09/2013 12:24 PM, Adam Kellas wrote:
I don't think this is actually cygwin's fault; gcc is just helpfully
(and silently) adding .exe to the requested filename (or maybe ld does
that?). Cygwin file handling wouldn't come into the picture until you
tried to invoke the resulting binary without the .exe extension...
Is this a bug which is fixable in Cygwin or just something to be lived with?
% gcc -o /dev/null devnull.c
% ls -ld /dev/null*
crw-rw-rw- 1 dboyce Domain Users 1, 3 Sep 9 09:14 /dev/null
-rwxrwxr-x+ 1 dboyce Domain Users 53827 Sep 9 09:14 /dev/null.exe
% file /dev/null.exe
/dev/null.exe: PE32 executable (console) Intel 80386, for MS Windows
I'm aware of the .exe back story but this should be a special case, I think.
It would probably cause all kinds of trouble to remove the automatic
extension-adding feature entirely, but maybe a case could be made for
not adding .exe to a file name that already exists in the filesystem?
Meanwhile, I've always used `gcc -o- devnull.c >/dev/null' for stuff
Problem reports: http://cygwin.com/problems.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple