Age | Commit message (Collapse) | Author |
|
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
"I am the punishment of God... If [autoconf] had not committed great sins, God would not have sent a punishment like me upon [it]."
-Genghis Khan
Reviewers: chandlerc, grosbach, bob.wilson, zaks.anna, kubabrecka, samsonov, echristo
Subscribers: iains, llvm-commits
Differential Revision: http://reviews.llvm.org/D16473
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@258863 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Value profile runtime depends on libc which breaks
buffer API implemenation with current file organization.
Test case is also updated to check more symbols.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@255294 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
I hope this fixes our internal buildbots (rdar://23614130)
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@253735 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Differential Revision: http://reviews.llvm.org/D14290
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@252976 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
clang_darwin.mk
Summary: This is the Makefile analog of r247833, except that the test also had to be changed such that clang actually attempts to link the program as opposed to just building it. Because of that change, I also switched the order to checking for ld/clang architecture support, because now lack of ld support would make the clang check fail. This fixes PR24776.
Reviewers: beanz
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D13425
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@249358 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@248529 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
out of cc_kext into cc_kext_ios
Summary:
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.
There is a cooresponding clang change coming too.
Reviewers: bogner, bob.wilson
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D13112
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@248441 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@247026 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@246599 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
r241824 didn't update the autoconf build system to handle the new file
in the profile library.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@242013 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
The dylib build of compiler-rt has been broken on darwin since the
directory restructuring to push some things down into /builtins/.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@237848 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Kernel side of r237329.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@237330 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Follow-up to r237161, modeled after r236805.
Note that arm64 is omitted on purpose, as the conversions are supported
natively there.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@237329 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Talking to John and Doug, we concluded that these functions from
stdatomic really do belong here in compiler-rt rather than in libc,
since the compiler owns stdatomic.h and these need to refer to
clang-specific builtins. Nonetheless, I've only added these on darwin
for now - other platforms should probably do the same unless their
libc does implement these functions.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@236805 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
This is needed when building the Darwin kernel with
-fsanitize=undefined-trap. rdar://problem/12783702
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@235270 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Summary:
Change the way we use ASan and UBSan together. Instead of keeping two
separate runtimes (libclang_rt.asan and libclang_rt.ubsan), embed UBSan
into ASan and get rid of libclang_rt.ubsan. If UBSan is not supported on
a platform, all UBSan sources are just compiled into dummy empty object
files. UBSan initialization code (e.g. flag parsing) is directly called
from ASan initialization, so we are able to enforce correct
initialization order.
This mirrors the approach we already use for ASan+LSan. This change
doesn't modify the way we use standalone UBSan.
Test Plan: regression test suite
Reviewers: kubabrecka, zaks.anna, rsmith, kcc
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D8646
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@233861 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
For OS X builds, both Make and CMake, let's be very explicit about using
libc++ and libc++abi with:
1) -stdlib=libc++ in CFLAGS and LDFLAGS for all platforms
2) -lc++ in LDFLAGS for all platforms
3) switch from -undefined dynamic_lookup to -lc++abi for UBSan in
Makefile-based builds
Reviewed at http://reviews.llvm.org/D8617
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@233215 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Fix the build/tests by providing -lc++abi for UBSan runtime only.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@233122 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
This change caused test failures on darwin, and the followup which was
meant to fix those caused compiler-rt to start failing to link.
Reverting to get the build working again.
This reverts r233071 and r233036.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@233097 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Summary:
Switch to shared library for UBSan. Add support for building
UBSan on OSX and iossim by cargo-culting ASan build rules.
Test Plan: regression test suite
Reviewers: zaks.anna, kubabrecka
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D8473
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@233036 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
The SDK is insufficient to really build much. The builtins can be built
standalone now which is what the stub SDK was meant to permit. Remove the
unnecessary files.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@230869 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
installation
On OS X, if you don't have a full Xcode installation, but just the Command Line Tools package, xcrun and xcodebuild don't return a valid SDK root path. In these cases, let's use "/" as the SDK root (which is where the headers and libraries are installed).
Reviewed at http://reviews.llvm.org/D7641
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@230847 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
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/compiler-rt/trunk@229756 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
This reverts commit r229556.
Reverting this for now as internal apple builds rely on this
functionality.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@229585 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
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/compiler-rt/trunk@229556 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
libc++, mmacosx-version-min and SDKs
In both CMake and Makefiles, we are inconsistent about the use of libstdc++ vs. libc++, SDKs and minimum deployment targets for OS X. Let's fix the detection of SDKs, and let's explicitely set that we link against libc++ and mmacosx-version-min is 10.7.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@227509 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
These functions are already present in the cc_kext for arm32 and for x86 and
x86_64. It was an oversight that they were not included for arm64.
Based on a patch by Lawrence D'Anna. Thanks!
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@227206 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
OS X by using ASAN_DYNAMIC=1
The idea is to ensure that the ASan runtime gets initialized early (i.e.
before other initializers/constructors) even when DYLD_INSERT_LIBRARIES
is not used. In that case, the interceptors are not installed (on OS X,
DYLD_INSERT_LIBRARIES is required for interceptors to work), and therefore
ASan gets currently initialized quite late -- from the main executable's
module initializer. The following issues are a consequence of this:
https://code.google.com/p/address-sanitizer/issues/detail?id=363
https://code.google.com/p/address-sanitizer/issues/detail?id=357
Both of them are fixed with this patch.
Reviewed at http://reviews.llvm.org/D7117
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@226929 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@225226 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Summary:
Its seems to be replaced by clang_darwin.mk in the Makefile-based
build, and is only referenced in unittest scripts, which are
broken for a long time now.
Test Plan: n/a
Reviewers: bob.wilson
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D6574
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@224946 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Patch by Lawrence D'Anna. Thanks!
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@224270 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
This header is present in the r10c release of the NDK.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@222915 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@221656 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@221622 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
The minimal fake SDK was very useful in allowing us to build for all
Darwin platforms without needing access to the real SDKs, but it did
not support building any of the sanitizer runtimes. It's important to
fix that. As a consequence, if you don't have the iOS SDKs installed,
we will now skip building the iOS-specific libclang_rt libraries.
rdar://problem/18825276
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@221621 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
r199996 added new x86_64h slices for all the Darwin compiler_rt libraries
that had an x86_64 slice, but that is overkill for the iOS Simulator
platform where the x86_64h slice is never used.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@221610 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Reviewed at http://reviews.llvm.org/D6176
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@221556 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Clang r219557 introduces libcalls to complex multiply/divide functions.
Since these functions are not available in iOS for arm64 devices, add them to
the static libraries.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@219715 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
We should check whether the compiler & linker support ARM64 before attempting
to build a version of compiler-rt for it. Otherwise things will go badly.
rdar://problem/18575597
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@219332 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Just a dummy directory and a few sane choices in the Darwin SDK.
rdar://problem/18575597
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@219323 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@219302 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@212665 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
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/compiler-rt/trunk@209473 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@208841 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
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/compiler-rt/trunk@208609 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@208268 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Move functions around to prepare for some other changes.
- Merge InstrProfilingExtras.h with InstrProfiling.h. There's no
benefit to having these split.
- Rename InstrProfilingExtras.c to InstrProfilingFile.c.
- Split actual buffer writing code out of InstrProfiling.c into
InstrProfilingBuffer.c.
- Drive-by corrections of a couple of header comments.
<rdar://problem/15943240>
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204497 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Instead of relying on explicit static initialization from translation
units, create a new file, InstrProfilingRuntime.cc, with an
__llvm_pgo_runtime variable. After this commit (and its pair in clang),
the driver will create a use of this variable. Unless the user defines
their own version, the new object file will get pulled in, including
that C++ static initialization that calls
__llvm_pgo_register_write_atexit.
The result is that, at least on Darwin, static initialization typically
consists of a single function call, which registers a writeout functino
atexit. Furthermore, users can skip even this behaviour by defining
their own __llvm_pgo_runtime.
<rdar://problem/15943240>
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204380 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
<rdar://problem/15943240>
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204373 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Use Darwin linker magic to find bounds of instrumentation data sections
at link time instead of runtime.
<rdar://problem/15943240>
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204302 91177308-0d34-0410-b5e6-96231b3b80d8
|