Alexey Samsonov
c561ce0e01
Build ASan runtime on Linux for both x86_64 and i386, same as we do with full compiler_rt and libprofile
...
llvm-svn: 165096
2012-10-03 07:16:31 +00:00
Bob Wilson
dda435bcef
Temporarily comment out some new arm variants to try to fix buildbots.
...
llvm-svn: 164909
2012-09-30 05:34:28 +00:00
Bob Wilson
a4cefbdc87
Add compiler-rt support for Swift.
...
llvm-svn: 164903
2012-09-29 23:37:01 +00:00
Bob Wilson
0e039bee0d
Add support for iOS6.
...
llvm-svn: 164902
2012-09-29 23:25:48 +00:00
Daniel Dunbar
256ea4e4f3
build/clang_darwin: Add the ASAN dynamic library.
...
- Now with spelling fix for -lstdc++.
llvm-svn: 163527
2012-09-10 18:26:38 +00:00
Chad Rosier
ca8b950317
Revert r163415 in an attempt to bring back the buildbots.
...
llvm-svn: 163522
2012-09-10 17:26:42 +00:00
Daniel Dunbar
6eae4ce2b8
build/clang_darwin: Add the ASAN dynamic library.
...
llvm-svn: 163415
2012-09-07 19:57:35 +00:00
Daniel Dunbar
c053c2bcda
build: Add support for building dylibs.
...
llvm-svn: 163412
2012-09-07 19:57:23 +00:00
Chandler Carruth
1aa4fef601
Relocate the external headers provided by ASan and the common sanitizer
...
library.
These headers are intended to be available to user code when built with
AddressSanitizer (or one of the other sanitizer's in the future) to
interface with the runtime library. As such, they form stable external
C interfaces, and the headers shouldn't be located within the
implementation.
I've pulled them out into what seem like fairly obvious locations and
names, but I'm wide open to further bikeshedding of these names and
locations.
I've updated the code and the build system to cope with the new
locations, both CMake and Makefile. Please let me know if this breaks
anyone's build.
The eventual goal is to install these headers along side the Clang
builtin headers when we build the ASan runtime and install it. My
current thinking is to locate them at:
<prefix>/lib/clang/X.Y/include/sanitizer/common_interface_defs.h
<prefix>/lib/clang/X.Y/include/sanitizer/asan_interface.h
<prefix>/lib/clang/X.Y/include/sanitizer/...
But maybe others have different suggestions?
Fixing the style of the #include between these headers at least unblocks
experimentation with installing them as they now should work when
installed in these locations.
llvm-svn: 162822
2012-08-29 02:27:54 +00:00
Daniel Dunbar
8137cecb68
build/clang_darwin: More principled fix for PR12918; none of this stuff should
...
be built here.
llvm-svn: 159172
2012-06-25 22:41:31 +00:00
Nico Weber
34fd6e9cc2
Don't build compiler-rt arm code on darwin. Fixes PR12918.
...
I'm not sure if this is the right fix, but this has been broken
for two weeks and pleas for review were ignored. It seems to do
the right thing.
llvm-svn: 158466
2012-06-14 20:00:25 +00:00
Nico Weber
4555d5b471
80 columns
...
llvm-svn: 158465
2012-06-14 19:58:46 +00:00
Kostya Serebryany
458b4006b2
[asan,tsan] Add a new directory compiler-rt/lib/sanitizer_common
...
which will contain code shared between asan and tsan run-times.
Naming is hard. If you can suggest a better name for the directory -- speak up.
llvm-svn: 157611
2012-05-29 12:18:18 +00:00
Kostya Serebryany
a20890b6bc
[asan] use -fno-builtin to build asan-rt on Mac
...
llvm-svn: 157239
2012-05-22 07:59:37 +00:00
Kostya Serebryany
c84461dbfe
[asan] use -fPIE -fno-builtin for building asan-rt
...
llvm-svn: 157238
2012-05-22 07:56:09 +00:00
Kostya Serebryany
c9fd917b36
[tsan] makefile machinery to build tsan-rt (linux-x86_64 only)
...
llvm-svn: 156822
2012-05-15 15:17:35 +00:00
Kostya Serebryany
1dd4c606ed
[asan] move lib/asan/interception to lib/interception so that other tools (e.g. tsan) can use it
...
llvm-svn: 156816
2012-05-15 12:21:33 +00:00
Daniel Dunbar
030e0a866c
platform/clang_darwin: Fix a comment.
...
llvm-svn: 152058
2012-03-05 20:46:09 +00:00
Daniel Dunbar
cdf9bf7048
make/clang_darwin: Tweak CheckArches function to force the integrated-as and use
...
the stub SDK to try and ensure we always pick up the right archs when they
should be able to be used.
- Also, warn when we drop an architecture.
This is a reapplication of r150232 that should stick now that we have the
integrated assembler on for ARM.
llvm-svn: 152057
2012-03-05 20:46:06 +00:00
Bob Wilson
ddd971564e
Revert r150232 since it breaks the build when there's no ARM assembler.
...
llvm-svn: 150253
2012-02-10 16:36:49 +00:00
Daniel Dunbar
d205200d41
make/clang_darwin: Tweak CheckArches function to force the integrated-as and use
...
the stub SDK to try and ensure we always pick up the right archs when they
should be able to be used.
- Also, warn when we drop an architecture.
llvm-svn: 150232
2012-02-10 06:00:35 +00:00
Kostya Serebryany
10a6b304e1
[asan] build asan-rt with -funwind-tables
...
llvm-svn: 147341
2011-12-29 17:29:20 +00:00
Kostya Serebryany
0e5704607b
build compiler-rt with -fPIC, otherwise the run-time libs will not link with -pie, at least on linux
...
llvm-svn: 146499
2011-12-13 18:58:47 +00:00
Kostya Serebryany
b50a539eba
[asan] move build-time config options from makefile to source (otherwise we need config options in all makefiles)
...
llvm-svn: 146161
2011-12-08 18:30:42 +00:00
Daniel Dunbar
a8ad183a4c
platform/clang_linux: Switch builtin and profile libraries to build using the
...
stub SDK.
- This allows us to build both the m32 and m64 variants without worrying about
whether or not the user has the headers for the alternate arch installed.
llvm-svn: 146132
2011-12-08 02:39:54 +00:00
Kostya Serebryany
4236c97ccd
build all C++ files in compiler-rt with -fno-exceptions
...
llvm-svn: 145967
2011-12-06 21:11:50 +00:00
Daniel Dunbar
1ad92487ff
platform/clang_linux: Add profile and asan libs on x86.
...
llvm-svn: 145950
2011-12-06 18:25:42 +00:00
Daniel Dunbar
2003d39f7c
build: Add ModuleName per-subdir variable as a way to organize the different
...
sets of functions/objects into high level groups. Currently we have "builtins"
(the main compiler-rt code), "profile", and "asan".
- Use this to define CommonFunctions and ArchFunctions to only reference the
builtins functions.
llvm-svn: 145674
2011-12-02 02:42:07 +00:00
Daniel Dunbar
cf7fb02388
build/asan: Better fix for ASAN i386 build on Darwin, this causes us to see the
...
non-standard struct names.
llvm-svn: 145658
2011-12-02 00:52:55 +00:00
Daniel Dunbar
8a5fd211ab
build/asan: Fix ASAN build for i386, for reasons I don't really understand we
...
get the DARWIN_UNIX03 definition on x86_64 but not on i386.
llvm-svn: 145657
2011-12-02 00:45:48 +00:00
Daniel Dunbar
5cd49adb2d
platform/clang_darwin: Add asan runtime library configuration.
...
llvm-svn: 145649
2011-12-01 23:35:59 +00:00
Daniel Dunbar
2aa900834e
build: Sketch a Clang/Linux platform config.
...
- Currently just tries to build a full library for i386/x86_64.
- This is made substantially more complicated by the lack of a generalized way
to check for/invoke cross compilers. For now, we just try and make it work
for the matched arch, and rely on the host CC being Clang.
llvm-svn: 145322
2011-11-28 23:50:13 +00:00
Daniel Dunbar
f5e4b33f8e
platform/clang_darwin: Fix a refacto and commento.
...
llvm-svn: 144913
2011-11-17 17:47:22 +00:00
Daniel Dunbar
6a76c5eec4
platform/clang_darwin: Add configs for profiling support.
...
llvm-svn: 144866
2011-11-17 00:12:12 +00:00
Daniel Dunbar
35923d7864
platform/clang_darwin: Switch over to use stub Darwin SDK.
...
llvm-svn: 144845
2011-11-16 22:41:03 +00:00
Daniel Dunbar
56f42279c6
platform/clang_darwin: Tweak deployment arg variable names.
...
llvm-svn: 144844
2011-11-16 22:41:00 +00:00
Daniel Dunbar
2139c52d33
lib: Finish int_math.h definitions using compiler builtins and eliminate
...
implementation use of <math.h>.
llvm-svn: 144786
2011-11-16 07:33:06 +00:00
Daniel Dunbar
2b88e03404
lib: Add support for library wide utility functions, and make compilerrt_abort()
...
a real boy.
- The utility module needs to be included into every produced library, because
we don't have enough dependency tracking to know exactly which other modules
might require the utilities.
llvm-svn: 144751
2011-11-16 01:19:19 +00:00
Daniel Dunbar
2c523a6ff0
build/darwin_bni: Remove consistency check I added, I forgot we always load
...
every platform (even if it isn't being built).
llvm-svn: 144740
2011-11-16 00:20:40 +00:00
Daniel Dunbar
6328e7b1b3
build/darwin_bni: Add a consistency check.
...
llvm-svn: 144738
2011-11-16 00:20:29 +00:00
Daniel Dunbar
2f629c8992
build/clang_darwin: Set CC before trying to run CheckArches.
...
llvm-svn: 144661
2011-11-15 18:34:53 +00:00
Daniel Dunbar
3306157ab3
build/darwin_fat: Drop ppc from default arch list, ppc targets are no longer supported by modern toolchains.
...
llvm-svn: 144659
2011-11-15 18:34:22 +00:00
Daniel Dunbar
fdb75e40ae
build: Change default CC to be clang instead of gcc.
...
llvm-svn: 144658
2011-11-15 18:34:17 +00:00
Daniel Dunbar
638095fa8f
platform/clang_darwin: Improve the "can we build for this arch test" by checking
...
that the standard includes we use in compiler-rt also work.
llvm-svn: 144305
2011-11-10 19:32:03 +00:00
Nick Kledzik
b69f3694df
<rdar://problem/10172492> No armv4t slice of libcompiler_rt-static.a
...
llvm-svn: 140630
2011-09-27 20:05:27 +00:00
Daniel Dunbar
2682897e11
platform/clang_darwin: Allow use of an RC_SUPPORTED_ARCHS variable to limit the
...
architectures we try to build for.
llvm-svn: 139738
2011-09-14 21:19:45 +00:00
Bob Wilson
fd5148b45d
Remove redundant flag: -mthumb is the default for armv7.
...
llvm-svn: 138275
2011-08-22 21:39:01 +00:00
Bob Wilson
b13cb3ba06
Add the ARM VFP variants to the cc_kext libraries for armv6 and armv7.
...
Radar 9959402.
llvm-svn: 137835
2011-08-17 18:09:59 +00:00
Nick Kledzik
1f9470589b
<rdar://problem/9624306> clean up darwin platform to use xcrun. Set up variables in darwin_bni.mk. Use GetCNAVar in AppleBI.mk
...
llvm-svn: 133487
2011-06-21 00:07:55 +00:00
Nick Kledzik
3729225576
add STRIP and LIPO as AvailableOptions
...
llvm-svn: 133481
2011-06-20 23:47:02 +00:00
Eric Christopher
00758b08ae
Missed a rename here 4 args instead of 3.
...
llvm-svn: 133311
2011-06-17 23:19:18 +00:00
Eric Christopher
1d1809437e
Implement mulo<mode>4 for use in signed overflow checking.
...
Fixes rdar://9219742 and rdar://9218244
llvm-svn: 133284
2011-06-17 20:17:05 +00:00
Daniel Dunbar
7487bbb72a
build/clang_darwin: Fix previous change to CheckArches to not cause problem when
...
command produces error output on stdout instead of stderr (and suppress the
stderr output while at it).
llvm-svn: 133019
2011-06-14 22:21:49 +00:00
Daniel Dunbar
47e71a3711
build/clang_darwin: Improve archs check to verify we can not just recognize
...
arch, but actually compile a file with that arch.
llvm-svn: 132928
2011-06-13 19:18:23 +00:00
Daniel Dunbar
5c5d361236
clang/darwin: Tweak CheckArches function to use CC and to not spew output.
...
llvm-svn: 131656
2011-05-19 18:02:55 +00:00
Eric Christopher
539ec3ae90
Check architectures to make sure that we can build for all of them
...
before we try to.
Patch by Patrick Walton!
llvm-svn: 131098
2011-05-09 20:24:43 +00:00
Daniel Dunbar
eac62c5388
clang/Darwin: Include divsi3 functions on x86, they are used by the divmod
...
implementation.
llvm-svn: 131034
2011-05-06 23:06:07 +00:00
Daniel Dunbar
5aea1725ac
clang/Darwin: Update ios static lib to build for all archs, in case the
...
simulator wants to use it.
llvm-svn: 130566
2011-04-30 01:20:56 +00:00
Eric Christopher
fca8b75b71
Make sure we include __sync_synchronize on arm platforms if we need it.
...
llvm-svn: 129944
2011-04-21 22:05:05 +00:00
Daniel Dunbar
0ce75e834f
clang_darwin: Add divmod functions to cc_kext library.
...
llvm-svn: 129874
2011-04-20 21:40:40 +00:00
Daniel Dunbar
74457a715d
clang_darwin: Always set deployment targets when building compiler-rt bits, so
...
that we don't have a hidden dependency on possible deployment target environment
overrides.
- Also, add support for an ARM_SDK build variable which points to the isysroot
to use for ARM bits.
llvm-svn: 129873
2011-04-20 21:40:37 +00:00
Daniel Dunbar
ddd3a2ec1d
clang_darwin: Tweak runtime library definitions to include divmod functions.
...
llvm-svn: 129757
2011-04-19 15:14:46 +00:00
Nick Kledzik
19b826011e
<rdar://problem/9282305> install an archive for dyld and fix missing -static
...
llvm-svn: 129492
2011-04-14 00:45:01 +00:00
Nick Kledzik
012323dee9
<rdar://problem/9173756> enable CC.Release to be used always
...
llvm-svn: 129487
2011-04-14 00:39:01 +00:00
Daniel Dunbar
1d84f37577
clang/Darwin: Add all the comparison functions, the desire to cherry pick just
...
the ones we want isn't worth the effort.
llvm-svn: 128298
2011-03-25 19:19:10 +00:00
Daniel Dunbar
4c70f3e6ac
Revert "Split single & double comparison routines into separate implementation
...
files," for now, I missed some necesary updates.
llvm-svn: 128296
2011-03-25 18:45:39 +00:00
Daniel Dunbar
1102c9ae58
Split single & double comparison routines into separate implementation files,
...
for consistency.
llvm-svn: 128282
2011-03-25 15:52:51 +00:00
Daniel Dunbar
1730ab0b94
compiler-rt/clang/cc_kext: Update for functions which we have sinced acquired
...
implementations for.
llvm-svn: 128039
2011-03-21 23:31:09 +00:00
Nick Kledzik
47a823b281
<rdar://problem/8914924> implement udivmodsi4 and divmodsi4 for ARM
...
llvm-svn: 127778
2011-03-17 00:09:13 +00:00
Nick Kledzik
371d881758
<rdar://problem/9145073> use -Os for release builds
...
llvm-svn: 127767
2011-03-16 22:23:24 +00:00
Nick Kledzik
b611885ae6
<rdar://problem/9099747> fix use of SDKROOT
...
llvm-svn: 127270
2011-03-08 20:25:22 +00:00
Nick Kledzik
fc1586cf9f
<rdar://problem/9091300> update Apple packaging of compiler-rt
...
llvm-svn: 127057
2011-03-05 02:15:16 +00:00
Daniel Dunbar
fee882c203
clang_darwin: We don't need clear_cache for use with Clang on ARM/Darwin.
...
llvm-svn: 123989
2011-01-21 18:23:47 +00:00
Daniel Dunbar
e1e6acecb3
clang_darwin: Build with -fno-builtin, primarily to avoid issues with defining possible builtin functions.
...
llvm-svn: 123988
2011-01-21 18:23:42 +00:00
Daniel Dunbar
384a842085
clang_darwin: Start building an armv7 slice for cc_kext.
...
llvm-svn: 123987
2011-01-21 18:23:37 +00:00
Daniel Dunbar
77b059e32b
clang_darwin: Build cckext bits with -mthumb.
...
llvm-svn: 123986
2011-01-21 18:23:32 +00:00
Daniel Dunbar
d8baa2b4b0
Fix typo.
...
llvm-svn: 123985
2011-01-21 18:23:27 +00:00
Daniel Dunbar
dde0471072
make: Add CheckCommandLineOverrides to my little Makefile library, a routine for
...
validating the variables set on the make command line.
llvm-svn: 116517
2010-10-14 21:23:37 +00:00
Nick Kledzik
c2d789b95e
<rdar://problem/8482056> Add Soft Floating Compares for armv6 and armv7
...
llvm-svn: 114854
2010-09-27 18:28:15 +00:00
Daniel Dunbar
5680b2a09c
compiler-rt/clang/Darwin: Add a new library configuration which has nothing
...
other than eprintf for i386.
llvm-svn: 114504
2010-09-21 23:42:49 +00:00
Nick Kledzik
238bc001ca
fix install location
...
llvm-svn: 107589
2010-07-04 18:29:23 +00:00
Nick Kledzik
9445ef8f4a
fix arvm5 builds
...
llvm-svn: 107588
2010-07-04 18:29:01 +00:00
Nick Kledzik
749dc33dff
<rdar://problem/7987491> Libcompiler_rt isn't platform aware
...
llvm-svn: 103852
2010-05-15 01:42:04 +00:00
Nick Kledzik
386e5f364e
tweak arm exports
...
llvm-svn: 103331
2010-05-07 23:44:43 +00:00
Nick Kledzik
26274da38f
improve arm build support on darwin
...
llvm-svn: 102032
2010-04-21 22:46:53 +00:00
Daniel Dunbar
2843b5ed7f
clang/Darwin: Don't include enable_execute_stack in libcc_kext.a.
...
llvm-svn: 100055
2010-03-31 22:36:07 +00:00
Nick Kledzik
516f36d133
<rdar://problem/7733536> Move libcompiler_rt over to a dylib target for Libsystem
...
llvm-svn: 100045
2010-03-31 20:38:57 +00:00
Daniel Dunbar
587b1d419d
Add new build option KERNEL_USE, which compiles with -mkernel and gets propogated to CFLAGS. Use this to call panic() instead of abort() when enabled.
...
llvm-svn: 100015
2010-03-31 17:00:48 +00:00
Daniel Dunbar
36e6b654a2
Don't build an armv7 slice for now, it has the same stuff as on armv6.
...
llvm-svn: 99654
2010-03-26 21:07:05 +00:00
Daniel Dunbar
8900ab9b2f
Clang/Darwin: Add definition for files to put in cc_kext.a.
...
llvm-svn: 99632
2010-03-26 18:52:45 +00:00
Nick Kledzik
debb901045
add __sync_synchronize. Needed by compiler when emitting thumb1 with -fno-builtin
...
llvm-svn: 95132
2010-02-02 21:34:04 +00:00
Nick Kledzik
1683cebc9d
add compiler options for B&I builds
...
llvm-svn: 95123
2010-02-02 21:03:34 +00:00
Nick Kledzik
3efa0ef21a
FUNCTIONS.armv6 to have actual function names
...
llvm-svn: 95018
2010-02-01 22:40:40 +00:00
Daniel Dunbar
f99eaa948d
Tweak clang_darwin config to strip off any -arch if the user overrides CC, we do
...
this during an Apple style build.
llvm-svn: 94216
2010-01-22 21:06:18 +00:00
Daniel Dunbar
857138f663
clang/Darwin: Rename x86_10.4 static lib config to just 10.4, and add 'eprintf'
...
which seems to be needed.
llvm-svn: 93969
2010-01-20 02:34:31 +00:00
Daniel Dunbar
d5f5236468
Add .mk for use by clang/Darwin.
...
llvm-svn: 93817
2010-01-19 00:01:22 +00:00
Daniel Dunbar
bdf248d13a
Allow UniversalArchs variable to be overridden on a per-config basis.
...
llvm-svn: 93816
2010-01-19 00:01:15 +00:00
Daniel Dunbar
f665b32a70
Add a VISIBILITY_HIDDEN option, which can be used to make all compiler-rt function definitions hidden/private extern.
...
llvm-svn: 93790
2010-01-18 22:19:34 +00:00
Daniel Dunbar
d382d17f09
Update Apple-style build support for new Makefiles
...
llvm-svn: 93721
2010-01-18 06:49:42 +00:00
Daniel Dunbar
efd84e770b
Add support for "platform" configurations, which define a suite of compiler-rt
...
libraries to generate.
- Each library may be built with different flags and for different
architectures, and there is support for building Darwin style fat archives.
- Uses an ambituous amount of make programming, but should be hidden to
users and developers.
llvm-svn: 93720
2010-01-18 06:49:33 +00:00
Daniel Dunbar
16c5071c6d
Remove old build logic, this is going to be replaced by a more configurable mechanism shortly.
...
llvm-svn: 93719
2010-01-18 06:49:16 +00:00
Daniel Dunbar
6bcbef6230
Rename subdir 'Target' variable to 'Implementation' to be less overloaded.
...
llvm-svn: 93718
2010-01-18 06:49:09 +00:00
Daniel Dunbar
8e5a2f084a
Add 'SelectFunctionDir' function, to select appropriate function implementation based on a configuration and architecture.
...
llvm-svn: 93717
2010-01-18 06:48:56 +00:00
Daniel Dunbar
ae28e68d09
Add more make utility functions.
...
- With tests. :)
llvm-svn: 93716
2010-01-18 06:48:48 +00:00
Daniel Dunbar
2d9816e44b
Change subdir traversal to primarily cache information about what is available in subdirectories.
...
- Rest of makefiles will move to using the information after it has been computed, instead of during subdir traversal.
Also, add 'make info-functions' target, which prints information on all the functions available in compiler-rt.
Also, add 'make help-devel' for listing help on targets intended for compiler-rt developers or direct users.
llvm-svn: 93715
2010-01-18 06:48:40 +00:00
Daniel Dunbar
56e0eb9fc9
Simplify subdirectory makefiles, and be more robust by checking that they define the appropriate variables.
...
llvm-svn: 93714
2010-01-18 06:48:33 +00:00
Daniel Dunbar
43164b34b1
Rename DebugMake variable to DEBUGMAKE for consistency (variables that are designed to be overridden), and use VERBOSE=1 instead of VERBOSE!="" for controlling verbosity.
...
llvm-svn: 93712
2010-01-18 06:48:12 +00:00
Daniel Dunbar
dcf5a317f1
Tidy up comments, remove whitespace, and rename 'print-%' make debugging target
...
to 'make-print-%' to match LLVM.
llvm-svn: 93319
2010-01-13 16:13:01 +00:00
Nick Kledzik
d4b78d38d4
add __save_vfp_d8_d15_regs and __restore_vfp_d8_d15_regs for ARM
...
llvm-svn: 85531
2009-10-29 22:31:39 +00:00
Nick Kledzik
e80d44c943
update make rules so libcompiler-rt can be built for armv6 the Apple way
...
llvm-svn: 82185
2009-09-18 00:09:05 +00:00
Daniel Dunbar
c91aeac18b
Stub out structure for building armv{6,7} libs.
...
llvm-svn: 81482
2009-09-10 23:50:10 +00:00
Daniel Dunbar
c7b06b3edf
Support building for a single target architecture.
...
llvm-svn: 80943
2009-09-03 20:49:22 +00:00
Chris Lattner
7a76c06c20
improve portability to platforms that don't put python in /usr/bin. Patch by
...
Pawel Worach!
llvm-svn: 74869
2009-07-06 22:24:16 +00:00
Daniel Dunbar
fd089990f7
Initial import of compiler-rt.
...
-
llvm-svn: 74292
2009-06-26 16:47:03 +00:00