Closed
Description
No matter what the umask, go build would always create a binary with perms 0755.
$ ( umask 0022; go build -o foo foo.go ; ls -l foo )
-rwxr-xr-x 1 ubuntu ubuntu 2848496 Sep 19 12:00 foo
$ ( umask 0000; go build -o foo foo.go ; ls -l foo )
-rwxr-xr-x 1 ubuntu ubuntu 2848496 Sep 19 12:00 foo
$ ( umask 0077; go build -o foo foo.go ; ls -l foo )
-rwxr-xr-x 1 ubuntu ubuntu 2848496 Sep 19 12:00 foo
Compilers (including gcc, ghc, dmd) usually respect umask while creating executables.