Tim Northover
235dff7b63
Only build ARM-specific runtimes if ARM is enabled
...
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.
llvm-svn: 197033
2013-12-11 12:01:21 +00:00
Alp Toker
f6a24ce40f
Fix a tranche of comment, test and doc typos
...
llvm-svn: 196510
2013-12-05 16:25:25 +00:00
Tim Northover
2622b24a59
Darwin(ish): enable embedded compiler-rt builds on Darwin.
...
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.
llvm-svn: 194878
2013-11-15 23:12:44 +00:00
Justin Bogner
2e8350b2b9
libc++: Install headers in include/, rather than lib/
...
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.
llvm-svn: 194833
2013-11-15 18:07:57 +00:00
Alexander Potapenko
19e7bfdd8d
[ASan] If the iOS Simulator SDK is available, build the ASan iossim runtime using configure+make.
...
llvm-svn: 194816
2013-11-15 14:56:31 +00:00
Daniel Dunbar
184687b9bc
[build] Update runtime library and tests to work with relocatable SDKs on OS X 10.9.
...
llvm-svn: 194168
2013-11-06 21:44:54 +00:00
Alexander Potapenko
bcaea0ee0b
[libsanitizer] configure+make: install include/sanitizer into Clang
...
When building Clang with compiler-rt, copy the contents of compiler-rt/include/sanitizer into lib/clang/3.4/include/sanitizer
llvm-svn: 193515
2013-10-28 08:21:35 +00:00
Alexey Samsonov
a272b78879
[LSan] Add support for building standalone LSan runtime to Make build (clang part)
...
llvm-svn: 188805
2013-08-20 14:49:36 +00:00
Peter Collingbourne
c377275a4a
DataFlowSanitizer; Clang changes.
...
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
llvm-svn: 187925
2013-08-07 22:47:34 +00:00
Chandler Carruth
8907811e4b
The makefile build system had two lists of the 32-bit runtime libraries
...
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.
llvm-svn: 184665
2013-06-23 10:10:25 +00:00
Alexey Samsonov
92bbd3e818
Nuke build of static ASan runtime on Mac OS - clang part
...
llvm-svn: 182278
2013-05-20 14:33:20 +00:00
Richard Smith
cff3cde28b
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.
llvm-svn: 177605
2013-03-20 23:49:07 +00:00
Evgeniy Stepanov
54b54e4772
Add MSan to the list of targets in Makefile-based builds.
...
llvm-svn: 175738
2013-02-21 13:59:14 +00:00
Alexey Samsonov
cc42980335
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.
...
llvm-svn: 168168
2012-11-16 12:53:14 +00:00
Alexey Samsonov
cc9ffd1f8a
[UBSan] Add support for building ubsan runtime library on Linux with 'make'. Clang part.
...
llvm-svn: 168039
2012-11-15 12:40:37 +00:00
Evgeniy Stepanov
04dbc2d022
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.
llvm-svn: 166560
2012-10-24 14:05:29 +00:00
Daniel Dunbar
bd847cc562
Un-revert r164907 and r164902 (+ follow-ups), 10.6 build fix to follow.
...
llvm-svn: 165988
2012-10-15 22:23:53 +00:00
Nico Weber
bec2bf1326
Revert r164907 and r164902 (+ follow-ups). They broke building on 10.6.
...
See PR14013.
llvm-svn: 165962
2012-10-15 20:37:01 +00:00
Alexey Samsonov
be5ae06dec
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
...
llvm-svn: 165503
2012-10-09 16:03:52 +00:00
Alexey Samsonov
0bd3665a5c
Make sure 32-bit ASan runtime is available on 64-bit Linux platforms
...
llvm-svn: 165097
2012-10-03 07:23:03 +00:00
Bob Wilson
2afa011e0b
Add Clang support for iOS6.
...
llvm-svn: 164907
2012-09-29 23:52:58 +00:00
Alexander Potapenko
8bea579738
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
llvm-svn: 164031
2012-09-17 14:18:41 +00:00
Daniel Dunbar
1608097324
compiler-rt/darwin: Install asan_osx_dynamic with the other runtime libraries.
...
llvm-svn: 163941
2012-09-14 21:30:17 +00:00
Daniel Dunbar
07c43bea93
build/compiler-rt: Companion commit to r159172.
...
llvm-svn: 159174
2012-06-25 23:02:25 +00:00
Kostya Serebryany
66e8fab1c8
[tsan] add ThreadSanitizer linker flags on Linux and also copy the tsan-rt into the appropriate place at build time
...
llvm-svn: 156906
2012-05-16 06:36:00 +00:00
Daniel Dunbar
e8092cabeb
build/compiler-rt: Stop forcing off -integrated-as for compiler-rt builds.
...
llvm-svn: 152054
2012-03-05 20:19:03 +00:00
Rafael Espindola
1a16f49858
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.
llvm-svn: 151367
2012-02-24 16:22:39 +00:00
Bob Wilson
6d69f1a818
Use the new installheaders makefile target in libcxx.
...
llvm-svn: 148630
2012-01-21 06:25:34 +00:00
Daniel Dunbar
ba45b3faf4
runtime/Linux: Include the profile and ASAN libs on x86.
...
llvm-svn: 146051
2011-12-07 19:35:10 +00:00
Daniel Dunbar
a48d32bc9c
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.
llvm-svn: 145672
2011-12-02 02:31:32 +00:00
Daniel Dunbar
1d6469fcb1
Driver/Darwin: Add ASAN runtime library link support.
...
llvm-svn: 145651
2011-12-01 23:40:18 +00:00
Bob Wilson
800b2b42ed
Use libcxx makefile's do-installhdrs target. <rdar://problem/10397739>
...
llvm-svn: 145168
2011-11-27 06:13:25 +00:00
Daniel Dunbar
4f41440cf9
clang/Darwin: Use the compiler-rt provided profile library.
...
llvm-svn: 144869
2011-11-17 00:36:57 +00:00
Daniel Dunbar
a8c9886dcc
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.
llvm-svn: 144860
2011-11-16 23:22:07 +00:00
Bob Wilson
1c99b57b59
Install a copy of the libc++ headers with clang. <rdar://problem/10096516>
...
llvm-svn: 140876
2011-09-30 20:24:28 +00:00
Eric Christopher
c235d0c635
Build and use libcompiler_rt whenever possible.
...
Patch by Jean-Daniel Dupas!
llvm-svn: 133624
2011-06-22 17:41:40 +00:00
Daniel Dunbar
d107638328
Driver/Darwin: Change to use generic iOS runtime library, which we now always need.
...
llvm-svn: 129734
2011-04-18 23:48:36 +00:00
Nick Lewycky
12c26de5c4
Restore accidentally deleted file (I blame svn).
...
llvm-svn: 129588
2011-04-15 18:57:00 +00:00
Nick Lewycky
cc647e0937
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.
llvm-svn: 129585
2011-04-15 18:33:24 +00:00
Nick Lewycky
3e7b36fb85
Doug Gregor tells me that runtime/libcxx/ is a placeholder for stuff we never
...
did. Delete it.
llvm-svn: 129584
2011-04-15 18:02:26 +00:00
Owen Anderson
a236485b1f
Revert r129561, which broke one of the clang buildbots.
...
llvm-svn: 129581
2011-04-15 17:35:58 +00:00
Nick Lewycky
53ba5ee4ce
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.
llvm-svn: 129561
2011-04-15 06:57:32 +00:00
Daniel Dunbar
c351d2b7fd
build/compiler-rt: Fake Clang into using the right assembler to build the ARM
...
bits for the runtime libraries.
llvm-svn: 125328
2011-02-11 01:29:49 +00:00
Daniel Dunbar
d8f2dc8716
build: Use CLANG_NO_RUNTIME=1 specifically, not just any definition.
...
llvm-svn: 122449
2010-12-22 22:23:39 +00:00
Michael J. Spencer
716d01a612
CMake: Add runtime dir.
...
llvm-svn: 121957
2010-12-16 03:28:42 +00:00
Shantonu Sen
8283f1551a
Fix build of in-tree libcxx. libcxx doesn't actually
...
need any of the LLVM support libraries. Reviewed
by Daniel Dunbar.
llvm-svn: 120602
2010-12-01 20:38:11 +00:00
Michael J. Spencer
8aaf49959c
Merge System into Support.
...
llvm-svn: 120297
2010-11-29 18:12:39 +00:00
Daniel Dunbar
da4f6b5151
Driver/Darwin: Add a runtime library just for ___eprintf -- when targeting i386
...
some projects still depend on ___eprintf being available.
llvm-svn: 114509
2010-09-22 00:03:52 +00:00
Daniel Dunbar
cfe3a2f6e8
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.
llvm-svn: 113924
2010-09-15 03:53:45 +00:00
Daniel Dunbar
4a58ced750
Runtime: Always build compiler-rt using the Clang we just built, instead of the
...
system CC.
llvm-svn: 107328
2010-06-30 22:10:41 +00:00
Daniel Dunbar
8d65fc86c4
Move lib/Runtime to runtime/, and build after everything else.
...
llvm-svn: 107327
2010-06-30 22:10:38 +00:00