gcc writing to /dev/null actually writes to /dev/null.exe

Ryan Johnson ryan.johnson@cs.utoronto.ca
Mon Sep 9 19:12:00 GMT 2013


On 09/09/2013 12:24 PM, Adam Kellas wrote:
> 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.
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...

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 
like that...

Ryan


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list