summaryrefslogtreecommitdiffstats
path: root/compiler-rt/make/platform
Commit message (Collapse)AuthorAgeFilesLines
* Delete remaining compiler-rt makefilesChris Bieneman2016-08-239-1056/+0
| | | | | | | | | | | | | | | Summary: Since we can now build the builtins without a full toolchain these files should no longer be needed. This is the last vestige of autoconf! Reviewers: compnerd, iains, jroelofs Subscribers: dberris, llvm-commits Differential Revision: https://reviews.llvm.org/D23777 llvm-svn: 279539
* [PGO] Add API for profile merge from bufferXinliang David Li2016-03-031-1/+2
| | | | | | Differential Revision: http://reviews.llvm.org/D17831 llvm-svn: 262644
* Remove autoconf support for building runtime libraries.Chris Bieneman2016-01-261-99/+0
| | | | | | | | | | | | | | | | 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 llvm-svn: 258863
* [PGO] Split value profiling runtime into its own fileXinliang David Li2015-12-102-2/+2
| | | | | | | | | Value profile runtime depends on libc which breaks buffer API implemenation with current file organization. Test case is also updated to check more symbols. llvm-svn: 255294
* Mention new InstrProfilingWriter file in clang_{darwin|linux}.mkMatthias Braun2015-11-202-2/+4
| | | | | | I hope this fixes our internal buildbots (rdar://23614130) llvm-svn: 253735
* compiler-rt: add make solution to bootstrap mingw-w64Martell Malone2015-11-131-0/+30
| | | | | | Differential Revision: http://reviews.llvm.org/D14290 llvm-svn: 252976
* [compiler-rt] Properly detect lack of available system libraries for arch in ↵Keno Fischer2015-10-052-8/+17
| | | | | | | | | | | | | | 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 llvm-svn: 249358
* [autoconf] Fixing a bug I introduced r248441Chris Bieneman2015-09-241-4/+4
| | | | llvm-svn: 248529
* [darwin] [builtins] Stop generating cc_kext_ios5 and move iOS architectures ↵Chris Bieneman2015-09-231-34/+17
| | | | | | | | | | | | | | | | | 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 llvm-svn: 248441
* [autoconf] Add __umodti3 to iOS builtins for arm64.Chris Bieneman2015-09-081-2/+4
| | | | llvm-svn: 247026
* [autoconf] Add ___udivti3 to iOS builtinsChris Bieneman2015-09-011-2/+3
| | | | llvm-svn: 246599
* profile: Autoconf build system support for r241824Justin Bogner2015-07-132-2/+2
| | | | | | | r241824 didn't update the autoconf build system to handle the new file in the profile library. llvm-svn: 242013
* [darwin] fix libcompiler_rt.dylib buildNick Kledzik2015-05-201-1/+1
| | | | | | | The dylib build of compiler-rt has been broken on darwin since the directory restructuring to push some things down into /builtins/. llvm-svn: 237848
* [Builtins] Wire half-precision conversions through cc_kext makefiles.Ahmed Bougacha2015-05-141-0/+3
| | | | | | Kernel side of r237329. llvm-svn: 237330
* [Builtins] Wire half-precision conversions through Darwin makefiles.Ahmed Bougacha2015-05-143-3/+12
| | | | | | | | | Follow-up to r237161, modeled after r236805. Note that arm64 is omitted on purpose, as the conversions are supported natively there. llvm-svn: 237329
* builtins: Implement the functions from stdatomic.hJustin Bogner2015-05-083-7/+28
| | | | | | | | | | | 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. llvm-svn: 236805
* Include __mulodi4 in the 32-bit ARM versions of libclang_rt.cc_kext.a.Bob Wilson2015-04-191-0/+1
| | | | | | | This is needed when building the Darwin kernel with -fsanitize=undefined-trap. rdar://problem/12783702 llvm-svn: 235270
* [UBSan] Embed UBSan into ASan runtime (compiler-rt part).Alexey Samsonov2015-04-011-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | 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 llvm-svn: 233861
* On OS X, explicitly use libc++Kuba Brecka2015-03-251-10/+8
| | | | | | | | | | | | | | 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 llvm-svn: 233215
* Revert "Revert "[UBSan] Use shared library for UBSan on OS X" and its followup"Alexey Samsonov2015-03-241-26/+46
| | | | | | Fix the build/tests by providing -lc++abi for UBSan runtime only. llvm-svn: 233122
* Revert "[UBSan] Use shared library for UBSan on OS X" and its followupJustin Bogner2015-03-241-46/+26
| | | | | | | | | | 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. llvm-svn: 233097
* [UBSan] Use shared library for UBSan on OS X (compiler-rt part).Alexey Samsonov2015-03-231-26/+46
| | | | | | | | | | | | | | | | 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 llvm-svn: 233036
* build: remove the stub linux SDKSaleem Abdulrasool2015-02-281-6/+0
| | | | | | | | 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. llvm-svn: 230869
* Fix OS X build failure with Command Line Tools and without full Xcode ↵Kuba Brecka2015-02-281-4/+8
| | | | | | | | | | 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 llvm-svn: 230847
* Remove support for building sanitizers from Makefile/autoconf build on Linux.Alexey Samsonov2015-02-181-72/+3
| | | | | | | This is a re-application of r229554 restricted to Linux build only. Apple still uses Makefile/autoconf to build Clang and sanitizers. llvm-svn: 229756
* Revert "Remove support for building sanitizers from Makefile/autoconf build."Matthias Braun2015-02-172-3/+130
| | | | | | | | | This reverts commit r229556. Reverting this for now as internal apple builds rely on this functionality. llvm-svn: 229585
* Remove support for building sanitizers from Makefile/autoconf build.Alexey Samsonov2015-02-172-130/+3
| | | | | | | | 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. llvm-svn: 229556
* [compiler-rt] OS X: Update the CMake and Make builds to explicitely use ↵Kuba Brecka2015-01-291-3/+10
| | | | | | | | 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. llvm-svn: 227509
* profile: add lib/profile to cc_kext on darwin,arm64Justin Bogner2015-01-271-1/+8
| | | | | | | | | 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! llvm-svn: 227206
* [compiler-rt] Ensure AsanInitFromRtl is called from a static initializer on ↵Kuba Brecka2015-01-231-2/+4
| | | | | | | | | | | | | | | | | | | | 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 llvm-svn: 226929
* Add 64-bit multiply functions to iOS arm64 compiler-rt dylibNick Kledzik2015-01-061-0/+1
| | | | llvm-svn: 225226
* Remove darwin_fat.mk.Alexey Samsonov2014-12-291-56/+0
| | | | | | | | | | | | | | | | | 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 llvm-svn: 224946
* profile: Add the relevant parts of lib/profile to cc_kext on darwinJustin Bogner2014-12-151-0/+6
| | | | | | Patch by Lawrence D'Anna. Thanks! llvm-svn: 224270
* [asan] Remove the local copy of Android ucontext.h.Evgeniy Stepanov2014-11-281-2/+1
| | | | | | This header is present in the r10c release of the NDK. llvm-svn: 222915
* Add a missing parenthesis mistakenly dropped in r221621.Bob Wilson2014-11-111-1/+1
| | | | llvm-svn: 221656
* Clean up indentation after previous change.Bob Wilson2014-11-101-17/+17
| | | | llvm-svn: 221622
* Build Darwin libclang_rt libraries against real SDKs.Bob Wilson2014-11-101-36/+52
| | | | | | | | | | | 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 llvm-svn: 221621
* Do not build a separate x86_64h Haswell slice for the iOS simulator.Bob Wilson2014-11-101-7/+4
| | | | | | | | 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. llvm-svn: 221610
* Use @rpath for ASan dylib in MakefilesKuba Brecka2014-11-071-2/+2
| | | | | | Reviewed at http://reviews.llvm.org/D6176 llvm-svn: 221556
* Add complex multiply/divide functions to arm64 iOS libclang_rt libraries.Bob Wilson2014-10-141-2/+2
| | | | | | | | 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. llvm-svn: 219715
* AArch64: don't just hack arm64 support into compiler-rt.Tim Northover2014-10-081-10/+3
| | | | | | | | | 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 llvm-svn: 219332
* AArch64: add support for ARM64 iOS versions of compiler-rt.Tim Northover2014-10-082-0/+24
| | | | | | | | Just a dummy directory and a few sane choices in the Darwin SDK. rdar://problem/18575597 llvm-svn: 219323
* [ASan] Bump the minimum OSX version required to run ASan to 10.7.Alexander Potapenko2014-10-081-1/+1
| | | | llvm-svn: 219302
* Fix configure+make build of profile runtime libraryAlexey Samsonov2014-07-101-2/+4
| | | | llvm-svn: 212665
* Unify the name of compiler-rt builtins library on Linux.Alexey Samsonov2014-05-221-10/+10
| | | | | | | | | | 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. llvm-svn: 209473
* Fix typosAlp Toker2014-05-153-7/+7
| | | | llvm-svn: 208841
* [ASan] Split static ASan runtime in two parts: asan and asan_cxx.Alexey Samsonov2014-05-122-7/+18
| | | | | | | | | | | 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. llvm-svn: 208609
* [DFSan] Update build rules for Makefile buildAlexey Samsonov2014-05-071-2/+3
| | | | llvm-svn: 208268
* InstrProf: Reorganize files; no functionality changeDuncan P. N. Exon Smith2014-03-211-3/+3
| | | | | | | | | | | | | | | | | | 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> llvm-svn: 204497
* PGO: Add explicit static initializationDuncan P. N. Exon Smith2014-03-201-1/+2
| | | | | | | | | | | | | | | | | | | 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> llvm-svn: 204380
OpenPOWER on IntegriCloud