Hi all. I've come across a possible Clang regression that recently crept into stable/9. I'd like to check to see whether it's a true bug or if I jacked something up. It appears all object files are created with mode 0600 rather than honoring umask. This breaks installworld for me. I use a centralized src/obj over NFS configuration and installing to the target system fails with a permission denied error. Using obj/[SNIP]/src/cddl/lib/drti as an example: Clang: -rw-r--r-- 1 jjk users 7731 May 24 15:05 .depend -rw------- 1 jjk users 8496 May 24 15:05 drti.o GCC: -rw-r--r-- 1 jjk users 7731 May 24 20:54 .depend -rw-r--r-- 1 jjk users 8808 May 24 20:54 drti.o I tested on May 24th (with 3.1 prerelease MFC) as well as the 3.1 release after it was MFC'd on Sunday. TIA! -- James.
David Wolfskill
2012-May-29 16:27 UTC
Possible Clang regression - object files are always mode 0600
On Tue, May 29, 2012 at 01:39:19AM -0500, James wrote:> Hi all. I've come across a possible Clang regression that recently > crept into stable/9. I'd like to check to see whether it's a true bug > or if I jacked something up. It appears all object files are created > with mode 0600 rather than honoring umask. This breaks installworld > for me. I use a centralized src/obj over NFS configuration and > installing to the target system fails with a permission denied error.Hmmm... yeah, that could cause a bit of hassle for me, as well. Checking a FreeBSD/i386 stable/9 /usr/obj as of r236226, I see 16544 files with permission 0600 and 710 files that have something else (typically, 0644): d134(9.0-S)[6] find . -type f -name \*.o \! -perm 0600 -ls | wc -l 710 d134(9.0-S)[7] find . -type f -name \*.o -perm 0600 -ls | wc -l 16544 d134(9.0-S)[8] find . -type f -name \*.o \! -perm 0600 -ls | head 2075139 12 -rwxr-xr-x 1 root wheel 6016 May 25 05:10 ./tmp/usr/lib/dtrace/drti.o 2072994 4 -rwxr-xr-x 1 root wheel 829 May 24 12:00 ./tmp/usr/lib/crti.o 2072995 4 -rwxr-xr-x 1 root wheel 785 May 24 12:00 ./tmp/usr/lib/crtn.o 2072996 4 -rwxr-xr-x 1 root wheel 2014 May 24 12:00 ./tmp/usr/lib/gcrt1.o 2072997 4 -rwxr-xr-x 1 root wheel 1848 May 24 12:00 ./tmp/usr/lib/crt1.o 2072998 4 -rwxr-xr-x 1 root wheel 2004 May 24 12:00 ./tmp/usr/lib/Scrt1.o 2072999 4 -rwxr-xr-x 1 root wheel 1628 May 24 12:00 ./tmp/usr/lib/crtbegin.o 2073000 4 -rwxr-xr-x 1 root wheel 1252 May 24 12:00 ./tmp/usr/lib/crtend.o 2072980 4 -rwxr-xr-x 1 root wheel 1968 May 24 12:00 ./tmp/usr/lib/crtbeginT.o 2072981 4 -rwxr-xr-x 1 root wheel 1864 May 24 12:00 ./tmp/usr/lib/crtbeginS.o d134(9.0-S)[9] find . -type f -name \*.o -perm 0600 -ls | head 2472960 20 -rw------- 1 root wheel 9984 May 29 04:27 ./make.i386/usr/src/usr.bin/make/cond.o 2472961 8 -rw------- 1 root wheel 2456 May 29 04:27 ./make.i386/usr/src/usr.bin/make/buf.o 2472962 20 -rw------- 1 root wheel 9296 May 29 04:27 ./make.i386/usr/src/usr.bin/make/dir.o 2472963 24 -rw------- 1 root wheel 11924 May 29 04:27 ./make.i386/usr/src/usr.bin/make/arch.o 2472964 8 -rw------- 1 root wheel 2352 May 29 04:27 ./make.i386/usr/src/usr.bin/make/hash.o 2472966 12 -rw------- 1 root wheel 4188 May 29 04:27 ./make.i386/usr/src/usr.bin/make/for.o 2472965 4 -rw------- 1 root wheel 1588 May 29 04:27 ./make.i386/usr/src/usr.bin/make/hash_tables.o 2472967 60 -rw------- 1 root wheel 29844 May 29 04:27 ./make.i386/usr/src/usr.bin/make/job.o 2472968 40 -rw------- 1 root wheel 19964 May 29 04:27 ./make.i386/usr/src/usr.bin/make/main.o 2472970 12 -rw------- 1 root wheel 6096 May 29 04:27 ./make.i386/usr/src/usr.bin/make/make.o d134(9.0-S)[10] So I won't claim "always mode 0600," but it looks like enough to be annoying. :-} I'm pretty sure I didn't change anything relevent from how I build with gcc (on a different slice). Peace, david -- David H. Wolfskill david@catwhisker.org Depriving a girl or boy of an opportunity for education is evil. See http://www.catwhisker.org/~david/publickey.gpg for my public key. -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 196 bytes Desc: not available Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20120529/df3b563c/attachment.pgp