#
06c3fb27 |
|
02-Sep-2023 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-17-init-19304-gd0b54bb50e51 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project main llvmorg-17-init-19304-gd0b54bb50e51, the last commit before the upstream release/17.x branch was created. PR: 273753 MFC after: 1 month
|
#
78847e1e |
|
11-Sep-2023 |
Doug Rabson <dfr@FreeBSD.org> |
pkgbase: Move headers and libs out of runtime and utilities Headers from src/include were in the runtime-dev package but subdirectories of src/include ended up in utilities-dev by default. Neither package is a good choice - the headers in src/include are not useful without the libraries contained in clibs-dev. This moves the standard C headers to clibs-dev (C++ headers are already in this package). While working on this, I found that various clang libraries and headers were also bundled into utilities-dev by default so these are also moved to clang-dev. I also added a FreeBSD-build-essential meta package to make it simple to install all the toolchain parts. PR: 254173 Reviewed byb: manu MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D41815 |
#
d0b2dbfa |
|
16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: one-line sh pattern Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/ |
#
61ed578e |
|
04-Aug-2021 |
Mitchell Horne <mhorne@FreeBSD.org> |
Prefer MK_SSP=no to SSP_CFLAGS= It is more idiomatic. CFLAGS is only augmented with $SSP_CFLAGS when $MK_SSP != "no". Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D31401 |
#
7bc797e3 |
|
02-Aug-2021 |
Alex Richardson <arichardson@FreeBSD.org> |
Add build system support for ASAN+UBSAN instrumentation This adds two new options WITH_ASAN/WITH_UBSAN that can be set to enable instrumentation of all binaries with AddressSanitizer and/or UndefinedBehaviourSanitizer. This current patch is almost sufficient to get a complete buildworld with sanitizer instrumentation but in order to actually build and boot a system it depends on a few more follow-up commits. Reviewed By: brooks, kib, markj Differential Revision: https://reviews.freebsd.org/D31043 |
#
fe525d3f |
|
12-Mar-2021 |
Alex Richardson <arichardson@FreeBSD.org> |
Allow using sanitizers for ssp tests with out-of-tree compiler With an out-of-tree Clang, we can use the -resource-dir flag when linking to point it at the runtime libraries from the current SYSROOT. This moves the path to the clang-internal library directory to a separate .mk file that can be used by Makefiles that want to find the sanitizer libraries. I intend to re-use this .mk file for my upcoming changes that allow building the entire base system with ASAN/UBSAN/MSAN. Reviewed By: dim Differential Revision: https://reviews.freebsd.org/D28852 |
#
eaeb601b |
|
03-Jan-2021 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp release/11.x llvmorg-11.0.1-rc2-0-g43ff75f2c3f (aka 11.0.1 rc2). MFC after: 4 weeks X-MFC-With: r364284
|
#
48aaf27b |
|
06-Aug-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Update Makefiles under lib/clang and usr.bin/clang for 11.0.0 builds, and also bump the version in the mtree files. |
#
d65cd7a5 |
|
23-May-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp llvmorg-10.0.1-rc1-0-gf79cd71e145 (aka 10.0.1 rc1). MFC after: 3 weeks
|
#
fac6dee9 |
|
12-May-2020 |
Eric van Gyzen <vangyzen@FreeBSD.org> |
Remove tests for obsolete compilers in the build system Assume gcc is at least 6.4, the oldest xtoolchain in the ports tree. Assume clang is at least 6, which was in 11.2-RELEASE. Drop conditions for older compilers. Reviewed by: imp (earlier version), emaste, jhb MFC after: 2 weeks Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D24802 |
#
0af133f6 |
|
27-Jan-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Update build glue for libclang_rt. |
#
0b37c159 |
|
25-Jan-2020 |
Dimitry Andric <dim@FreeBSD.org> |
* Bump version numbers to 10.0.0 * Update UPDATING * Update (Optional)ObsoleteFiles.inc * Update VCS(Revision|Version) files * Update generated config headers * Update clang internal headers Makefile |
#
c14a5a88 |
|
22-Dec-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp 9.0.1 final release c1a0a213378a458fbea1a5c77b315c7dce08fd05. Release notes for llvm, clang, lld and libc++ 9.0.1 will become available here: https://releases.llvm.org/9.0.1/docs/ReleaseNotes.html https://releases.llvm.org/9.0.1/tools/clang/docs/ReleaseNotes.html https://releases.llvm.org/9.0.1/tools/lld/docs/ReleaseNotes.html https://releases.llvm.org/9.0.1/projects/libcxx/docs/ReleaseNotes.html PR: 240629 MFC after: 1 month
|
#
0b57cec5 |
|
20-Dec-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Move all sources from the llvm project into contrib/llvm-project. This uses the new layout of the upstream repository, which was recently migrated to GitHub, and converted into a "monorepo". That is, most of the earlier separate sub-projects with their own branches and tags were consolidated into one top-level directory, and are now branched and tagged together. Updating the vendor area to match this layout is next. |
#
1bb8eb56 |
|
23-Nov-2019 |
Dimitry Andric <dim@FreeBSD.org> |
libclang_rt: enable on powerpc* Summary: Enable on powerpc64 and in lib/libclang_rt/Makefile change MACHINE_CPUARCH to MACHINE_ARCH because on powerpc64 MACHINE_ARCH==MACHINE_CPUARCH so the 32-bit library overwrites 64-bit library during installworld. This patch doesn't enable any other libclang_rt libraries because they need to be separately ported. I have verified that games/julius (which fails on powerpc64 elfv2 without this change because of no libclang_rt profiling library) builds. Test Plan: Ship it, test on powerpc and powerpcspe Submitted by: pkubaj Reviewed by: dim, jhibbits Differential Revision: https://reviews.freebsd.org/D22425 MFC after: 1 month X-MFC-With: r353358 |
#
f57be329 |
|
01-Sep-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Update libclang_rt: * Add cfi, dd, fuzzer and xray * Update arch support * Update OptionalObsoleteFiles.inc |
#
72e1e271 |
|
23-Aug-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Change clang lib dir to 9.0.0. |
#
efc5c442 |
|
12-Jun-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Upgrade our copies of clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp to the upstream release_80 branch r363030 (effectively, 8.0.1 rc2). The 8.0.1 release should follow this within a week or so. MFC after: 2 weeks
|
#
e8067928 |
|
29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Standardize `-std=c++* as `CXXSTD` CXXSTD was added as the C++ analogue to CSTD. CXXSTD defaults to `-std=c++11` with supporting compilers; `-std=gnu++98`, otherwise for older versions of g++. This change standardizes the CXXSTD variable, originally added to googletest.test.inc.mk as part of r345203. As part of this effort, convert all `CXXFLAGS+= -std=*` calls to use `CXXSTD`. Notes: This value is not sanity checked in bsd.sys.mk, however, given the two most used C++ compilers on FreeBSD (clang++ and g++) support both modes, it is likely to work with both toolchains. This method will be refined in the future to support more variants of C++, as not all versions of clang++ and g++ (for instance) support C++14, C++17, etc. Any manual appending of `-std=*` to `CXXFLAGS` should be replaced with CXXSTD. Example: Before this commit: ``` CXXFLAGS+= -std=c++14 ``` After this commit: ``` CXXSTD= c++14 ``` Reviewed by: asomers Approved by: emaste (mentor) MFC after: 1 month MFC with: r345203, r345704, r345705 Relnotes: yes Tested with: make tinderbox Differential Revision: https://reviews.freebsd.org/D19732 |
#
bdbf3440 |
|
29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Revert r345706: the third time will be the charm When a review is closed via Phabricator it updates the patch attached to the review. I downloaded the raw patch from Phabricator, applied it, and repeated my mistake from r345704 by accident mixing content from D19732 and D19738. For my own personal sanity, I will try not to mix reviews like this in the future. MFC after: 1 month MFC with: r345706 Approved by: emaste (mentor, implicit) |
#
760b1a81 |
|
29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Standardize `-std=c++* as `CXXSTD` CXXSTD was added as the C++ analogue to CSTD. CXXSTD defaults to `-std=c++11` with supporting compilers; `-std=gnu++98`, otherwise for older versions of g++. This change standardizes the CXXSTD variable, originally added to googletest.test.inc.mk as part of r345203. As part of this effort, convert all `CXXFLAGS+= -std=*` calls to use `CXXSTD`. Notes: This value is not sanity checked in bsd.sys.mk, however, given the two most used C++ compilers on FreeBSD (clang++ and g++) support both modes, it is likely to work with both toolchains. This method will be refined in the future to support more variants of C++, as not all versions of clang++ and g++ (for instance) support C++14, C++17, etc. Any manual appending of `-std=*` to `CXXFLAGS` should be replaced with CXXSTD. Example: Before this commit: ``` CXXFLAGS+= -std=c++14 ``` After this commit: ``` CXXSTD= c++14 ``` Reviewed by: asomers Approved by: emaste (mentor) MFC after: 1 month MFC with: r345203, r345704, r345705 Relnotes: yes Tested with: make tinderbox Differential Revision: https://reviews.freebsd.org/D19732 |
#
752cabaa |
|
29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Revert r345704 I accidentally committed code from two reviews. I will reintroduce the code to bsd.progs.mk as part of a separate commit from r345704. Approved by: emaste (mentor, implicit) MFC after: 2 months MFC with: r345704 |
#
9a41926b |
|
29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
CXXSTD is the C++ analogue to CSTD. CXXSTD defaults to `-std=c++11` with supporting compilers; `-std=gnu++98`, otherwise for older versions of g++. This change standardizes the CXXSTD variable, originally added to googletest.test.inc.mk as part of r345203. As part of this effort, convert all `CXXFLAGS+= -std=*` calls to use `CXXSTD`. Notes: This value is not sanity checked in bsd.sys.mk, however, given the two most used C++ compilers on FreeBSD (clang++ and g++) support both modes, it is likely to work with both toolchains. This method will be refined in the future to support more variants of C++, as not all versions of clang++ and g++ (for instance) support C++14, C++17, etc. Any manual appending of `-std=*` to `CXXFLAGS` should be replaced with CXXSTD. Example: Before this commit: ``` CXXFLAGS+= -std=c++14 ``` After this commit: ``` CXXSTD= c++14 ``` Reviewed by: asomers Approved by: emaste (mentor) MFC after: 1 month Relnotes: yes Differential Revision: https://reviews.freebsd.org/D19732 |
#
0bf31f1f |
|
20-Jan-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Update version numbers, and regenerate config headers for llvm, clang, lld and lldb. Update ObsoleteFiles.inc and OptionalObsoleteFiles.inc. |
#
68948600 |
|
04-Nov-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm, clang, lld, lldb, compiler-rt and libc++ release_70 branch r346007 (effectively 7.0.1 rc2), resolve conflicts, and bump version numbers. PR: 230240, 230355
|
#
bbd7a929 |
|
04-Aug-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r336870 through r337285, and resolve conflicts.
|
#
52f9bacb |
|
03-Aug-2018 |
John Baldwin <jhb@FreeBSD.org> |
Install the 32-bit compat sanitizer libraries. The lib32 build was already building the i386 version of the clang sanitizers (libclang_rt) but they were not being installed. This enables the installation. MK_TOOLCHAIN=no was originally added to the install make environment to disable includes so that NO_INCS could be removed. The MK_TOOLCHAIN in bsd.incs.mk was subsequently renamed to MK_INCLUDES, but bsd.lib.mk doesn't even include bsd.incs.mk when LIBRARIES_ONLY is defined which the install make environment for compat libs now defines. However, setting MK_TOOLCHAIN=no forced MK_CLANG=no which disabled libclang_rt during the install32 phase. Remove MK_TOOLCHAIN=no since LIBRARIES_ONLY is now sufficient. Since the libcompat environment overrides both LIBDIR and SHLIBDIR, libclang_rt/Makefile.inc has to set both variables to force the libraries to be installed to the location expected by the compiler. Reviewed by: bdrewery, dim MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D16574 |
#
6dfa117f |
|
31-Jul-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Update llvm/clang version numbers in various files. |
#
55458465 |
|
30-Jun-2018 |
Dimitry Andric <dim@FreeBSD.org> |
More follow-up to r335799 (llvm/clang 6.0.1 update), where I forgot to update mtree files, ObsoleteFiles and a number of other paths. Sorry about all the breakage. Pointy hat to: me MFC after: 2 weeks X-MFC-With: r335799 |
#
fb142d88 |
|
23-Dec-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Next step in updating llvm/clang build glue: make libclang_rt build. |
#
507b79f9 |
|
20-Dec-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Update libclang_rt version number. |
#
d4419f6f |
|
02-Dec-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Upgrade our copies of clang, llvm, lldb and libc++ to r319231 from the upstream release_50 branch. This corresponds to 5.0.1 rc2. MFC after: 2 weeks
|
#
133637d5 |
|
02-Dec-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Make the assignment of CRTARCH conditional, even in the armhf case, and slightly rework the .if statement. While here, fix a minor typo. |
#
8f3b60c5 |
|
07-Nov-2017 |
Warner Losh <imp@FreeBSD.org> |
Correct the detection of hard float arm * Don't test MACHINE, it's irrelevant to userland and should never be used in userland Makefiles. * If we match armv[67] and CPUTYPE is undefined OR it doesn't have 'soft' in it, choose armhf. * Add a note that the soft float on armv[67] may be broken. Sponsored by: Netflix |
#
d61b3d7a |
|
06-Nov-2017 |
Enji Cooper <ngie@FreeBSD.org> |
Redo r325502 :U:Mfoo expands to :Mfoo, apparently. Explicit check for CPUTYPE being defined, and test for it's value not containing *soft* before calling CRTARCH armhf. Tested, somewhat. Unfortunately recent changes appear to have affected cross-builds where it no longer works, per my tests after universe12a being upgraded from 07/2017 to 11/2017 sources (DESTDIR isn't being used in WORLDTMP; MK_SYSTEM_COMPILER might be causing issues right now). MFC after: 1 week MFC with: r325502 Reported by: imp |
#
c03bb933 |
|
06-Nov-2017 |
Enji Cooper <ngie@FreeBSD.org> |
Handle arm/armv[67] hosted/targeted builds gracefully CPUTYPE (apparently) isn't defined in non-cross-builds, which caused arm/armv[67] hosted/targeted builds to fail when evaluating CPUTYPE. Add the :U modifier to CPUTYPE so it evaluates to "". This allows armv[67] to get past the conditional successfully. MFC after: 1 week Reported by: bob prohaska <fbsd@www.zefox.net> |
#
a2a14248 |
|
06-Nov-2017 |
Enji Cooper <ngie@FreeBSD.org> |
Use bsd.compiler.mk instead of src.opts.mk - MK_PROFILE is controlled in bsd.opts.mk, which is pulled in via bsd.own.mk, which is pulled in via bsd.init.mk . All upstream Makefiles which build off of this one use bsd.init.mk. - COMPILER_{TYPE,VERSION} is set via bsd.compiler.mk . This reduces the namespace pollution/complexity somewhat. MFC after: 1 week |
#
792bc222 |
|
05-Nov-2017 |
Enji Cooper <ngie@FreeBSD.org> |
Choose a simpler, more philosophically correct version for CRTARCH with armv[67] This is a rework of r325443. PR: 222925 Tested with: make buildenv with appropriate TARGET/TARGET_ARCH pairs |
#
c9c9774c |
|
05-Nov-2017 |
Enji Cooper <ngie@FreeBSD.org> |
Revert r325443 Despite the fact that it's a working solution, it doesn't follow the design philosophy of only doing TARGET_* in Makefile.inc1 and special locations in the source tree. PR: 222925 Requested by: imp |
#
571e134e |
|
05-Nov-2017 |
Enji Cooper <ngie@FreeBSD.org> |
Fix paths for cross-built versions of lib/libclang_rt and hardfloat arm variants - Define TARGET_CPUARCH and use in libclang_rt as the basis for CRTARCH When cross-compiling, the wrong architecture was being embedded in the libclang_rt binary filenames. It should be based on TARGET_ARCH (target), not MACHINE_ARCH (host). If TARGET_ARCH isn't defined (host-builds), fallback to MACHINE_ARCH. - Define CRTARCH to armhf when TARGET/TARGET_ARCH are set to arm/armv[67] TARGET_ABI/TARGET_CPU in Makefile.inc1 sets the ABI to gnueabihf, which affects the clang lookup path per `getArchNameForCompilerRTLib(..)` in contrib/llvm/tools/clang/lib/Driver/ToolChain.cpp, so chase clang and Linux's assumed naming convention for hard-float arm architectures. CROSSENV (in Makefile.inc1) sets CPUTYPE/MACHINE(_ARCH)? to the TARGET*-relevant values when building the `libraries` target, so test those variables instead. - Add OLD_FILES/OLD_LIBS entries for TARGET/TARGET_ARCH == arm/armv[67]. This impacts only arm/armv6 and arm/armv7. PR: 222925
|
#
a060f141 |
|
05-Nov-2017 |
Enji Cooper <ngie@FreeBSD.org> |
Support compiling lib/libclang_rt/profile a bit more with recent versions of gcc Several of the flags were being treated as CFLAGS, when they were actually technically CXXFLAGS. Move them there. Only apply -fno-sanitize=safe-stack with clang. PR: 223179 |
#
600da319 |
|
05-Nov-2017 |
Enji Cooper <ngie@FreeBSD.org> |
Simplify r325427 CROSSENV (in Makefile.inc1) sets CPUTYPE/MACHINE(_ARCH)? to the TARGET*-relevant values when building the `libraries` target. PR: 222925 |
#
7efeac5c |
|
05-Nov-2017 |
Enji Cooper <ngie@FreeBSD.org> |
Define CRTARCH to armhf when TARGET/TARGET_ARCH are set to arm/armv[67] TARGET_ABI/TARGET_CPU in Makefile.inc1 sets the ABI to gnueabihf, which affects the clang lookup path per getArchNameForCompilerRTLib(..) in contrib/llvm/tools/clang/lib/Driver/ToolChain.cpp . This is a follow up to r324873. PR: 222925 |
#
c547fc0f |
|
22-Oct-2017 |
Enji Cooper <ngie@FreeBSD.org> |
Support compiling lib/libclang_rt/profile with gcc Several of the flags were being treated as CFLAGS, when they were actually technically CXXFLAGS. Move them there. Also, only apply -fno-sanitize=safe-stack with clang. This is a draft diff. PR: 223179 |
#
69735ece |
|
22-Oct-2017 |
Enji Cooper <ngie@FreeBSD.org> |
Define TARGET_CPUARCH and use in libclang_rt as the basis for CRTARCH When cross-compiling, the wrong architecture was being embedded in the libclang_rt binary filenames. It should be based on TARGET_ARCH (target), not MACHINE_ARCH (host). This is a draft commit against my project branch. Will fix on ^/head soon. PR: 222925 |
#
5897d2f0 |
|
17-Apr-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Initial update of clang/llvm build glue, for building just a minimal clang executable. |
#
53fe1d28 |
|
05-Jan-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Adjust version numbers for the clang library directory. |
#
5b41a5b6 |
|
25-Nov-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Update build glue for llvm/clang 3.9.1. |
#
53b715b5 |
|
03-Sep-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Update compiler-rt to 3.9.0 release, and update the build glue for libcompiler_rt and libclang_rt.
|
#
7fff4413 |
|
19-Aug-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Update build glue for clang and the llvm/clang extras. |
#
802df53c |
|
30-Dec-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Update various build glue files for the new llvm/clang version number. |
#
9a4b3118 |
|
25-Dec-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Upgrade our copies of clang and llvm to 3.7.1 release. This is a bugfix-only release, with no new features. Please note that from 3.5.0 onwards, clang and llvm require C++11 support to build; see UPDATING for more information.
|
#
85ab8f98 |
|
29-Nov-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Install the public sanitizer headers. These are useful for programs that want to directly interface with sanitizer internals. |
#
85279087 |
|
10-Sep-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Update compiler-rt to 3.7.0 release. This also includes the sanitizer and profile libraries.
|
#
ebeff3f9 |
|
30-May-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Update Makefiles and other build glue for llvm/clang 3.7.0, as of trunk r238337. |
#
ef6fa9e2 |
|
25-May-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Upgrade our copy of clang and llvm to 3.6.1 release. This release contains the following cherry-picked revisions from upstream trunk: 226124 226151 226164 226165 226166 226407 226408 226409 226652 226905 226983 227084 227087 227089 227208 227209 227210 227211 227212 227213 227214 227269 227430 227482 227503 227519 227574 227822 227986 227987 227988 227989 227990 228037 228038 228039 228040 228188 228189 228190 228273 228372 228373 228374 228403 228765 228848 228918 229223 229225 229226 229227 229228 229230 229234 229235 229236 229238 229239 229413 229507 229680 229750 229751 229752 229911 230146 230147 230235 230253 230255 230469 230500 230564 230603 230657 230742 230748 230956 231219 231237 231245 231259 231280 231451 231563 231601 231658 231659 231662 231984 231986 232046 232085 232142 232176 232179 232189 232382 232386 232389 232425 232438 232443 232675 232786 232797 232943 232957 233075 233080 233351 233353 233409 233410 233508 233584 233819 233904 234629 234636 234891 234975 234977 235524 235641 235662 235931 236099 236306 236307 Please note that from 3.5.0 onwards, clang and llvm require C++11 support to build; see UPDATING for more information.
|
#
7ff61602 |
|
22-Feb-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Update compiler-rt to trunk r228651. This enables using Address Sanitizer and Undefined Behavior Sanitizer with clang 3.6.0.
|
#
1ae6788e |
|
26-Jan-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Update llvm and clang library and binary Makefiles for 3.6.0 rc1. |
#
9cac79b3 |
|
18-Jan-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Upgrade our copy of clang and llvm to 3.5.1 release. This is a bugfix only release, no new features have been added. Please note that this version requires C++11 support to build; see UPDATING for more information. Release notes for llvm and clang can be found here: <http://llvm.org/releases/3.5.1/docs/ReleaseNotes.html> <http://llvm.org/releases/3.5.1/tools/clang/docs/ReleaseNotes.html> MFC after: 1 month X-MFC-With: 276479
|
#
91d03e2e |
|
08-Jan-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Now compiler-rt has been updated in r276851, bring in the various sanitizer libraries that already work on FreeBSD: * asan: Address Sanitizer * ubsan: Undefined Behavior Sanitizer * profile: Profile Guided Optimization support Please note that these libraries are *experimental* at this stage, so the main Makefile is not yet connected to the build. Since I didn't want to needlessly edit BSD.usr.dist, you will also have to create the install directory /usr/lib/clang/3.5.0/lib/freebsd manually for now. |
#
78847e1e |
|
11-Sep-2023 |
Doug Rabson <dfr@FreeBSD.org> |
pkgbase: Move headers and libs out of runtime and utilities Headers from src/include were in the runtime-dev package but subdirectories of src/include ended up in utilities-dev by default. Neither package is a good choice - the headers in src/include are not useful without the libraries contained in clibs-dev. This moves the standard C headers to clibs-dev (C++ headers are already in this package). While working on this, I found that various clang libraries and headers were also bundled into utilities-dev by default so these are also moved to clang-dev. I also added a FreeBSD-build-essential meta package to make it simple to install all the toolchain parts. PR: 254173 Reviewed byb: manu MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D41815
|
#
d0b2dbfa |
|
16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: one-line sh pattern Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
|
#
61ed578e |
|
04-Aug-2021 |
Mitchell Horne <mhorne@FreeBSD.org> |
Prefer MK_SSP=no to SSP_CFLAGS= It is more idiomatic. CFLAGS is only augmented with $SSP_CFLAGS when $MK_SSP != "no". Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D31401
|
#
7bc797e3 |
|
02-Aug-2021 |
Alex Richardson <arichardson@FreeBSD.org> |
Add build system support for ASAN+UBSAN instrumentation This adds two new options WITH_ASAN/WITH_UBSAN that can be set to enable instrumentation of all binaries with AddressSanitizer and/or UndefinedBehaviourSanitizer. This current patch is almost sufficient to get a complete buildworld with sanitizer instrumentation but in order to actually build and boot a system it depends on a few more follow-up commits. Reviewed By: brooks, kib, markj Differential Revision: https://reviews.freebsd.org/D31043
|
#
fe525d3f |
|
12-Mar-2021 |
Alex Richardson <arichardson@FreeBSD.org> |
Allow using sanitizers for ssp tests with out-of-tree compiler With an out-of-tree Clang, we can use the -resource-dir flag when linking to point it at the runtime libraries from the current SYSROOT. This moves the path to the clang-internal library directory to a separate .mk file that can be used by Makefiles that want to find the sanitizer libraries. I intend to re-use this .mk file for my upcoming changes that allow building the entire base system with ASAN/UBSAN/MSAN. Reviewed By: dim Differential Revision: https://reviews.freebsd.org/D28852
|
#
48aaf27b |
|
06-Aug-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Update Makefiles under lib/clang and usr.bin/clang for 11.0.0 builds, and also bump the version in the mtree files.
|
#
fac6dee9 |
|
12-May-2020 |
Eric van Gyzen <vangyzen@FreeBSD.org> |
Remove tests for obsolete compilers in the build system Assume gcc is at least 6.4, the oldest xtoolchain in the ports tree. Assume clang is at least 6, which was in 11.2-RELEASE. Drop conditions for older compilers. Reviewed by: imp (earlier version), emaste, jhb MFC after: 2 weeks Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D24802
|
#
0af133f6 |
|
27-Jan-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Update build glue for libclang_rt.
|
#
0b37c159 |
|
25-Jan-2020 |
Dimitry Andric <dim@FreeBSD.org> |
* Bump version numbers to 10.0.0 * Update UPDATING * Update (Optional)ObsoleteFiles.inc * Update VCS(Revision|Version) files * Update generated config headers * Update clang internal headers Makefile
|
#
0b57cec5 |
|
20-Dec-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Move all sources from the llvm project into contrib/llvm-project. This uses the new layout of the upstream repository, which was recently migrated to GitHub, and converted into a "monorepo". That is, most of the earlier separate sub-projects with their own branches and tags were consolidated into one top-level directory, and are now branched and tagged together. Updating the vendor area to match this layout is next.
|
#
1bb8eb56 |
|
23-Nov-2019 |
Dimitry Andric <dim@FreeBSD.org> |
libclang_rt: enable on powerpc* Summary: Enable on powerpc64 and in lib/libclang_rt/Makefile change MACHINE_CPUARCH to MACHINE_ARCH because on powerpc64 MACHINE_ARCH==MACHINE_CPUARCH so the 32-bit library overwrites 64-bit library during installworld. This patch doesn't enable any other libclang_rt libraries because they need to be separately ported. I have verified that games/julius (which fails on powerpc64 elfv2 without this change because of no libclang_rt profiling library) builds. Test Plan: Ship it, test on powerpc and powerpcspe Submitted by: pkubaj Reviewed by: dim, jhibbits Differential Revision: https://reviews.freebsd.org/D22425 MFC after: 1 month X-MFC-With: r353358
|
#
f57be329 |
|
01-Sep-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Update libclang_rt: * Add cfi, dd, fuzzer and xray * Update arch support * Update OptionalObsoleteFiles.inc
|
#
72e1e271 |
|
23-Aug-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Change clang lib dir to 9.0.0.
|
#
e8067928 |
|
29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Standardize `-std=c++* as `CXXSTD` CXXSTD was added as the C++ analogue to CSTD. CXXSTD defaults to `-std=c++11` with supporting compilers; `-std=gnu++98`, otherwise for older versions of g++. This change standardizes the CXXSTD variable, originally added to googletest.test.inc.mk as part of r345203. As part of this effort, convert all `CXXFLAGS+= -std=*` calls to use `CXXSTD`. Notes: This value is not sanity checked in bsd.sys.mk, however, given the two most used C++ compilers on FreeBSD (clang++ and g++) support both modes, it is likely to work with both toolchains. This method will be refined in the future to support more variants of C++, as not all versions of clang++ and g++ (for instance) support C++14, C++17, etc. Any manual appending of `-std=*` to `CXXFLAGS` should be replaced with CXXSTD. Example: Before this commit: ``` CXXFLAGS+= -std=c++14 ``` After this commit: ``` CXXSTD= c++14 ``` Reviewed by: asomers Approved by: emaste (mentor) MFC after: 1 month MFC with: r345203, r345704, r345705 Relnotes: yes Tested with: make tinderbox Differential Revision: https://reviews.freebsd.org/D19732
|
#
bdbf3440 |
|
29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Revert r345706: the third time will be the charm When a review is closed via Phabricator it updates the patch attached to the review. I downloaded the raw patch from Phabricator, applied it, and repeated my mistake from r345704 by accident mixing content from D19732 and D19738. For my own personal sanity, I will try not to mix reviews like this in the future. MFC after: 1 month MFC with: r345706 Approved by: emaste (mentor, implicit)
|
#
760b1a81 |
|
29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Standardize `-std=c++* as `CXXSTD` CXXSTD was added as the C++ analogue to CSTD. CXXSTD defaults to `-std=c++11` with supporting compilers; `-std=gnu++98`, otherwise for older versions of g++. This change standardizes the CXXSTD variable, originally added to googletest.test.inc.mk as part of r345203. As part of this effort, convert all `CXXFLAGS+= -std=*` calls to use `CXXSTD`. Notes: This value is not sanity checked in bsd.sys.mk, however, given the two most used C++ compilers on FreeBSD (clang++ and g++) support both modes, it is likely to work with both toolchains. This method will be refined in the future to support more variants of C++, as not all versions of clang++ and g++ (for instance) support C++14, C++17, etc. Any manual appending of `-std=*` to `CXXFLAGS` should be replaced with CXXSTD. Example: Before this commit: ``` CXXFLAGS+= -std=c++14 ``` After this commit: ``` CXXSTD= c++14 ``` Reviewed by: asomers Approved by: emaste (mentor) MFC after: 1 month MFC with: r345203, r345704, r345705 Relnotes: yes Tested with: make tinderbox Differential Revision: https://reviews.freebsd.org/D19732
|
#
752cabaa |
|
29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Revert r345704 I accidentally committed code from two reviews. I will reintroduce the code to bsd.progs.mk as part of a separate commit from r345704. Approved by: emaste (mentor, implicit) MFC after: 2 months MFC with: r345704
|
#
9a41926b |
|
29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
CXXSTD is the C++ analogue to CSTD. CXXSTD defaults to `-std=c++11` with supporting compilers; `-std=gnu++98`, otherwise for older versions of g++. This change standardizes the CXXSTD variable, originally added to googletest.test.inc.mk as part of r345203. As part of this effort, convert all `CXXFLAGS+= -std=*` calls to use `CXXSTD`. Notes: This value is not sanity checked in bsd.sys.mk, however, given the two most used C++ compilers on FreeBSD (clang++ and g++) support both modes, it is likely to work with both toolchains. This method will be refined in the future to support more variants of C++, as not all versions of clang++ and g++ (for instance) support C++14, C++17, etc. Any manual appending of `-std=*` to `CXXFLAGS` should be replaced with CXXSTD. Example: Before this commit: ``` CXXFLAGS+= -std=c++14 ``` After this commit: ``` CXXSTD= c++14 ``` Reviewed by: asomers Approved by: emaste (mentor) MFC after: 1 month Relnotes: yes Differential Revision: https://reviews.freebsd.org/D19732
|
#
0bf31f1f |
|
20-Jan-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Update version numbers, and regenerate config headers for llvm, clang, lld and lldb. Update ObsoleteFiles.inc and OptionalObsoleteFiles.inc.
|
#
52f9bacb |
|
03-Aug-2018 |
John Baldwin <jhb@FreeBSD.org> |
Install the 32-bit compat sanitizer libraries. The lib32 build was already building the i386 version of the clang sanitizers (libclang_rt) but they were not being installed. This enables the installation. MK_TOOLCHAIN=no was originally added to the install make environment to disable includes so that NO_INCS could be removed. The MK_TOOLCHAIN in bsd.incs.mk was subsequently renamed to MK_INCLUDES, but bsd.lib.mk doesn't even include bsd.incs.mk when LIBRARIES_ONLY is defined which the install make environment for compat libs now defines. However, setting MK_TOOLCHAIN=no forced MK_CLANG=no which disabled libclang_rt during the install32 phase. Remove MK_TOOLCHAIN=no since LIBRARIES_ONLY is now sufficient. Since the libcompat environment overrides both LIBDIR and SHLIBDIR, libclang_rt/Makefile.inc has to set both variables to force the libraries to be installed to the location expected by the compiler. Reviewed by: bdrewery, dim MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D16574
|
#
6dfa117f |
|
31-Jul-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Update llvm/clang version numbers in various files.
|
#
55458465 |
|
30-Jun-2018 |
Dimitry Andric <dim@FreeBSD.org> |
More follow-up to r335799 (llvm/clang 6.0.1 update), where I forgot to update mtree files, ObsoleteFiles and a number of other paths. Sorry about all the breakage. Pointy hat to: me MFC after: 2 weeks X-MFC-With: r335799
|
#
fb142d88 |
|
23-Dec-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Next step in updating llvm/clang build glue: make libclang_rt build.
|
#
507b79f9 |
|
20-Dec-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Update libclang_rt version number.
|
#
133637d5 |
|
02-Dec-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Make the assignment of CRTARCH conditional, even in the armhf case, and slightly rework the .if statement. While here, fix a minor typo.
|
#
8f3b60c5 |
|
07-Nov-2017 |
Warner Losh <imp@FreeBSD.org> |
Correct the detection of hard float arm * Don't test MACHINE, it's irrelevant to userland and should never be used in userland Makefiles. * If we match armv[67] and CPUTYPE is undefined OR it doesn't have 'soft' in it, choose armhf. * Add a note that the soft float on armv[67] may be broken. Sponsored by: Netflix
|
#
d61b3d7a |
|
06-Nov-2017 |
Enji Cooper <ngie@FreeBSD.org> |
Redo r325502 :U:Mfoo expands to :Mfoo, apparently. Explicit check for CPUTYPE being defined, and test for it's value not containing *soft* before calling CRTARCH armhf. Tested, somewhat. Unfortunately recent changes appear to have affected cross-builds where it no longer works, per my tests after universe12a being upgraded from 07/2017 to 11/2017 sources (DESTDIR isn't being used in WORLDTMP; MK_SYSTEM_COMPILER might be causing issues right now). MFC after: 1 week MFC with: r325502 Reported by: imp
|
#
c03bb933 |
|
06-Nov-2017 |
Enji Cooper <ngie@FreeBSD.org> |
Handle arm/armv[67] hosted/targeted builds gracefully CPUTYPE (apparently) isn't defined in non-cross-builds, which caused arm/armv[67] hosted/targeted builds to fail when evaluating CPUTYPE. Add the :U modifier to CPUTYPE so it evaluates to "". This allows armv[67] to get past the conditional successfully. MFC after: 1 week Reported by: bob prohaska <fbsd@www.zefox.net>
|
#
a2a14248 |
|
06-Nov-2017 |
Enji Cooper <ngie@FreeBSD.org> |
Use bsd.compiler.mk instead of src.opts.mk - MK_PROFILE is controlled in bsd.opts.mk, which is pulled in via bsd.own.mk, which is pulled in via bsd.init.mk . All upstream Makefiles which build off of this one use bsd.init.mk. - COMPILER_{TYPE,VERSION} is set via bsd.compiler.mk . This reduces the namespace pollution/complexity somewhat. MFC after: 1 week
|
#
792bc222 |
|
05-Nov-2017 |
Enji Cooper <ngie@FreeBSD.org> |
Choose a simpler, more philosophically correct version for CRTARCH with armv[67] This is a rework of r325443. PR: 222925 Tested with: make buildenv with appropriate TARGET/TARGET_ARCH pairs
|
#
c9c9774c |
|
05-Nov-2017 |
Enji Cooper <ngie@FreeBSD.org> |
Revert r325443 Despite the fact that it's a working solution, it doesn't follow the design philosophy of only doing TARGET_* in Makefile.inc1 and special locations in the source tree. PR: 222925 Requested by: imp
|
#
a060f141 |
|
05-Nov-2017 |
Enji Cooper <ngie@FreeBSD.org> |
Support compiling lib/libclang_rt/profile a bit more with recent versions of gcc Several of the flags were being treated as CFLAGS, when they were actually technically CXXFLAGS. Move them there. Only apply -fno-sanitize=safe-stack with clang. PR: 223179
|
#
600da319 |
|
05-Nov-2017 |
Enji Cooper <ngie@FreeBSD.org> |
Simplify r325427 CROSSENV (in Makefile.inc1) sets CPUTYPE/MACHINE(_ARCH)? to the TARGET*-relevant values when building the `libraries` target. PR: 222925
|
#
7efeac5c |
|
05-Nov-2017 |
Enji Cooper <ngie@FreeBSD.org> |
Define CRTARCH to armhf when TARGET/TARGET_ARCH are set to arm/armv[67] TARGET_ABI/TARGET_CPU in Makefile.inc1 sets the ABI to gnueabihf, which affects the clang lookup path per getArchNameForCompilerRTLib(..) in contrib/llvm/tools/clang/lib/Driver/ToolChain.cpp . This is a follow up to r324873. PR: 222925
|
#
c547fc0f |
|
22-Oct-2017 |
Enji Cooper <ngie@FreeBSD.org> |
Support compiling lib/libclang_rt/profile with gcc Several of the flags were being treated as CFLAGS, when they were actually technically CXXFLAGS. Move them there. Also, only apply -fno-sanitize=safe-stack with clang. This is a draft diff. PR: 223179
|
#
69735ece |
|
22-Oct-2017 |
Enji Cooper <ngie@FreeBSD.org> |
Define TARGET_CPUARCH and use in libclang_rt as the basis for CRTARCH When cross-compiling, the wrong architecture was being embedded in the libclang_rt binary filenames. It should be based on TARGET_ARCH (target), not MACHINE_ARCH (host). This is a draft commit against my project branch. Will fix on ^/head soon. PR: 222925
|
#
5897d2f0 |
|
17-Apr-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Initial update of clang/llvm build glue, for building just a minimal clang executable.
|
#
53fe1d28 |
|
05-Jan-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Adjust version numbers for the clang library directory.
|
#
5b41a5b6 |
|
25-Nov-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Update build glue for llvm/clang 3.9.1.
|
#
7fff4413 |
|
19-Aug-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Update build glue for clang and the llvm/clang extras.
|
#
802df53c |
|
30-Dec-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Update various build glue files for the new llvm/clang version number.
|
#
85ab8f98 |
|
29-Nov-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Install the public sanitizer headers. These are useful for programs that want to directly interface with sanitizer internals.
|
#
ebeff3f9 |
|
30-May-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Update Makefiles and other build glue for llvm/clang 3.7.0, as of trunk r238337.
|
#
1ae6788e |
|
26-Jan-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Update llvm and clang library and binary Makefiles for 3.6.0 rc1.
|
#
91d03e2e |
|
08-Jan-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Now compiler-rt has been updated in r276851, bring in the various sanitizer libraries that already work on FreeBSD: * asan: Address Sanitizer * ubsan: Undefined Behavior Sanitizer * profile: Profile Guided Optimization support Please note that these libraries are *experimental* at this stage, so the main Makefile is not yet connected to the build. Since I didn't want to needlessly edit BSD.usr.dist, you will also have to create the install directory /usr/lib/clang/3.5.0/lib/freebsd manually for now.
|