summaryrefslogtreecommitdiffstats
path: root/compiler-rt/cmake
Commit message (Collapse)AuthorAgeFilesLines
* [CMake] [macho_embedded] [builtins] Always use OS X sysroot, even for arm.Chris Bieneman2015-11-131-3/+0
| | | | | | Turns out that there are some checks in the backend that change code generation for armv7 if you are building against an iOS sys root. For the macho_embedded builtins we really don't want that. llvm-svn: 253064
* [CMake] [Darwin] Forcing -fPIC on for all darwin builtins except macho_embeddedChris Bieneman2015-11-121-1/+2
| | | | | | We need to add -fPIC to the flags for the builtins in case PIC was turned off at a higher level. We also want to set ENABLE_PIC to Off when building the macho_embedded builtins so the top-level settings don't impact that build. llvm-svn: 252966
* [CMake] [Darwin] [Builtins] Force setting the flags we care about at the end ↵Chris Bieneman2015-11-111-9/+11
| | | | | | | | of the compiler command line Setting CMAKE_*_FLAGS isn't sufficient here because CMAKE_*_FLAGS_${CMAKE_BUILD_TYPE} can override the flags, and there is no way to safely clear that because it is a cached variable (<sarcasm> YAY! </sarcasm>). llvm-svn: 252807
* [tsan] Add TSan unit test support for OS XKuba Brecka2015-11-112-13/+11
| | | | | | | | This patch enables building and running TSan unit tests on OS X. Differential Revision: http://reviews.llvm.org/D14546 llvm-svn: 252731
* [CMake] [macho_embedded] Only set sys root if the variable is set, this ↵Chris Bieneman2015-11-101-1/+5
| | | | | | | | prevents passing empty -isysroot arguments This is a minor cleanup to the macho_embedded builtins. llvm-svn: 252619
* [CMake] Cleaning up flags for Darwin builtinsChris Bieneman2015-11-101-23/+4
| | | | | | | * Setting CMAKE_*_FLAGS_${BUILD_TYPE} isn't really needed since we're setting the same value everywhere * functions sanitize variables differently from macros, darwin_add_embedded_builtin_libraries should be a macro otherwise it won't alter the variables. llvm-svn: 252618
* [CMake] Temporary workaround to support building builtins on darwin with a ↵Chris Bieneman2015-11-101-3/+18
| | | | | | | | toolchain that may not support all x86 and arm architectures. This is at least a little better than my first attempt. We still really need a way to do compile checks without linking. llvm-svn: 252572
* Revert "[CMake] [macho_embedded] Check to make sure the compiler supports ↵Chris Bieneman2015-11-101-13/+1
| | | | | | | | the architectures before generating build targets" This commit reverts r252525. I was not really thinking about this fix properly. This doesn't work because it relys on try_compile checks which do a full compile & link. I'm going to put in a temporary solution as an interm step until we have a way to perform compiler checks without linking. llvm-svn: 252569
* [CMake] Don't pass -fPIC when compiling the darwin builtinsChris Bieneman2015-11-091-1/+1
| | | | | | This change makes CMake match autoconf. llvm-svn: 252547
* [CMake] Fixing a typo in variable name ARG_*->LIB_*Chris Bieneman2015-11-091-1/+1
| | | | llvm-svn: 252543
* [CMake] Removing extra underscore.Chris Bieneman2015-11-091-1/+1
| | | | | | Fixing a typo. llvm-svn: 252534
* [CMake] [Darwin] Don't generate lipo commands if we don't have libraries to ↵Chris Bieneman2015-11-091-12/+16
| | | | | | | | put into the fat archive. Not making sure there are thin libraries results in some difficult to diagnose build failures. This check should make those build failures go away. llvm-svn: 252527
* [CMake] [macho_embedded] Check to make sure the compiler supports the ↵Chris Bieneman2015-11-091-1/+13
| | | | | | | | architectures before generating build targets If we don't check the compiler's capabilities we end up generating build targets that the compiler might not be able to build. llvm-svn: 252525
* [CMake] Need to filter ${arch}/*.c builtins as well as ${arch}/*.S builtins.Chris Bieneman2015-11-061-1/+1
| | | | | | This was broken in r248542 when I refactored this to support builtins where ${arch} didn't match the directory prefix (i.e. armv7s). llvm-svn: 252365
* [tsan] CMake support for TSan on OS XKuba Brecka2015-11-031-0/+8
| | | | | | | | Hi, this patch adds a CMake flag called `COMPILER_RT_ENABLE_TSAN_OSX`, which is off by default. If enabled, the build system will be building the OS X version of the TSan runtime library (called `libclang_rt.tsan_osx_dynamic.dylib`). I'll submit patches that fix OS X build errors shortly. This is part of an effort to port TSan to OS X, and it's one the very first steps. Don't expect TSan on OS X to actually work or pass tests at this point. llvm-svn: 251915
* [lsan] [aarch64] Add support for AArch64Adhemerval Zanella2015-10-211-1/+1
| | | | | | | | | | This patch add support for leak sanitizer for aarch64. Similar to MIPS it uses a SizeClassAllocator32 due VMA constraints (aarch64 currently supports 39 and 42-bit VMA). It also fixes the android build issue. llvm-svn: 250898
* [CMake] Adding support for generating libclang_rt.eprintf.aChris Bieneman2015-10-091-0/+19
| | | | | | This library provides eprintf for i386 on OS X versions later than 10.4. llvm-svn: 249913
* [CMake] [Darwin] [builtins] Need to special case the naming of the OS X ↵Chris Bieneman2015-10-091-1/+5
| | | | | | cc_kext builtin library. llvm-svn: 249870
* [CMake] [darwin] [builitins] Don't build x86_64h into the 10.4 builtins libraryChris Bieneman2015-10-091-0/+2
| | | | | | There is no haswell support in 10.4, so we don't need a 10.4 builtin library. llvm-svn: 249868
* [CMake] [Darwin] [Builtins] Fixing a typo that was keeping the OS X 10.4 ↵Chris Bieneman2015-10-091-1/+1
| | | | | | builtins library from being built properly. llvm-svn: 249844
* Revert "[lsan] [aarch64] Add support for AArch64"Evgeniy Stepanov2015-10-081-1/+1
| | | | | | | | | This reverts commit ea02fa45225c35613bfecab383fb526e24b74497 (r249337). Reason: broken "ninja AsanUnitTests" on Android/AArch64. http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux/builds/20675/steps/build%20compiler-rt%20android%2Faarch64/logs/stdio llvm-svn: 249730
* [builtins] Enable building of the builtins library for MIPS targets.Vasileios Kalintiris2015-10-061-3/+4
| | | | | | | | | | Reviewers: howard.hinnant, samsonov Subscribers: samsonov, dsanders, llvm-commits Differential Revision: http://reviews.llvm.org/D13098 llvm-svn: 249382
* [lsan] [aarch64] Add support for AArch64Adhemerval Zanella2015-10-051-1/+1
| | | | | | | | This patch add support for leak sanitizer for aarch64. Similar to MIPS it uses a SizeClassAllocator32 due VMA constraints (aarch64 currently supports 39 and 42-bit VMA). llvm-svn: 249337
* [CMake] [darwin] Removing a line of debug code that I accidentally committed.Chris Bieneman2015-10-041-1/+0
| | | | llvm-svn: 249278
* [CMake] [darwin] [builtins] Add INSTALL_DIR to darwin_lipo_libsChris Bieneman2015-10-021-5/+11
| | | | | | The darwin and macho_embedded libraries get installed to different locations, so we need to feed through an INSTALL_PATH. llvm-svn: 249199
* [CMake] Workaround for the lipo output directory not being created.Chris Bieneman2015-10-021-0/+1
| | | | | | This should resolve an issue reported by mclow. llvm-svn: 249158
* [CMake] [builtins] [macho_embedded] Separate out the 64-bit thumb builtins ↵Chris Bieneman2015-10-011-1/+2
| | | | | | | | so they don't get included on 'm' architectures. NFC. This should help make the compiler-rt build less noisy. llvm-svn: 249084
* [CMake] [builtins] [macho_embedded] Don't pass -mfloat-abi=hard flag to x86 ↵Chris Bieneman2015-10-011-1/+5
| | | | | | because the compiler ignores it and complains. llvm-svn: 249076
* [CMake] Only build the simulator builtins if you're also building the device ↵Chris Bieneman2015-10-011-1/+1
| | | | | | | | builtins. This matters because simulator builtins get lipo'd together with the device builtins into a single static archive per-platform. llvm-svn: 249056
* [CMake] Only add an OS to the supported OS lists if there are supported ↵Chris Bieneman2015-10-011-6/+13
| | | | | | architectures for that OS. llvm-svn: 249054
* [CMake] [Darwin] Add and populate PROFILE_SUPPORTED_OS to enable building ↵Chris Bieneman2015-09-301-2/+3
| | | | | | libclang_rt.profile for iOS. llvm-svn: 248948
* [CMake] [Darwin] [macho_embedded] Specify the version min explicitly.Chris Bieneman2015-09-301-0/+1
| | | | | | We need to set the OS X deployment target on the macho_embedded libraries to match the outputs from the autoconf build system. llvm-svn: 248944
* [CMake] [Darwin] [builtins] Add support for building libclang_rt.10.4.aChris Bieneman2015-09-301-0/+11
| | | | | | This builtin library is used when setting the OS X deployment target to 10.4, which we still support. llvm-svn: 248940
* [CMake] [Darwin] [builtins] Change condition for skipping cc_kext to be ↵Chris Bieneman2015-09-302-1/+2
| | | | | | | | setting based. This is needed because we need to skip cc_kext generation for more than just the simulator builds. llvm-svn: 248939
* [CMake] [macho_embedded] We need to set some extra flags when building the ↵Chris Bieneman2015-09-291-1/+6
| | | | | | | | macho_embedded builtins. If we don't specify the arm target the float ABI compiler flags get ignored. llvm-svn: 248853
* [CMake] [Darwin] Support building the macho_embedded builtin libraries.Chris Bieneman2015-09-291-2/+82
| | | | | | | | | | | | Summary: This ports functionality from the clang_macho_embedded.mk platform makefile over to CMake. Reviewers: bogner, samsonov, bob.wilson Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D13226 llvm-svn: 248850
* [CMake] [Darwin] [builtins] Apply OS and OS-arch filters to cc_kext builtin ↵Chris Bieneman2015-09-281-1/+12
| | | | | | | | libraries. We don't want to filter out the builtins that are present in libSystem like we do for the normal builtins because kexts can't link libSystem, but we should filter out all the builtins that are generally not supported on the OS and architecture. llvm-svn: 248756
* [CMake] Accidentally committed code that was using a variable only populated ↵Chris Bieneman2015-09-281-1/+1
| | | | | | in some earlier code. NFC. llvm-svn: 248752
* [CMake] [Darwin] [builtins] Fix building builtins for Darwin simulator ↵Chris Bieneman2015-09-281-20/+30
| | | | | | | | platforms. For Darwin simulator platforms we shouldn't build the cc_kext builtins at all because they aren't applicable, and we should includ the simulator builtins as slices inside the main platform builtin library. llvm-svn: 248751
* [CMake] [Darwin] Make darwin_filter_builtin_sources support both whitelist ↵Chris Bieneman2015-09-281-3/+15
| | | | | | and blacklist filtering. llvm-svn: 248720
* build: separate flagsSaleem Abdulrasool2015-09-261-2/+2
| | | | | | | | This somehow worked with the build on Linux, but seems to fail on the buildbots. Split the flags apart here as otherwise the two flags are treated as one, and cause a compilation failure. llvm-svn: 248654
* build: create two versions of ARM builtinsSaleem Abdulrasool2015-09-261-2/+3
| | | | | | | | | | | | | This adds a new name for ARM32 (armhf). We now force that the default build for ARM32 (arm) to be soft-float ABI. This has a corresponding clang change to look for these names based on the floating point ABI. The functions are built identically (the functions are marked as AAPCS, so the calling convention does not change, as per the RTABI specification), however, the object file contains attributes indicating the build configuration which the linker will ensure are not mix and matched. We now built the appropriate named archive so that we can link properly. llvm-svn: 248648
* [CMake] [darwin] [builtins] Make darwin_lipo_libs take OUTPUT_DIR as an ↵Chris Bieneman2015-09-251-7/+9
| | | | | | | | option. NFC. This refactoring will allow me to reuse this function when calling lipo with outputs in different directories. llvm-svn: 248639
* [CMake] [darwin] Refactor darwin_read_exclude_file to be reusable. NFC.Chris Bieneman2015-09-251-8/+11
| | | | | | Rename darwin_read_exclude_file to more generic darwin_read_list_from_file, and make it take the file path instead of constructing it so it can be reused more freely. llvm-svn: 248635
* [CMake] [darwin] [builtins] Should install the lipo'd builtin libraries.Chris Bieneman2015-09-251-0/+2
| | | | | | On darwin we don't install the single-architecture builtin libraries, but we do need to install the lipo'd ones. llvm-svn: 248630
* [CMake] [darwin] [builtins] Should be reading the OS variable that is passed ↵Chris Bieneman2015-09-251-2/+2
| | | | | | in, not the bleed through from the function above. NFC. llvm-svn: 248629
* [CMake] [darwin] [cc_kext] In addition to builtin sources the cc_kext ↵Chris Bieneman2015-09-241-3/+6
| | | | | | builtins include some functions from clang_rt.profile. llvm-svn: 248548
* [CMake] [darwin] [builtins] Refactoring darwin_find_excluded_builtins_list ↵Chris Bieneman2015-09-241-21/+36
| | | | | | | | to parse arguments instead of only handling positional arguments. OS and ARCH must be specified, but minimum version may not. Excluding the minimum version will only apply the filters for builtins not supported by the OS and OS-Arch pair. llvm-svn: 248543
* [CMake] [darwin] [builtins] Refactoring code to filter builtin lists out ↵Chris Bieneman2015-09-241-15/+22
| | | | | | into a function. NFC. llvm-svn: 248542
* [CMake] [darwin] [builtins] Match clang_darwin.mk's compiler flags when ↵Chris Bieneman2015-09-241-2/+14
| | | | | | | | building builtin libraries On Darwin we have a very restrictive set of flags used when building the builtins. This change makes CMake match autoconf. llvm-svn: 248523
OpenPOWER on IntegriCloud