Richard Smith
61a574f6a3
Split ubsan runtime into three pieces (clang part):
...
* 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
2013-03-20 23:49:07 +00:00
Evgeniy Stepanov
3aada3c305
Add MSan to the list of targets in Makefile-based builds.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175738 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-21 13:59:14 +00:00
Alexey Samsonov
75fcb193ae
UBSan: enable proper linking with UBsan runtime on Darwin. Turn on building 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
2012-11-16 12:53:14 +00:00
Alexey Samsonov
e0d80f1852
[UBSan] Add support for building ubsan runtime library on Linux with 'make'. Clang part.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168039 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-15 12:40:37 +00:00
Evgeniy Stepanov
19baf068e8
Pass LLVM_ANDROID_TOOLCHAIN_DIR if set.
...
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
2012-10-24 14:05:29 +00:00
Daniel Dunbar
7a0c064770
Un-revert r164907 and r164902 (+ follow-ups), 10.6 build fix to follow.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165988 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-15 22:23:53 +00:00
Nico Weber
dc0d4e251b
Revert r164907 and r164902 (+ follow-ups). They broke building on 10.6.
...
See PR14013.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165962 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-15 20:37:01 +00:00
Alexey Samsonov
f288d223a4
Fixup for r165097: build 32-bit ASan compiler-rt library on 64-bit Linux 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
2012-10-09 16:03:52 +00:00
Alexey Samsonov
2985cbc3c0
Make sure 32-bit ASan runtime is available on 64-bit Linux platforms
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165097 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-03 07:23:03 +00:00
Bob Wilson
f2f3ce54fc
Add Clang support for iOS6.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164907 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-29 23:52:58 +00:00
Alexander Potapenko
b626280eb1
Run install_name_tool to fix the dynamic library ID after it has been copied.
...
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
2012-09-17 14:18:41 +00:00
Daniel Dunbar
12f5fe5f4e
compiler-rt/darwin: Install asan_osx_dynamic with the other runtime libraries.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163941 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-14 21:30:17 +00:00
Daniel Dunbar
66a5bf923c
build/compiler-rt: Companion commit to r159172.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159174 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-25 23:02:25 +00:00
Kostya Serebryany
f7efb0e747
[tsan] add ThreadSanitizer linker flags on Linux and also copy the tsan-rt into the appropriate place at build time
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156906 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-16 06:36:00 +00:00
Daniel Dunbar
3518058dac
build/compiler-rt: Stop forcing off -integrated-as for compiler-rt builds.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152054 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-05 20:19:03 +00:00
Rafael Espindola
a0889a8c32
Use -no-integrated-as only on ARM. The X86 and X86-64 integrated as have been
...
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
2012-02-24 16:22:39 +00:00
Bob Wilson
b3381f6096
Use the new installheaders makefile target in libcxx.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148630 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-21 06:25:34 +00:00
Daniel Dunbar
7df67e6892
runtime/Linux: Include the profile and ASAN libs on x86.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146051 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-07 19:35:10 +00:00
Daniel Dunbar
ff9865220c
runtime/Linux: Initial support for tying compiler-rt build into Clang build on
...
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
2011-12-02 02:31:32 +00:00
Daniel Dunbar
94b54ea787
Driver/Darwin: Add ASAN runtime library link support.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145651 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-01 23:40:18 +00:00
Bob Wilson
a10678d292
Use libcxx makefile's do-installhdrs target. <rdar://problem/10397739>
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145168 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-27 06:13:25 +00:00
Daniel Dunbar
f471487ff1
clang/Darwin: Use the compiler-rt provided profile library.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144869 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-17 00:36:57 +00:00
Daniel Dunbar
e33218a3ce
build/make/compiler-rt: Don't attempt to build compiler-rt runtime libraries
...
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
2011-11-16 23:22:07 +00:00
Bob Wilson
da79da2a87
Install a copy of the libc++ headers with clang. <rdar://problem/10096516>
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140876 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-30 20:24:28 +00:00
Eric Christopher
3404fe7105
Build and use libcompiler_rt whenever possible.
...
Patch by Jean-Daniel Dupas!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133624 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-22 17:41:40 +00:00
Daniel Dunbar
3cceec5e05
Driver/Darwin: Change to use generic iOS runtime library, which we now always need.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129734 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-18 23:48:36 +00:00
Nick Lewycky
d0ae47069e
Restore accidentally deleted file (I blame svn).
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129588 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-15 18:57:00 +00:00
Nick Lewycky
484fc57c8d
Reapply r129561, moving the runtime/Makefile that builds compiler-rt into
...
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
2011-04-15 18:33:24 +00:00
Nick Lewycky
a8e8d5f55b
Doug Gregor tells me that runtime/libcxx/ is a placeholder for stuff we never
...
did. Delete it.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129584 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-15 18:02:26 +00:00
Owen Anderson
562627d782
Revert r129561, which broke one of the clang buildbots.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129581 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-15 17:35:58 +00:00
Nick Lewycky
1f05587937
Create a compiler-rt directory and move the Makefile to it. Add a makefile that
...
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
2011-04-15 06:57:32 +00:00
Daniel Dunbar
db0ab63998
build/compiler-rt: Fake Clang into using the right assembler to build the ARM
...
bits for the runtime libraries.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125328 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-11 01:29:49 +00:00
Daniel Dunbar
880efcbf16
build: Use CLANG_NO_RUNTIME=1 specifically, not just any definition.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122449 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-22 22:23:39 +00:00
Michael J. Spencer
48263bae23
CMake: Add runtime dir.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121957 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-16 03:28:42 +00:00
Shantonu Sen
2ab0303492
Fix build of in-tree libcxx. libcxx doesn't actually
...
need any of the LLVM support libraries. Reviewed
by Daniel Dunbar.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120602 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-01 20:38:11 +00:00
Michael J. Spencer
03013fa9a0
Merge System into Support.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120297 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-29 18:12:39 +00:00
Daniel Dunbar
885b1dbc6e
Driver/Darwin: Add a runtime library just for ___eprintf -- when targeting i386
...
some projects still depend on ___eprintf being available.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114509 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-22 00:03:52 +00:00
Daniel Dunbar
53a4d7e4f3
build: Start sketching code to allow grafting libc++ build into LLVM/Clang build if
...
libc++ is checked out into llvm/projects.
- WIP, not on by default yet.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113924 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-15 03:53:45 +00:00
Daniel Dunbar
a3d84991a8
Runtime: Always build compiler-rt using the Clang we just built, instead of the
...
system CC.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107328 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-30 22:10:41 +00:00
Daniel Dunbar
ac141e61ff
Move lib/Runtime to runtime/, and build after everything else.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107327 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-30 22:10:38 +00:00