Commit Graph

53 Commits

Author SHA1 Message Date
Chris Bieneman 171280519b Remove autoconf support
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

    "This is the way [autoconf] ends
    Not with a bang but a whimper."
    -T.S. Eliot

Reviewers: chandlerc, grosbach, bob.wilson, echristo

Subscribers: klimek, cfe-commits

Differential Revision: http://reviews.llvm.org/D16472

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@258862 91177308-0d34-0410-b5e6-96231b3b80d8
2016-01-26 21:30:40 +00:00
Tim Northover 603885ad10 Revert "Support watchOS and tvOS in compiler-rt builds"
The required compiler-rt changes aren't present yet so attempting to
build with compiler-rt breaks. And since we're trying to deprecate
autotools we actually want to fix this in CMake primarily anyway.

This reverts r251712.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@251953 91177308-0d34-0410-b5e6-96231b3b80d8
2015-11-03 18:14:42 +00:00
Tim Northover 6218f42f56 Support watchOS and tvOS in compiler-rt builds
Hopefully autotools will be deprecated soon and this entire file can go away,
but until then...

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@251712 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-30 16:30:51 +00:00
Keno Fischer afc3fe86c3 Fix makefile build on OSX when ARM targets are not enabled
Summary: When LLVM/Clang is built without ARM support, the ios_kext runtime
library is not built, but without this patch, the Makefile still tries to
copy it. This is a recent regression, because the ios_kext library used
to also be built on x86_64.

Reviewers: beanz

Subscribers: aemerson, cfe-commits, rengolin

Differential Revision: http://reviews.llvm.org/D13421

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@249281 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-04 18:51:04 +00:00
Chris Bieneman 261b6512cc [darwin] [builtins] Stop generating cc_kext_ios5 and move iOS architectures out of cc_kext into cc_kext_ios
Summary:
This corresponds to a patch to compiler-rt (D13112).

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.

Reviewers: bogner, bob.wilson

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D13113

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248442 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-23 22:52:35 +00:00
Alexey Samsonov db7f9c7396 [UBSan] Use shared library for UBSan on OS X (Clang part).
Summary:
UBSan is now used in the same way as ASan, and is supported on
OSX and on iOS simulator. At the moment ASan and UBSan can't be used
together due to PR21112, but I hope to resolve it soon by
embedding UBSan into ASan.

Test Plan: regression test suite.

Reviewers: zaks.anna, kubabrecka

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D8471

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@233035 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-23 23:14:05 +00:00
Alexey Samsonov 76ce2352df Remove support for building sanitizers from Makefile/autoconf build on Linux.
This is a re-application of r229554 restricted to Linux build only.
Apple still uses Makefile/autoconf to build Clang and sanitizers.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@229755 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-18 22:26:22 +00:00
Matthias Braun d8035e6033 Revert "Remove support for building sanitizers from Makefile/autoconf build."
This reverts commit r229554.

Reverting this commit for now as several apple internal builds still
rely on this functionality.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@229582 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-17 23:27:37 +00:00
Alexey Samsonov ebbedcd70f Remove support for building sanitizers from Makefile/autoconf build.
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.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@229554 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-17 21:53:22 +00:00
Bob Wilson 089b9a8da0 Remove change to set SDKROOT when building compiler-rt on Darwin.
This reverts the runtime library portion of r194168. As of r221621,
the libclang_rt libraries for Darwin build with explicit SDK options
so there is no need to set SDKROOT here.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221625 91177308-0d34-0410-b5e6-96231b3b80d8
2014-11-10 20:01:19 +00:00
Bob Wilson 2b5488adac Only build iOS runtime libraries when the iOS SDKs are available.
This was already set up for the iOS simulator ASan dylib simulator,
and this change extends that to the other iOS runtime libraries.
This is in preparation for building all those iOS libraries against
the real SDKs instead of the fake SDKs in compiler-rt.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221614 91177308-0d34-0410-b5e6-96231b3b80d8
2014-11-10 17:46:55 +00:00
Kuba Brecka 64f15a10a9 Use @rpath for ASan dylib in Makefiles
Reviewed at http://reviews.llvm.org/D6176




git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221557 91177308-0d34-0410-b5e6-96231b3b80d8
2014-11-07 22:27:43 +00:00
Alexey Samsonov 9cd6c51cd8 Unify the name of compiler-rt builtins library on Linux.
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
2014-05-22 21:13:30 +00:00
Jonathan Roelofs c85839cf5e Make verbose clang builds also build compiler_rt verbosely
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208821 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-14 23:07:16 +00:00
Alexey Samsonov 161a85d878 [ASan] Split static ASan runtime in two parts: asan and asan_cxx.
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
2014-05-12 18:39:51 +00:00
Tim Northover 110c3716c8 Macho-embedded: rename compiler-rt support from Darwin-embedded
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
2014-01-21 12:38:19 +00:00
Tim Northover c9dd46748e 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.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197033 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-11 12:01:21 +00:00
Alp Toker 0fb7888788 Fix a tranche of comment, test and doc typos
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@196510 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-05 16:25:25 +00:00
Tim Northover a634237436 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.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194878 91177308-0d34-0410-b5e6-96231b3b80d8
2013-11-15 23:12:44 +00:00
Alexander Potapenko 7194088382 [ASan] If the iOS Simulator SDK is available, build the ASan iossim runtime using configure+make.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194816 91177308-0d34-0410-b5e6-96231b3b80d8
2013-11-15 14:56:31 +00:00
Daniel Dunbar 8ad46b79c3 [build] Update runtime library and tests to work with relocatable SDKs on OS X 10.9.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194168 91177308-0d34-0410-b5e6-96231b3b80d8
2013-11-06 21:44:54 +00:00
Alexander Potapenko 0e7a1cf16c [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



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@193515 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-28 08:21:35 +00:00
Alexey Samsonov d9def9e75e [LSan] Add support for building standalone LSan runtime to Make build (clang part)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188805 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-20 14:49:36 +00:00
Peter Collingbourne 2eeed711be 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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187925 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-07 22:47:34 +00:00
Chandler Carruth 230cdaaab5 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.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184665 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-23 10:10:25 +00:00
Alexey Samsonov f8d4a6b80d Nuke build of static ASan runtime on Mac OS - clang part
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@182278 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-20 14:33:20 +00:00
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
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
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