binutils: strip does not set the executable bit
strip /bin/busybox -o walrus ls -l walrus -rw-r--r-- 1 ncopa ncopa 773272 Dec 14 08:37 walrus
It removed the executable bit from the file. I take it this is a gcc 4.4 bug?
(Ahem, not a bug, a “random new unannounced behavior change”.)
The effect of strip on object and executable files shall be similar to the use
of the -s option to c99
The executable file shall be created as specified in File Read, Write, and
Creation, except that the file permission bits shall be set to: S_IRWXO |
S_IRWXG | S_IRWXU
So yeah, it looks like gcc 4.4 is in violation of susv4 by not setting the
executable bit on its output files.
(from redmine: issue id 219, created on 2009-12-14, closed on 2010-12-17)