[Differential] D22061: Build toolchain components as dynamically linked executables by default
dim created this revision. dim added reviewers: emaste, imp, jhb, kib. Herald added a subscriber: bdrewery. Herald added a reviewer: manpages. REVISION SUMMARY Historically, we have built toolchain components such as cc, ld, etc as statically linked executables. One of the reasons being that you could sometimes save yourself from botched upgrades, by e.g. recompiling a "known good" libc and reinstalling it. In this day and age, we have boot environments, virtual machine snapshots, cloud backups, and other much more reliable methods to restore systems to working order. So I think the time is ripe to flip this default, and link the toolchain components dynamically, just like almost all other executables on FreeBSD. Maybe at some point they can even become PIE executables by default! :) REPOSITORY rS FreeBSD src repository REVISION DETAIL https://reviews.freebsd.org/D22061 AFFECTED FILES share/man/man5/src.conf.5 share/mk/src.opts.mk tools/build/options/WITHOUT_SHARED_TOOLCHAIN EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: dim, emaste, imp, jhb, kib, #manpages Cc: bdrewery, freebsd-toolchain-list diff --git a/tools/build/options/WITHOUT_SHARED_TOOLCHAIN b/tools/build/options/WITHOUT_SHARED_TOOLCHAIN new file mode 100644 --- /dev/null +++ b/tools/build/options/WITHOUT_SHARED_TOOLCHAIN @@ -0,0 +1,6 @@ +.\" $FreeBSD$ +Set to build toolchain components as statically linked executables. +The set includes +.Xr cc 1 , +.Xr make 1 +and necessary utilities like assembler, linker and library archive manager. diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -166,6 +166,7 @@ SENDMAIL \ SERVICESDB \ SETUID_LOGIN \ +SHARED_TOOLCHAIN \ SHAREDOCS \ SOURCELESS \ SOURCELESS_HOST \ @@ -210,7 +211,6 @@ OPENLDAP \ REPRODUCIBLE_BUILD \ RPCBIND_WARMSTART_SUPPORT \ -SHARED_TOOLCHAIN \ SORT_THREADS \ SVN \ ZONEINFO_LEAPSECONDS_SUPPORT \ diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5 --- a/share/man/man5/src.conf.5 +++ b/share/man/man5/src.conf.5 @@ -1,6 +1,6 @@ .\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman. .\" $FreeBSD$ -.Dd October 1, 2019 +.Dd October 16, 2019 .Dt SRC.CONF 5 .Os .Sh NAME @@ -197,7 +197,7 @@ of the normal system build. .Pp This is a default setting on -amd64/amd64, arm/arm, arm/armv6, arm/armv7, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe and sparc64/sparc64. +amd64/amd64, arm/arm, arm/armv6, arm/armv7, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf and sparc64/sparc64. .It Va WITHOUT_BINUTILS_BOOTSTRAP Set to not build binutils (as, ld, and objdump) as part of the bootstrap process. @@ -213,7 +213,7 @@ as part of the bootstrap process. .Pp This is a default setting on -amd64/amd64, arm/arm, arm/armv6, arm/armv7, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe and sparc64/sparc64. +amd64/amd64, arm/arm, arm/armv6, arm/armv7, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf and sparc64/sparc64. .It Va WITHOUT_BLACKLIST Set this if you do not want to build .Xr blacklistd 8 @@ -268,7 +268,7 @@ .Pa crtend.o . .Pp This is a default setting on -amd64/amd64, arm/arm, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe and riscv/riscv64. +amd64/amd64, arm/arm, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, riscv/riscv64, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf and mips/mips64hf. .It Va WITH_BSD_GREP Install BSD-licensed grep as '[ef]grep' instead of GNU grep. .It Va WITHOUT_BSNMP @@ -410,7 +410,7 @@ Set to build the Clang C/C++ compiler during the normal phase of the build. .Pp This is a default setting on -amd64/amd64, arm/arm, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64 and powerpc/powerpcspe. +amd64/amd64, arm/arm, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf and mips/mips64hf. .It Va WITHOUT_CLANG_BOOTSTRAP Set to not build the Clang C/C++ compiler during
[Differential] [Accepted] D2690: In ypbind, eliminate error: dereferencing type-punned pointer will break strict-aliasing rules
dim accepted this revision. dim added a comment. This revision has a positive review. For the rest, LGTM. REPOSITORY rS FreeBSD src repository BRANCH /head REVISION DETAIL https://reviews.freebsd.org/D2690 EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: araujo, bapt, emaste, rodrigc, dim Cc: imp, freebsd-toolchain-list ___ freebsd-toolchain@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-toolchain To unsubscribe, send any mail to freebsd-toolchain-unsubscr...@freebsd.org
[Differential] [Commented On] D2690: In ypbind, eliminate error: dereferencing type-punned pointer will break strict-aliasing rules
dim added inline comments. INLINE COMMENTS usr.sbin/ypbind/ypbind.c:622 While we are here, can we please update this to a post-KR definition? E.g.: static bool_t broadcast_result(caddr_t out, struct sockaddr_in *addr) REPOSITORY rS FreeBSD src repository REVISION DETAIL https://reviews.freebsd.org/D2690 EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: araujo, bapt, emaste, dim, rodrigc Cc: imp, freebsd-toolchain-list ___ freebsd-toolchain@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-toolchain To unsubscribe, send any mail to freebsd-toolchain-unsubscr...@freebsd.org
[Differential] [Commented On] D2690: In ypbind, eliminate error: dereferencing type-punned pointer will break strict-aliasing rules
dim added inline comments. INLINE COMMENTS usr.sbin/ypbind/ypbind.c:952 Missing an here? REPOSITORY rS FreeBSD src repository REVISION DETAIL https://reviews.freebsd.org/D2690 EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: rodrigc, bapt, emaste, dim, araujo Cc: imp, freebsd-toolchain ___ freebsd-toolchain@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-toolchain To unsubscribe, send any mail to freebsd-toolchain-unsubscr...@freebsd.org
[Differential] [Commented On] D1932: Remove the non-standard CC alias for c++
dim added a comment. @imp, so are your concerns now addressed? I didn't expect many ports to fail, and there were just a handful, three of which were actual errors (they indended to run ${CC}, but somebody typo'd CC instead). REPOSITORY rS FreeBSD src repository REVISION DETAIL https://reviews.freebsd.org/D1932 EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: dim, emaste, theraven, imp, bdrewery Cc: bdrewery, kib, imp, freebsd-toolchain ___ freebsd-toolchain@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-toolchain To unsubscribe, send any mail to freebsd-toolchain-unsubscr...@freebsd.org
[Differential] [Commented On] D1932: Remove the non-standard CC alias for c++
dim added a comment. An exp-run was requested in bug 200477 https://bugs.freebsd.org/200477. Out of ~25000 ports, only 5 failed, and those have been trivially fixed. The ports tree no longer requires CC to exist. REPOSITORY rS FreeBSD src repository REVISION DETAIL https://reviews.freebsd.org/D1932 EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: dim, emaste, theraven, imp, bdrewery Cc: bdrewery, kib, imp, freebsd-toolchain ___ freebsd-toolchain@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-toolchain To unsubscribe, send any mail to freebsd-toolchain-unsubscr...@freebsd.org
[Differential] [Updated, 8 lines] D1932: Remove the non-standard CC alias for c++
dim updated this revision to Diff 5715. dim added a comment. This revision now requires review to proceed. Herald added a subscriber: imp. Updated for changes in ObsoleteFiles.inc. REPOSITORY rS FreeBSD src repository CHANGES SINCE LAST UPDATE https://reviews.freebsd.org/D1932?vs=3900id=5715 BRANCH /head REVISION DETAIL https://reviews.freebsd.org/D1932 AFFECTED FILES ObsoleteFiles.inc gnu/usr.bin/cc/c++/Makefile gnu/usr.bin/cc/cc/Makefile usr.bin/clang/clang/Makefile CHANGE DETAILS diff --git a/usr.bin/clang/clang/Makefile b/usr.bin/clang/clang/Makefile --- a/usr.bin/clang/clang/Makefile +++ b/usr.bin/clang/clang/Makefile @@ -20,11 +20,9 @@ .if ${MK_CLANG_IS_CC} != no LINKS+= ${BINDIR}/clang ${BINDIR}/cc \ ${BINDIR}/clang ${BINDIR}/c++ \ - ${BINDIR}/clang ${BINDIR}/CC \ ${BINDIR}/clang ${BINDIR}/cpp MLINKS+= clang.1 cc.1 \ clang.1 c++.1 \ - clang.1 CC.1 \ clang.1 cpp.1 .endif diff --git a/gnu/usr.bin/cc/cc/Makefile b/gnu/usr.bin/cc/cc/Makefile --- a/gnu/usr.bin/cc/cc/Makefile +++ b/gnu/usr.bin/cc/cc/Makefile @@ -16,7 +16,7 @@ MLINKS= gcc.1 g++.1 .if ${MK_CLANG_IS_CC} == no LINKS= ${BINDIR}/gcc ${BINDIR}/cc -MLINKS+= gcc.1 cc.1 gcc.1 c++.1 gcc.1 CC.1 +MLINKS+= gcc.1 cc.1 gcc.1 c++.1 gcc.1 .endif .include bsd.prog.mk diff --git a/gnu/usr.bin/cc/c++/Makefile b/gnu/usr.bin/cc/c++/Makefile --- a/gnu/usr.bin/cc/c++/Makefile +++ b/gnu/usr.bin/cc/c++/Makefile @@ -16,7 +16,6 @@ .if ${MK_CLANG_IS_CC} == no LINKS= ${BINDIR}/g++ ${BINDIR}/c++ -LINKS+= ${BINDIR}/g++ ${BINDIR}/CC .endif .include bsd.prog.mk diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -38,6 +38,9 @@ # xargs -n1 | sort | uniq -d; # done +# 2015mmdd: Removed the non-standard CC alias for c++ +OLD_FILES+=usr/bin/CC +OLD_FILES+=usr/share/man/man1/CC.1.gz # 20150525: new clang import which bumps version from 3.6.0 to 3.6.1. OLD_FILES+=usr/lib/clang/3.6.0/include/__stddef_max_align_t.h OLD_FILES+=usr/lib/clang/3.6.0/include/__wmmintrin_aes.h EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: dim, emaste, theraven Cc: imp, freebsd-toolchain diff --git a/usr.bin/clang/clang/Makefile b/usr.bin/clang/clang/Makefile --- a/usr.bin/clang/clang/Makefile +++ b/usr.bin/clang/clang/Makefile @@ -20,11 +20,9 @@ .if ${MK_CLANG_IS_CC} != no LINKS+= ${BINDIR}/clang ${BINDIR}/cc \ ${BINDIR}/clang ${BINDIR}/c++ \ - ${BINDIR}/clang ${BINDIR}/CC \ ${BINDIR}/clang ${BINDIR}/cpp MLINKS+= clang.1 cc.1 \ clang.1 c++.1 \ - clang.1 CC.1 \ clang.1 cpp.1 .endif diff --git a/gnu/usr.bin/cc/cc/Makefile b/gnu/usr.bin/cc/cc/Makefile --- a/gnu/usr.bin/cc/cc/Makefile +++ b/gnu/usr.bin/cc/cc/Makefile @@ -16,7 +16,7 @@ MLINKS= gcc.1 g++.1 .if ${MK_CLANG_IS_CC} == no LINKS= ${BINDIR}/gcc ${BINDIR}/cc -MLINKS+= gcc.1 cc.1 gcc.1 c++.1 gcc.1 CC.1 +MLINKS+= gcc.1 cc.1 gcc.1 c++.1 gcc.1 .endif .include bsd.prog.mk diff --git a/gnu/usr.bin/cc/c++/Makefile b/gnu/usr.bin/cc/c++/Makefile --- a/gnu/usr.bin/cc/c++/Makefile +++ b/gnu/usr.bin/cc/c++/Makefile @@ -16,7 +16,6 @@ .if ${MK_CLANG_IS_CC} == no LINKS= ${BINDIR}/g++ ${BINDIR}/c++ -LINKS+= ${BINDIR}/g++ ${BINDIR}/CC .endif .include bsd.prog.mk diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -38,6 +38,9 @@ # xargs -n1 | sort | uniq -d; # done +# 2015mmdd: Removed the non-standard CC alias for c++ +OLD_FILES+=usr/bin/CC +OLD_FILES+=usr/share/man/man1/CC.1.gz # 20150525: new clang import which bumps version from 3.6.0 to 3.6.1. OLD_FILES+=usr/lib/clang/3.6.0/include/__stddef_max_align_t.h OLD_FILES+=usr/lib/clang/3.6.0/include/__wmmintrin_aes.h ___ freebsd-toolchain@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-toolchain To unsubscribe, send any mail to freebsd-toolchain-unsubscr...@freebsd.org
[Differential] [Commented On] D2285: gcc 4.9.1 compilation fixes for aesni
dim added a comment. LGTM. REVISION DETAIL https://reviews.freebsd.org/D2285 To: rodrigc, jmg Cc: kostikbel, emaste, dim, freebsd-toolchain ___ freebsd-toolchain@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-toolchain To unsubscribe, send any mail to freebsd-toolchain-unsubscr...@freebsd.org
[Differential] [Changed Subscribers] D2285: gcc 4.9.1 compilation fixes for aesni
dim added a subscriber: dim. INLINE COMMENTS sys/crypto/aesni/aesni_wrap.c:49 This part seems to be superfluous, since aesencdec.h, just two files above this one, already defines _MM_MALLOC_INCLUDED. REVISION DETAIL https://reviews.freebsd.org/D2285 To: rodrigc, jmg Cc: dim, freebsd-toolchain ___ freebsd-toolchain@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-toolchain To unsubscribe, send any mail to freebsd-toolchain-unsubscr...@freebsd.org
[Differential] [Commented On] D2187: Ensure cross assembler, linker and objcopy are used for the build32 stage
dim added inline comments. BRANCH /head INLINE COMMENTS Makefile.inc1:416 I just looked for the LD=${LD} assignments, and replaced them all. Maybe, for consistency, we should add OBJCOPY=${XOBJCOPY} for the powerpc case too, but I'm not sure if it's used at all in the powerpc build... REVISION DETAIL https://reviews.freebsd.org/D2187 To: dim, rodrigc, bapt, emaste, imp Cc: emaste, imp, freebsd-toolchain ___ freebsd-toolchain@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-toolchain To unsubscribe, send any mail to freebsd-toolchain-unsubscr...@freebsd.org
[Differential] [Updated, 38 lines] D2187: Ensure cross assembler, linker and objcopy are used for the build32 stage
dim updated this revision to Diff 4577. dim added a comment. This revision now requires review to proceed. Add XOBJCOPY for powerpc too. CHANGES SINCE LAST UPDATE https://reviews.freebsd.org/D2187?vs=4554id=4577 BRANCH /head REVISION DETAIL https://reviews.freebsd.org/D2187 AFFECTED FILES Makefile.inc1 lib/csu/i386-elf/Makefile sys/boot/i386/boot2/Makefile sys/boot/i386/gptboot/Makefile sys/boot/i386/gptzfsboot/Makefile sys/boot/i386/zfsboot/Makefile sys/boot/mips/beri/boot2/Makefile sys/boot/pc98/boot0.5/Makefile sys/boot/pc98/boot0/Makefile sys/boot/pc98/boot2/Makefile To: dim, rodrigc, imp, emaste, bapt Cc: emaste, imp, freebsd-toolchain ___ freebsd-toolchain@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-toolchain To unsubscribe, send any mail to freebsd-toolchain-unsubscr...@freebsd.org
[Differential] [Commented On] D2187: Ensure cross assembler, linker and objcopy are used for the build32 stage
dim added inline comments. BRANCH /head INLINE COMMENTS Makefile.inc1:427 Btw, I'm not sure about AS here, since it might not even be used in the 32 bit stage, and also I'm not sure of the syntax. Is it -a32? REVISION DETAIL https://reviews.freebsd.org/D2187 To: dim, rodrigc, imp, bapt, emaste Cc: emaste, imp, freebsd-toolchain ___ freebsd-toolchain@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-toolchain To unsubscribe, send any mail to freebsd-toolchain-unsubscr...@freebsd.org
[Differential] [Request, 6 lines] D1932: Remove the non-standard CC alias for c++
dim created this revision. dim added reviewers: emaste, theraven. dim added a subscriber: freebsd-toolchain. REVISION SUMMARY Since r34282 (almost 17 years ago) we have been carrying the alias 'CC' for 'c++, to invoke the C++ compiler. The original reason in O'Brien's commit message is for compatibility with SGI. This alias is not based on any standard, is not compatible with case insensitive filesystems, and does not seem to be used by any other operating system. So let's finally get rid of it. TEST PLAN Do an exp-run, probably. I expect zero breakage. BRANCH /head REVISION DETAIL https://reviews.freebsd.org/D1932 AFFECTED FILES ObsoleteFiles.inc gnu/usr.bin/cc/c++/Makefile usr.bin/clang/clang/Makefile To: dim, emaste, theraven Cc: freebsd-toolchain ___ freebsd-toolchain@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-toolchain To unsubscribe, send any mail to freebsd-toolchain-unsubscr...@freebsd.org
[Differential] [Updated, 8 lines] D1932: Remove the non-standard CC alias for c++
dim updated this revision to Diff 3900. dim added a comment. Added one more instance of CC.1. CHANGES SINCE LAST UPDATE https://reviews.freebsd.org/D1932?vs=3899id=3900 BRANCH /head REVISION DETAIL https://reviews.freebsd.org/D1932 AFFECTED FILES ObsoleteFiles.inc gnu/usr.bin/cc/c++/Makefile gnu/usr.bin/cc/cc/Makefile usr.bin/clang/clang/Makefile To: dim, emaste, theraven Cc: freebsd-toolchain ___ freebsd-toolchain@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-toolchain To unsubscribe, send any mail to freebsd-toolchain-unsubscr...@freebsd.org
[Differential] [Accepted] D1663: elfcopy: Consider program name to start after last -
dim added a subscriber: dim. dim accepted this revision. dim added a reviewer: dim. dim added a comment. This revision is now accepted and ready to land. LGTM. REVISION DETAIL https://reviews.freebsd.org/D1663 To: emaste, dim Cc: dim, freebsd-toolchain ___ freebsd-toolchain@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-toolchain To unsubscribe, send any mail to freebsd-toolchain-unsubscr...@freebsd.org
[Differential] [Closed] D1505: Enable building libclang_rt (asan, ubsan and profile) for selected arches
dim closed this revision. dim updated this revision to Diff 3155. dim added a comment. Closed by commit rS277146 (authored by @dim). REVISION DETAIL https://reviews.freebsd.org/D1505 AFFECTED FILES head/etc/mtree/BSD.debug.dist head/etc/mtree/BSD.usr.dist head/lib/Makefile head/lib/libclang_rt/Makefile head/tools/build/mk/OptionalObsoleteFiles.inc To: dim, andrew, bapt, imp, emaste Cc: freebsd-toolchain ___ freebsd-toolchain@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-toolchain To unsubscribe, send any mail to freebsd-toolchain-unsubscr...@freebsd.org
[Differential] [Updated, 63 lines] D1505: Enable building libclang_rt (asan, ubsan and profile) for selected arches
dim updated this revision to Diff 3131. dim added a comment. Avoid specifically listing architectures. CHANGES SINCE LAST UPDATE https://reviews.freebsd.org/D1505?vs=3130id=3131 BRANCH /head REVISION DETAIL https://reviews.freebsd.org/D1505 AFFECTED FILES etc/mtree/BSD.debug.dist etc/mtree/BSD.usr.dist lib/Makefile lib/libclang_rt/Makefile tools/build/mk/OptionalObsoleteFiles.inc To: dim, andrew, bapt, imp, emaste Cc: freebsd-toolchain ___ freebsd-toolchain@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-toolchain To unsubscribe, send any mail to freebsd-toolchain-unsubscr...@freebsd.org
[Differential] [Commented On] D1505: Enable building libclang_rt (asan, ubsan and profile) for selected arches
dim added a comment. Minor note: this survived a make universe on one of the FreeBSD.org reference machines. REVISION DETAIL https://reviews.freebsd.org/D1505 To: dim, andrew, bapt, emaste, imp Cc: freebsd-toolchain ___ freebsd-toolchain@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-toolchain To unsubscribe, send any mail to freebsd-toolchain-unsubscr...@freebsd.org
[Differential] [Request, 52 lines] D1505: Enable building libclang_rt (asan, ubsan and profile) for selected arches
dim created this revision. dim added reviewers: andrew, bapt, emaste, imp. dim added a subscriber: freebsd-toolchain. REVISION SUMMARY I added the libclang_rt libraries (Address Sanitizer, Undefined Behavior Sanitizer and Profile Guided Optimization) from compiler-rt to the tree recently, but did not connect them to the build yet. The requirements for these libraries are: * Must be built with clang, gcc (not even recent versions) can build them * Only make sense to build when either the cross-tools stage (e.g. the stuff installed under ${WORLDTMP}) has clang enabled, or when then final world has clang enabled. * The sanitizer libraries can only be built for i386 and amd64. * The profile library can only be built for i386, amd64 and LE arm. Apart from the bit of ugliness in lib/Makefile (which Warner does not like), there is also still a practical problem, which I have not been able to solve as of yet: On amd64, the build32 stage will now build the libclang_rt libraries, but due to ${LIB32IMAKE} containing MK_TOOLCHAIN=no, the install32 stage will *not* install them. I don't see any easy way around this, excect maybe partially reverting r264930, but that will get us back to the situation with NO_INCS, which Warner tried to avoid with that commit. Note that I also did not introduce yet another WITH_LIBCLANG_RT knob, since I don't really see the need: WITH_CLANG should basically always cause these libraries to be built and installed. However, if the general opinion is that another knob is good to have, I can implement it, and move the lib/Makefile ugliness to src.opts.mk instead. TEST PLAN Build and install in various situations. Do a bunch of runtime tests to ascertain the asan, ubsan and profile libraries can be found when building programs with -fsanitize=address, -fsanitize=undefined and -fprofile-generate, respectively. BRANCH /head REVISION DETAIL https://reviews.freebsd.org/D1505 AFFECTED FILES etc/mtree/BSD.usr.dist lib/Makefile lib/libclang_rt/Makefile tools/build/mk/OptionalObsoleteFiles.inc To: dim, andrew, bapt, emaste, imp Cc: freebsd-toolchain ___ freebsd-toolchain@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-toolchain To unsubscribe, send any mail to freebsd-toolchain-unsubscr...@freebsd.org
[Differential] [Accepted] D1468: Fix the ARM build of compiler-rt
dim accepted this revision. dim added a comment. Yes, this looks fine. Though it would be nice to somehow make use of some of these routines? E.g., clang can possibly insert calls to quicker VFP based primitives, if you compile with the correct CPU settings. BRANCH /head REVISION DETAIL https://reviews.freebsd.org/D1468 To: andrew, loos, sbruno, rpaulo, ian, imp, dim Cc: emaste, freebsd-toolchain ___ freebsd-toolchain@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-toolchain To unsubscribe, send any mail to freebsd-toolchain-unsubscr...@freebsd.org
[Differential] [Closed] D1446: Add the AArch64 llvm backend
dim closed this revision. dim updated this revision to Diff 3035. dim added a comment. Closed by commit rS276783 (authored by @dim). CHANGED PRIOR TO COMMIT https://reviews.freebsd.org/D1446?vs=3033id=3035#toc REVISION DETAIL https://reviews.freebsd.org/D1446 AFFECTED FILES head/lib/clang/Makefile head/lib/clang/clang.build.mk head/lib/clang/include/AArch64GenAsmMatcher.inc head/lib/clang/include/AArch64GenAsmWriter.inc head/lib/clang/include/AArch64GenAsmWriter1.inc head/lib/clang/include/AArch64GenCallingConv.inc head/lib/clang/include/AArch64GenDAGISel.inc head/lib/clang/include/AArch64GenDisassemblerTables.inc head/lib/clang/include/AArch64GenFastISel.inc head/lib/clang/include/AArch64GenInstrInfo.inc head/lib/clang/include/AArch64GenMCCodeEmitter.inc head/lib/clang/include/AArch64GenMCPseudoLowering.inc head/lib/clang/include/AArch64GenRegisterInfo.inc head/lib/clang/include/AArch64GenSubtargetInfo.inc head/lib/clang/include/llvm/Config/AsmParsers.def head/lib/clang/include/llvm/Config/AsmPrinters.def head/lib/clang/include/llvm/Config/Disassemblers.def head/lib/clang/include/llvm/Config/Targets.def head/lib/clang/libllvmaarch64asmparser/Makefile head/lib/clang/libllvmaarch64codegen/Makefile head/lib/clang/libllvmaarch64desc/Makefile head/lib/clang/libllvmaarch64disassembler/Makefile head/lib/clang/libllvmaarch64info/Makefile head/lib/clang/libllvmaarch64instprinter/Makefile head/lib/clang/libllvmaarch64utils/Makefile head/usr.bin/clang/clang/Makefile head/usr.bin/clang/llc/Makefile head/usr.bin/clang/lldb/Makefile head/usr.bin/clang/llvm-ar/Makefile head/usr.bin/clang/llvm-mc/Makefile head/usr.bin/clang/llvm-nm/Makefile head/usr.bin/clang/llvm-objdump/Makefile head/usr.bin/clang/llvm-rtdyld/Makefile head/usr.bin/clang/opt/Makefile To: dim, emaste, andrew Cc: freebsd-toolchain, emaste ___ freebsd-toolchain@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-toolchain To unsubscribe, send any mail to freebsd-toolchain-unsubscr...@freebsd.org
[Differential] [Commandeered] D1446: Add the AArch64 llvm backend
dim commandeered this revision. dim edited reviewers, added: andrew; removed: dim BRANCH /head REVISION DETAIL https://reviews.freebsd.org/D1446 To: dim, emaste, andrew Cc: freebsd-toolchain, emaste ___ freebsd-toolchain@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-toolchain To unsubscribe, send any mail to freebsd-toolchain-unsubscr...@freebsd.org
[Differential] [Commented On] D1446: Add the AArch64 llvm backend
dim added inline comments. BRANCH /head INLINE COMMENTS lib/clang/clang.build.mk:33 That should not be arm53, but arm64, obviously. REVISION DETAIL https://reviews.freebsd.org/D1446 To: andrew, emaste, dim Cc: freebsd-toolchain, emaste ___ freebsd-toolchain@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-toolchain To unsubscribe, send any mail to freebsd-toolchain-unsubscr...@freebsd.org