summaryrefslogtreecommitdiff
path: root/make
AgeCommit message (Collapse)Author
2016-01-26Remove autoconf support for building runtime libraries.Chris Bieneman
Summary: This patch is provided in preparation for removing autoconf on 1/26. The proposal to remove autoconf on 1/26 was discussed on the llvm-dev thread here: http://lists.llvm.org/pipermail/llvm-dev/2016-January/093875.html "I am the punishment of God... If [autoconf] had not committed great sins, God would not have sent a punishment like me upon [it]." -Genghis Khan Reviewers: chandlerc, grosbach, bob.wilson, zaks.anna, kubabrecka, samsonov, echristo Subscribers: iains, llvm-commits Differential Revision: http://reviews.llvm.org/D16473 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@258863 91177308-0d34-0410-b5e6-96231b3b80d8
2015-12-10[PGO] Split value profiling runtime into its own fileXinliang David Li
Value profile runtime depends on libc which breaks buffer API implemenation with current file organization. Test case is also updated to check more symbols. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@255294 91177308-0d34-0410-b5e6-96231b3b80d8
2015-11-20Mention new InstrProfilingWriter file in clang_{darwin|linux}.mkMatthias Braun
I hope this fixes our internal buildbots (rdar://23614130) git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@253735 91177308-0d34-0410-b5e6-96231b3b80d8
2015-11-13compiler-rt: add make solution to bootstrap mingw-w64Martell Malone
Differential Revision: http://reviews.llvm.org/D14290 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@252976 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-05[compiler-rt] Properly detect lack of available system libraries for arch in ↵Keno Fischer
clang_darwin.mk Summary: This is the Makefile analog of r247833, except that the test also had to be changed such that clang actually attempts to link the program as opposed to just building it. Because of that change, I also switched the order to checking for ld/clang architecture support, because now lack of ld support would make the clang check fail. This fixes PR24776. Reviewers: beanz Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D13425 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@249358 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-24[autoconf] Fixing a bug I introduced r248441Chris Bieneman
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@248529 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-23[darwin] [builtins] Stop generating cc_kext_ios5 and move iOS architectures ↵Chris Bieneman
out of cc_kext into cc_kext_ios Summary: Xcode 7 doesn't support targeting iOS5 and earlier. Instead of just dropping cc_kext_ios5, I've repurposed it to cc_kext_ios, and I'm pulling the iOS architectures out of cc_kext. Putting OS X and iOS slices inside the same archive was just odd. There is a cooresponding clang change coming too. Reviewers: bogner, bob.wilson Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D13112 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@248441 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-08[autoconf] Add __umodti3 to iOS builtins for arm64.Chris Bieneman
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@247026 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-01[autoconf] Add ___udivti3 to iOS builtinsChris Bieneman
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@246599 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-13profile: Autoconf build system support for r241824Justin Bogner
r241824 didn't update the autoconf build system to handle the new file in the profile library. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@242013 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-20[darwin] fix libcompiler_rt.dylib buildNick Kledzik
The dylib build of compiler-rt has been broken on darwin since the directory restructuring to push some things down into /builtins/. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@237848 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-14[Builtins] Wire half-precision conversions through cc_kext makefiles.Ahmed Bougacha
Kernel side of r237329. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@237330 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-14[Builtins] Wire half-precision conversions through Darwin makefiles.Ahmed Bougacha
Follow-up to r237161, modeled after r236805. Note that arm64 is omitted on purpose, as the conversions are supported natively there. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@237329 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-08builtins: Implement the functions from stdatomic.hJustin Bogner
Talking to John and Doug, we concluded that these functions from stdatomic really do belong here in compiler-rt rather than in libc, since the compiler owns stdatomic.h and these need to refer to clang-specific builtins. Nonetheless, I've only added these on darwin for now - other platforms should probably do the same unless their libc does implement these functions. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@236805 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-19Include __mulodi4 in the 32-bit ARM versions of libclang_rt.cc_kext.a.Bob Wilson
This is needed when building the Darwin kernel with -fsanitize=undefined-trap. rdar://problem/12783702 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@235270 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-01[UBSan] Embed UBSan into ASan runtime (compiler-rt part).Alexey Samsonov
Summary: Change the way we use ASan and UBSan together. Instead of keeping two separate runtimes (libclang_rt.asan and libclang_rt.ubsan), embed UBSan into ASan and get rid of libclang_rt.ubsan. If UBSan is not supported on a platform, all UBSan sources are just compiled into dummy empty object files. UBSan initialization code (e.g. flag parsing) is directly called from ASan initialization, so we are able to enforce correct initialization order. This mirrors the approach we already use for ASan+LSan. This change doesn't modify the way we use standalone UBSan. Test Plan: regression test suite Reviewers: kubabrecka, zaks.anna, rsmith, kcc Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D8646 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@233861 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-25On OS X, explicitly use libc++Kuba Brecka
For OS X builds, both Make and CMake, let's be very explicit about using libc++ and libc++abi with: 1) -stdlib=libc++ in CFLAGS and LDFLAGS for all platforms 2) -lc++ in LDFLAGS for all platforms 3) switch from -undefined dynamic_lookup to -lc++abi for UBSan in Makefile-based builds Reviewed at http://reviews.llvm.org/D8617 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@233215 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-24Revert "Revert "[UBSan] Use shared library for UBSan on OS X" and its followup"Alexey Samsonov
Fix the build/tests by providing -lc++abi for UBSan runtime only. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@233122 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-24Revert "[UBSan] Use shared library for UBSan on OS X" and its followupJustin Bogner
This change caused test failures on darwin, and the followup which was meant to fix those caused compiler-rt to start failing to link. Reverting to get the build working again. This reverts r233071 and r233036. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@233097 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-23[UBSan] Use shared library for UBSan on OS X (compiler-rt part).Alexey Samsonov
Summary: Switch to shared library for UBSan. Add support for building UBSan on OSX and iossim by cargo-culting ASan build rules. Test Plan: regression test suite Reviewers: zaks.anna, kubabrecka Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D8473 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@233036 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-28build: remove the stub linux SDKSaleem Abdulrasool
The SDK is insufficient to really build much. The builtins can be built standalone now which is what the stub SDK was meant to permit. Remove the unnecessary files. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@230869 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-28Fix OS X build failure with Command Line Tools and without full Xcode ↵Kuba Brecka
installation On OS X, if you don't have a full Xcode installation, but just the Command Line Tools package, xcrun and xcodebuild don't return a valid SDK root path. In these cases, let's use "/" as the SDK root (which is where the headers and libraries are installed). Reviewed at http://reviews.llvm.org/D7641 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@230847 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-18Remove support for building sanitizers from Makefile/autoconf build on Linux.Alexey Samsonov
This is a re-application of r229554 restricted to Linux build only. Apple still uses Makefile/autoconf to build Clang and sanitizers. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@229756 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-17Revert "Remove support for building sanitizers from Makefile/autoconf build."Matthias Braun
This reverts commit r229556. Reverting this for now as internal apple builds rely on this functionality. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@229585 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-17Remove support for building sanitizers from Makefile/autoconf build.Alexey Samsonov
They autotools build has a number of missing features, supports less OS, architectures, build configurations, doesn't have any tests and is hard to support in sync with CMake build. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@229556 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-29[compiler-rt] OS X: Update the CMake and Make builds to explicitely use ↵Kuba Brecka
libc++, mmacosx-version-min and SDKs In both CMake and Makefiles, we are inconsistent about the use of libstdc++ vs. libc++, SDKs and minimum deployment targets for OS X. Let's fix the detection of SDKs, and let's explicitely set that we link against libc++ and mmacosx-version-min is 10.7. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@227509 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-27profile: add lib/profile to cc_kext on darwin,arm64Justin Bogner
These functions are already present in the cc_kext for arm32 and for x86 and x86_64. It was an oversight that they were not included for arm64. Based on a patch by Lawrence D'Anna. Thanks! git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@227206 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-23[compiler-rt] Ensure AsanInitFromRtl is called from a static initializer on ↵Kuba Brecka
OS X by using ASAN_DYNAMIC=1 The idea is to ensure that the ASan runtime gets initialized early (i.e. before other initializers/constructors) even when DYLD_INSERT_LIBRARIES is not used. In that case, the interceptors are not installed (on OS X, DYLD_INSERT_LIBRARIES is required for interceptors to work), and therefore ASan gets currently initialized quite late -- from the main executable's module initializer. The following issues are a consequence of this: https://code.google.com/p/address-sanitizer/issues/detail?id=363 https://code.google.com/p/address-sanitizer/issues/detail?id=357 Both of them are fixed with this patch. Reviewed at http://reviews.llvm.org/D7117 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@226929 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-06Add 64-bit multiply functions to iOS arm64 compiler-rt dylibNick Kledzik
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@225226 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-29Remove darwin_fat.mk.Alexey Samsonov
Summary: Its seems to be replaced by clang_darwin.mk in the Makefile-based build, and is only referenced in unittest scripts, which are broken for a long time now. Test Plan: n/a Reviewers: bob.wilson Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D6574 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@224946 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-15profile: Add the relevant parts of lib/profile to cc_kext on darwinJustin Bogner
Patch by Lawrence D'Anna. Thanks! git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@224270 91177308-0d34-0410-b5e6-96231b3b80d8
2014-11-28[asan] Remove the local copy of Android ucontext.h.Evgeniy Stepanov
This header is present in the r10c release of the NDK. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@222915 91177308-0d34-0410-b5e6-96231b3b80d8
2014-11-11Add a missing parenthesis mistakenly dropped in r221621.Bob Wilson
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@221656 91177308-0d34-0410-b5e6-96231b3b80d8
2014-11-10Clean up indentation after previous change.Bob Wilson
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@221622 91177308-0d34-0410-b5e6-96231b3b80d8
2014-11-10Build Darwin libclang_rt libraries against real SDKs.Bob Wilson
The minimal fake SDK was very useful in allowing us to build for all Darwin platforms without needing access to the real SDKs, but it did not support building any of the sanitizer runtimes. It's important to fix that. As a consequence, if you don't have the iOS SDKs installed, we will now skip building the iOS-specific libclang_rt libraries. rdar://problem/18825276 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@221621 91177308-0d34-0410-b5e6-96231b3b80d8
2014-11-10Do not build a separate x86_64h Haswell slice for the iOS simulator.Bob Wilson
r199996 added new x86_64h slices for all the Darwin compiler_rt libraries that had an x86_64 slice, but that is overkill for the iOS Simulator platform where the x86_64h slice is never used. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@221610 91177308-0d34-0410-b5e6-96231b3b80d8
2014-11-07Use @rpath for ASan dylib in MakefilesKuba Brecka
Reviewed at http://reviews.llvm.org/D6176 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@221556 91177308-0d34-0410-b5e6-96231b3b80d8
2014-10-14Add complex multiply/divide functions to arm64 iOS libclang_rt libraries.Bob Wilson
Clang r219557 introduces libcalls to complex multiply/divide functions. Since these functions are not available in iOS for arm64 devices, add them to the static libraries. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@219715 91177308-0d34-0410-b5e6-96231b3b80d8
2014-10-08AArch64: don't just hack arm64 support into compiler-rt.Tim Northover
We should check whether the compiler & linker support ARM64 before attempting to build a version of compiler-rt for it. Otherwise things will go badly. rdar://problem/18575597 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@219332 91177308-0d34-0410-b5e6-96231b3b80d8
2014-10-08AArch64: add support for ARM64 iOS versions of compiler-rt.Tim Northover
Just a dummy directory and a few sane choices in the Darwin SDK. rdar://problem/18575597 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@219323 91177308-0d34-0410-b5e6-96231b3b80d8
2014-10-08[ASan] Bump the minimum OSX version required to run ASan to 10.7.Alexander Potapenko
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@219302 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-10Fix configure+make build of profile runtime libraryAlexey Samsonov
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@212665 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-22Unify the name of compiler-rt builtins library on Linux.Alexey Samsonov
Call it "libclang_rt.builtins-<arch>.a" to be consistent with sanitizers/profile libraries naming. Modify Makefile and CMake build systems and Clang driver accordingly. Fixes PR19822. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@209473 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-15Fix typosAlp Toker
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@208841 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-12[ASan] Split static ASan runtime in two parts: asan and asan_cxx.Alexey Samsonov
asan_cxx containts replacements for new/delete operators, and should only be linked in C++ mode. We plan to start building this part with exception support to make new more standard-compliant. See https://code.google.com/p/address-sanitizer/issues/detail?id=295 for more details. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@208609 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-07[DFSan] Update build rules for Makefile buildAlexey Samsonov
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@208268 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-21InstrProf: Reorganize files; no functionality changeDuncan P. N. Exon Smith
Move functions around to prepare for some other changes. - Merge InstrProfilingExtras.h with InstrProfiling.h. There's no benefit to having these split. - Rename InstrProfilingExtras.c to InstrProfilingFile.c. - Split actual buffer writing code out of InstrProfiling.c into InstrProfilingBuffer.c. - Drive-by corrections of a couple of header comments. <rdar://problem/15943240> git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204497 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-20PGO: Add explicit static initializationDuncan P. N. Exon Smith
Instead of relying on explicit static initialization from translation units, create a new file, InstrProfilingRuntime.cc, with an __llvm_pgo_runtime variable. After this commit (and its pair in clang), the driver will create a use of this variable. Unless the user defines their own version, the new object file will get pulled in, including that C++ static initialization that calls __llvm_pgo_register_write_atexit. The result is that, at least on Darwin, static initialization typically consists of a single function call, which registers a writeout functino atexit. Furthermore, users can skip even this behaviour by defining their own __llvm_pgo_runtime. <rdar://problem/15943240> git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204380 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-20PGO: Moving files for clarityDuncan P. N. Exon Smith
<rdar://problem/15943240> git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204373 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-20PGO: Implement Darwin linker magic for instrumentationDuncan P. N. Exon Smith
Use Darwin linker magic to find bounds of instrumentation data sections at link time instead of runtime. <rdar://problem/15943240> git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204302 91177308-0d34-0410-b5e6-96231b3b80d8