summaryrefslogtreecommitdiff
path: root/external/bsd/compiler_rt/lib
AgeCommit message (Collapse)Author
2023-06-03adapt to ${CC_WNO_STRINGOP_OVERFLOW}lukem
Use ${CC_WNO_STRINGOP_OVERFLOW} instead of the older style more complex expressions. Remove workarounds if they were only for gcc < 10.
2021-09-21centralize version handlingchristos
2021-09-17- get the version dynamicallychristos
- move more common stuff into common.mk
2021-09-16Move the sanitizer libraries from 9.0.0 -> 13.0.0 to match our current clangchristos
version.
2021-05-04compiler_rt: build .a.syms files as part of dependallrillig
The previous target 'all' is a top-level target intended to be specified by the user. During the regular build, 'dependall' is used instead of 'all'. The target 'realall' is common to those two.
2021-04-30compiler_rt: generate symbol table earlyrillig
These libraries have the special feature that they install both the .a library as well as the .a.syms that is generated from them. To avoid the transformation rule .a.a.syms to apply to the files in ${DESTDIR}, that rule has to be disabled during the installation phase. If the transformation rule were active during installation, the .a.syms file in ${DESTDIR} would have more than one possible source file, which eventually leads to an error during installation since in the command "install a b c", the last argument must be a directory, not a file. The installation phase should be as minimal as possible anyway, therefore move the generation of the .syms files to the build phase. This hopefully fixes the build for HAVE_LLVM=yes, which has been broken for several weeks now, at least for the official builds.
2021-04-20clang: fix build for installing libclang_rt.ubsan_minimal-x86_64.arillig
The build failed with: --- install-ubsan_minimal-m64 --- x86_64--netbsd-install: the last argument (/.../libclang_rt.ubsan_minimal-x86_64.a.syms) must name an existing directory The cause of this is that the suffix transformation rule for .a.a.sym was active even during 'make install'. At that point, the make variable .ALLSRC for the target ${DESTDIR}/.../libclang_rt.ubsan_minimal-x86_64.a.sym included not only the corresponding file from the source directory, but also the potential source file from the transformation rule, in this case libclang_rt.ubsan_minimal-x86_64.a. This led to several file parameters for the command 'install', which is only allowed if the last parameter names an existing directory.
2020-02-07Install LLVM sanitizers into usr/lib/clang/9.0.0kamil
2019-09-03Set NOLIBCSANITIZER for LLVM sanitizer runtimeskamil
Do not sanitize sanitizer runtimes.
2019-08-30Register syms.extra in LLVM sanitizer .syms fileskamil
syms.extra contain additional content that has to be shipped with these .syms files. At least libFuzzer requires the .syms files to be in order.
2019-08-27Enhance the support of LLVM sanitizerskamil
Define _REENTRANT for MKSANITIZER build. This is needed for at least stdio code. This caused new build issued with duplicated symbols in few places and rump kernel code picking different code paths borrowed from libc. Handle all this in one go. Add bsd.sanitizer.mk to share common code used by programs and libraries. Switch from realall to beforeinstall target in .syms files. This is more reliable in MKSANITIZER.
2019-08-26Correct the build rules of LLVM sanitizerskamil
Fix generation of .a.syms files in LLVM sanitizers. The old rules weren't functional and sometimes they were fatal in the build. Add the .a.syms files to distribution sets. These files are generated only in certain .a files in 64bit version of sanitizers. Correct the location of files with LLVM sanitizers. Move the LLVM sanitizer entries from base to comp files.
2019-08-25Rework the LLVM compiler_rt build ruleskamil
Register external/bsd/compiler_rt as a _SUBDIR. This will allow to handle properly includes specific for compiler_rt. Centralize build_install target for external/bsd/compiler_rt. With the above changes MKOBJDIR is now respected properly for me. Do not install LLVM sanitizers into TOOLDIR for !HAVE_LLVM.
2019-08-23Fix LLVM sanitizer build by GCC (HAVE_LLVM=no)kamil
Do not error if a priority from 0 to 100 is used for constructor or destructor. Use -Wno-error to silence all errors from this warning type. There should be used -Wno-prio-ctor-dtor, but it's not supported by GCC7.
2019-08-23Enhance MKSANITIZER supportkamil
Add i386 support for LLVM sanitizers. Add new build phases do-sanitizer-* for building LLVM sanitizers after libs and before other programs. This phase is important as sanitizers need to link with libs and sanitized programs must link with sanitizer runtimes.
2019-08-22Fix building compiler_rt with MKCOMPAT=no; approved by kamil@adam
2019-08-16Set NODEBUG for LLVM sanitizerskamil
The sanitizers are special purpose piece of software that needs customized build rules. Do not bother with generating debuginfo files for them. Fixes MKDEBUG=yes build
2019-08-15Ship with sanitizer/lsan_interface.h for LLVM 7kamil
Leak Sanitizer header is already needed in the distribution for built with Address Sanitizer (MKSANITIZER): - dist/llvm/utils/TableGen/TableGen.cpp - dist/clang/utils/TableGen/TableGen.cpp Next version of LLVM (9.0) will ship with LSan.
2019-08-08Add compiler-rt build rules for LLVM sanitizers &cokamil
Add build rules for LLVM in all the supported variations for NetBSD/amd64: - asan - xray - tsan, dd - libfuzzer - msan - safestack - ubsan These build rules compile functional sanitizers. The build rules are still not hooked into the distribution build, as there is pending work on backporting improvements for the llvm-8 branch needed for netbsd-9 and newer.