summaryrefslogtreecommitdiffstats
path: root/runtime
Commit message (Collapse)AuthorAgeFilesLines
* Unify the name of compiler-rt builtins library on Linux.Alexey Samsonov2014-05-221-2/+2
| | | | | | | | | | | 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/cfe/trunk@209474 91177308-0d34-0410-b5e6-96231b3b80d8
* Make verbose clang builds also build compiler_rt verboselyJonathan Roelofs2014-05-141-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208821 91177308-0d34-0410-b5e6-96231b3b80d8
* [ASan] Split static ASan runtime in two parts: asan and asan_cxx.Alexey Samsonov2014-05-121-4/+4
| | | | | | | | | | | | 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/cfe/trunk@208610 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] Propagate top-level targets for compiler-rt runtimes and test-suitesAlexey Samsonov2014-03-211-14/+46
| | | | | | | | | | | | | | | | | | | | from (external) compiler-rt build tree into LLVM/Clang build tree in LLVM_BUILD_EXTERNAL_COMPILER_RT mode. For instance, running make asan -j12 in LLVM/Clang build tree will now build Clang, use it to configure compiler-rt build tree, and invoke "make asan -j12" there. ASan runtime will be built in the proper location, where Clang driver expects to find it. Running make check-asan will build Clang, use it to configure compiler-rt build tree, build everything there, and then run "make check-asan" in compiler-rt build tree using just-built Clang and ASan runtime. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@204463 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] Teach build system to build/test compiler-rt with a just-built ClangAlexey Samsonov2014-02-271-1/+65
| | | | | | | | | | | | | | | | | | | | With this change, one may set LLVM_BUILD_EXTERNAL_COMPILER_RT option to build compiler-rt libraries with just-built Clang. make compiler-rt in the build tree will build all compiler-rt libraries with just-built Clang and copy them to the proper location in the Clang resource directory. make check-compiler-rt will run the compiler-rt test suite using just-built Clang and runtime libraries. The goal is to make LLVM_BUILD_EXTERNAL_COMPILER_RT the default, so that we can always build compiler-rt libraries with Clang, not the host compiler, and for all the platforms Clang can target. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@202367 91177308-0d34-0410-b5e6-96231b3b80d8
* Macho-embedded: rename compiler-rt support from Darwin-embeddedTim Northover2014-01-211-3/+3
| | | | | | | There's nothing Darwin-based in the files or target now, so the previous name is now misleading. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199733 91177308-0d34-0410-b5e6-96231b3b80d8
* Only build ARM-specific runtimes if ARM is enabledTim Northover2013-12-111-1/+6
| | | | | | | | The soft-float variants of (embedded) libclang_rt only make sense for ARM, so there's no point in trying to build them if the compiler is only capable of targeting x86. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197033 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a tranche of comment, test and doc typosAlp Toker2013-12-051-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@196510 91177308-0d34-0410-b5e6-96231b3b80d8
* Darwin(ish): enable embedded compiler-rt builds on Darwin.Tim Northover2013-11-151-1/+3
| | | | | | | | This builds extra versions of compiler-rt targeting various unhosted targets. Only built on Darwin since even though they're not iOS or OSX, they share some quirks. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194878 91177308-0d34-0410-b5e6-96231b3b80d8
* libc++: Install headers in include/, rather than lib/Justin Bogner2013-11-151-1/+1
| | | | | | | | | When using the configure build system, the libc++ headers were being installed in lib/, whereas cmake installs them in include/. Since include/ makes more sense for headers, we'll make both systems install headers there. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194833 91177308-0d34-0410-b5e6-96231b3b80d8
* [ASan] If the iOS Simulator SDK is available, build the ASan iossim runtime ↵Alexander Potapenko2013-11-151-0/+4
| | | | | | using configure+make. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194816 91177308-0d34-0410-b5e6-96231b3b80d8
* [build] Update runtime library and tests to work with relocatable SDKs on OS ↵Daniel Dunbar2013-11-061-0/+17
| | | | | | X 10.9. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194168 91177308-0d34-0410-b5e6-96231b3b80d8
* [libsanitizer] configure+make: install include/sanitizer into ClangAlexander Potapenko2013-10-281-2/+24
| | | | | | | | When building Clang with compiler-rt, copy the contents of compiler-rt/include/sanitizer into lib/clang/3.4/include/sanitizer git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@193515 91177308-0d34-0410-b5e6-96231b3b80d8
* [LSan] Add support for building standalone LSan runtime to Make build (clang ↵Alexey Samsonov2013-08-201-1/+1
| | | | | | part) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188805 91177308-0d34-0410-b5e6-96231b3b80d8
* DataFlowSanitizer; Clang changes.Peter Collingbourne2013-08-071-1/+2
| | | | | | | | | | | | | DataFlowSanitizer is a generalised dynamic data flow analysis. Unlike other Sanitizer tools, this tool is not designed to detect a specific class of bugs on its own. Instead, it provides a generic dynamic data flow analysis framework to be used by clients to help detect application-specific issues within their own code. Differential Revision: http://llvm-reviews.chandlerc.com/D966 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187925 91177308-0d34-0410-b5e6-96231b3b80d8
* The makefile build system had two lists of the 32-bit runtime librariesChandler Carruth2013-06-231-5/+7
| | | | | | | | | | | to build and one had grown out of sync. Put this list in a variable so this doesn't happen again. The whole thing here is somewhat suspicious as we don't support 32-bit environments with a 64-bit bi-arch capable compiler, but none have complained yet about this so I'm just leaving it alone. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184665 91177308-0d34-0410-b5e6-96231b3b80d8
* Nuke build of static ASan runtime on Mac OS - clang partAlexey Samsonov2013-05-201-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@182278 91177308-0d34-0410-b5e6-96231b3b80d8
* Split ubsan runtime into three pieces (clang part):Richard Smith2013-03-201-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | * libclang_rt-san-* is sanitizer_common, and is linked in only if no other sanitizer runtime is present. * libclang_rt-ubsan-* is the piece of the runtime which doesn't depend on a C++ ABI library, and is always linked in. * libclang_rt-ubsan_cxx-* is the piece of the runtime which depends on a C++ ABI library, and is only linked in when linking a C++ binary. This change also switches us to using -whole-archive for the ubsan runtime (which is made possible by the above split), and switches us to only linking the sanitizer runtime into the main binary and not into DSOs (which is made possible by using -whole-archive). The motivation for this is to only link a single copy of sanitizer_common into any binary. This is becoming important now because we want to share more state between multiple sanitizers in the same process (for instance, we want a single shared output mutex). The Darwin ubsan runtime is unchanged; because we use a DSO there, we don't need this complexity. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177605 91177308-0d34-0410-b5e6-96231b3b80d8
* Add MSan to the list of targets in Makefile-based builds.Evgeniy Stepanov2013-02-211-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175738 91177308-0d34-0410-b5e6-96231b3b80d8
* UBSan: enable proper linking with UBsan runtime on Darwin. Turn on building ↵Alexey Samsonov2012-11-161-1/+2
| | | | | | ubsan on OS X in 'make' build system. Patch by Jean-Daniel Dupas. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168168 91177308-0d34-0410-b5e6-96231b3b80d8
* [UBSan] Add support for building ubsan runtime library on Linux with 'make'. ↵Alexey Samsonov2012-11-151-5/+6
| | | | | | Clang part. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168039 91177308-0d34-0410-b5e6-96231b3b80d8
* Pass LLVM_ANDROID_TOOLCHAIN_DIR if set.Evgeniy Stepanov2012-10-241-0/+4
| | | | | | | | | | This lets one build ASan runtime for ARM/Android by running make -C tools/clang/runtime/ \ LLVM_ANDROID_TOOLCHAIN_DIR=/path/to/ndk/toolchain in an existing build tree. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166560 91177308-0d34-0410-b5e6-96231b3b80d8
* Un-revert r164907 and r164902 (+ follow-ups), 10.6 build fix to follow.Daniel Dunbar2012-10-151-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165988 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r164907 and r164902 (+ follow-ups). They broke building on 10.6.Nico Weber2012-10-151-2/+2
| | | | | | | | See PR14013. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165962 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixup for r165097: build 32-bit ASan compiler-rt library on 64-bit Linux ↵Alexey Samsonov2012-10-092-3/+23
| | | | | | only if just-built clang can build simple 32-bit executables git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165503 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure 32-bit ASan runtime is available on 64-bit Linux platformsAlexey Samsonov2012-10-031-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165097 91177308-0d34-0410-b5e6-96231b3b80d8
* Add Clang support for iOS6.Bob Wilson2012-09-291-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164907 91177308-0d34-0410-b5e6-96231b3b80d8
* Run install_name_tool to fix the dynamic library ID after it has been copied.Alexander Potapenko2012-09-171-0/+2
| | | | | | | Fixes http://code.google.com/p/address-sanitizer/issues/detail?id=113 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164031 91177308-0d34-0410-b5e6-96231b3b80d8
* compiler-rt/darwin: Install asan_osx_dynamic with the other runtime libraries.Daniel Dunbar2012-09-141-6/+29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163941 91177308-0d34-0410-b5e6-96231b3b80d8
* build/compiler-rt: Companion commit to r159172.Daniel Dunbar2012-06-251-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159174 91177308-0d34-0410-b5e6-96231b3b80d8
* [tsan] add ThreadSanitizer linker flags on Linux and also copy the tsan-rt ↵Kostya Serebryany2012-05-161-1/+1
| | | | | | into the appropriate place at build time git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156906 91177308-0d34-0410-b5e6-96231b3b80d8
* build/compiler-rt: Stop forcing off -integrated-as for compiler-rt builds.Daniel Dunbar2012-03-051-12/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152054 91177308-0d34-0410-b5e6-96231b3b80d8
* Use -no-integrated-as only on ARM. The X86 and X86-64 integrated as have beenRafael Espindola2012-02-241-1/+4
| | | | | | the default for clang for some time now and can handle compiler-rt. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151367 91177308-0d34-0410-b5e6-96231b3b80d8
* Use the new installheaders makefile target in libcxx.Bob Wilson2012-01-211-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148630 91177308-0d34-0410-b5e6-96231b3b80d8
* runtime/Linux: Include the profile and ASAN libs on x86.Daniel Dunbar2011-12-071-2/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146051 91177308-0d34-0410-b5e6-96231b3b80d8
* runtime/Linux: Initial support for tying compiler-rt build into Clang build onDaniel Dunbar2011-12-021-1/+14
| | | | | | | | Linux. - Currently just builds a full library, and only on x86, and only for the target arch. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145672 91177308-0d34-0410-b5e6-96231b3b80d8
* Driver/Darwin: Add ASAN runtime library link support.Daniel Dunbar2011-12-011-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145651 91177308-0d34-0410-b5e6-96231b3b80d8
* Use libcxx makefile's do-installhdrs target. <rdar://problem/10397739>Bob Wilson2011-11-271-7/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145168 91177308-0d34-0410-b5e6-96231b3b80d8
* clang/Darwin: Use the compiler-rt provided profile library.Daniel Dunbar2011-11-171-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144869 91177308-0d34-0410-b5e6-96231b3b80d8
* build/make/compiler-rt: Don't attempt to build compiler-rt runtime librariesDaniel Dunbar2011-11-161-1/+41
| | | | | | | when cross compiling under the current organization. - See verbose comment for explanation, justification, and how to fix. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144860 91177308-0d34-0410-b5e6-96231b3b80d8
* Install a copy of the libc++ headers with clang. <rdar://problem/10096516>Bob Wilson2011-09-304-2/+38
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140876 91177308-0d34-0410-b5e6-96231b3b80d8
* Build and use libcompiler_rt whenever possible.Eric Christopher2011-06-221-1/+1
| | | | | | | Patch by Jean-Daniel Dupas! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133624 91177308-0d34-0410-b5e6-96231b3b80d8
* Driver/Darwin: Change to use generic iOS runtime library, which we now ↵Daniel Dunbar2011-04-181-1/+1
| | | | | | always need. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129734 91177308-0d34-0410-b5e6-96231b3b80d8
* Restore accidentally deleted file (I blame svn).Nick Lewycky2011-04-151-0/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129588 91177308-0d34-0410-b5e6-96231b3b80d8
* Reapply r129561, moving the runtime/Makefile that builds compiler-rt intoNick Lewycky2011-04-151-1/+1
| | | | | | | | runtime/compiler-rt/Makefile paving the way to put multiple different libraries into runtime/ and build all of them. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129585 91177308-0d34-0410-b5e6-96231b3b80d8
* Doug Gregor tells me that runtime/libcxx/ is a placeholder for stuff we neverNick Lewycky2011-04-152-64/+0
| | | | | | | did. Delete it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129584 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r129561, which broke one of the clang buildbots.Owen Anderson2011-04-152-122/+101
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129581 91177308-0d34-0410-b5e6-96231b3b80d8
* Create a compiler-rt directory and move the Makefile to it. Add a makefile thatNick Lewycky2011-04-152-101/+122
| | | | | | | | builds the subdirs from this directory. This makes the behaviour with make match what already happens with cmake. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129561 91177308-0d34-0410-b5e6-96231b3b80d8
* build/compiler-rt: Fake Clang into using the right assembler to build the ARMDaniel Dunbar2011-02-111-1/+11
| | | | | | bits for the runtime libraries. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125328 91177308-0d34-0410-b5e6-96231b3b80d8
* build: Use CLANG_NO_RUNTIME=1 specifically, not just any definition.Daniel Dunbar2010-12-221-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122449 91177308-0d34-0410-b5e6-96231b3b80d8