Commit Graph

296 Commits

Author SHA1 Message Date
Kostya Serebryany 15dd3f2500 Refactor shadow poisoning done by asan-rt, no funtionality changes; patch by samsonov@google.com
llvm-svn: 145505
2011-11-30 18:50:23 +00:00
Kostya Serebryany 9d1eee9e2a fix asan-rt build on Mac. Patch by glider@google.com
llvm-svn: 145496
2011-11-30 17:33:13 +00:00
Kostya Serebryany 019b76f5fd AddressSanitizer run-time library. Not yet integrated with the compiler-rt build system, but can be built using the old makefile. See details in README.txt
llvm-svn: 145463
2011-11-30 01:07:02 +00:00
Daniel Dunbar e2ed5fb636 lib/int_util: My refactoring to allow shared utility code had a fatal flaw when
multiple .a files would end up with duplicate strong definitions. This could
cause link failures in certain scenarios when both definitions got loaded.
 - The best solution I see for this (aside from not factoring out the utility
   code) is to mark the definitions weak. Better solutions appreciated!

llvm-svn: 145427
2011-11-29 19:44:14 +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 fb16114782 lib: Import GCDA profiling support from LLVM.
- I'm in the process of moving this here but it will live in both places until
   the ancilliary support is ready.
 - Currently unused.

llvm-svn: 144865
2011-11-17 00:12:10 +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 e9da222f2f build/SDKs: Sketch a minimal stub SDK for Darwin.
- Motivation is explained in the README, but basically it is convenient to be
   able to build compiler-rt free standing. Since our external dependencies are
   so small, we can achieve this relatively easily by just stubbing out the
   declarations of the external dependencies.
 - This is in no way, shape, or form intended to be complete, it is just the
   minimal stubs necessary to support the stuff we use.

llvm-svn: 144843
2011-11-16 22:40:57 +00:00
Daniel Dunbar 82f9c199e8 lib/int_math: Some versions of GCC don't provide __builtin_isfinite. Support
them.

llvm-svn: 144810
2011-11-16 18:56:55 +00:00
Daniel Dunbar 960d55e9ff lib/ppc: Fix a refacto.
llvm-svn: 144809
2011-11-16 18:56:53 +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 ddf1890a5e lib: Starting thinning out the dependency on math.h by using compiler builtins
where available.

llvm-svn: 144785
2011-11-16 07:33:00 +00:00
Daniel Dunbar b151274d3d lib: Remove uses of complex.h which does not appear to be required.
llvm-svn: 144754
2011-11-16 01:19:32 +00:00
Daniel Dunbar 490a270f18 lib/gcc_personality_v0: Remove an unnecessary include.
llvm-svn: 144753
2011-11-16 01:19:29 +00:00
Daniel Dunbar 5ed39314ce lib: Eliminate direct include of stdlib.h from files that used to (potentially)
need it for compilerrt_abort().

llvm-svn: 144752
2011-11-16 01:19:26 +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 2f9c1404dd lib/{ppc,x86_64}: Fixup a number of files to include int_lib.h instead of
directly including system headers.

llvm-svn: 144750
2011-11-16 01:19:16 +00:00
Daniel Dunbar 7557f0248a lib: Remove math.h from int_lib.h, which doesn't appear to be required.
llvm-svn: 144749
2011-11-16 01:19:12 +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 7205b23e79 lib: Include float.h in int_lib.h, and eliminate duplicate includes from a number of source files.
llvm-svn: 144739
2011-11-16 00:20:36 +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 fd1fb8515f lib: Include stdbool.h in int_lib.h, and eliminate duplicate includes from a number of source files.
llvm-svn: 144671
2011-11-15 19:02:22 +00:00
Daniel Dunbar cc675f410e lib: Rename endianness.h to int_endianness.h (for consistency) and tidy up a bit.
llvm-svn: 144669
2011-11-15 18:56:21 +00:00
Daniel Dunbar ad4f982879 lib: Split out int_types.h, for readability.
llvm-svn: 144668
2011-11-15 18:56:13 +00:00
Daniel Dunbar 5a29e55a12 git: Tweak .gitignore to ignore defined platform build directories.
- We should probably sink the platform build dirs into a common top-level dir.

llvm-svn: 144662
2011-11-15 18:34:57 +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 b6f75f73fd lib: Integrate abi.h into int_lib.h, there aren't good enough reasons for this extra complexity.
llvm-svn: 144660
2011-11-15 18:34:44 +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 7184d9fc33 Change ARM vfp assembly functions to use unified syntax.
llvm-svn: 138332
2011-08-23 16:40:18 +00:00
Bob Wilson 66cdd22ff4 Refactor DEFINE_COMPILERRT_FUNCTION.
llvm-svn: 138277
2011-08-22 21:49:47 +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
Joerg Sonnenberger 8b068943a4 Don't redeclare sr.
llvm-svn: 136424
2011-07-28 23:15:41 +00:00
Joerg Sonnenberger cf2996dc22 Don't redeclare sr.
llvm-svn: 136377
2011-07-28 19:47:33 +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
Joerg Sonnenberger d9bcddd6b9 If a test case is not compiled on a specific platform, print "skipped"
to stdout. This helps identifying missing coverage on a given platform.

llvm-svn: 132300
2011-05-29 21:43:29 +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
Anton Korobeynikov 3c5199042a Add some macro magic: user __USER_LABEL_PREFIX__ instead of hardcoding it for each platform
llvm-svn: 129818
2011-04-19 21:22:14 +00:00
Anton Korobeynikov 4322a7d2c6 More fixes for missed includes
llvm-svn: 129807
2011-04-19 20:50:32 +00:00
Anton Korobeynikov 147ecfad82 Add missed include
llvm-svn: 129804
2011-04-19 20:45:29 +00:00
Anton Korobeynikov 0529d4da93 Add missed files from my last commit.
llvm-svn: 129777
2011-04-19 18:14:19 +00:00
Anton Korobeynikov e63da933eb Move abi bits to separate header. Force AAPCS for EABI in accordance with ARM RTABI.
llvm-svn: 129769
2011-04-19 17:52:09 +00:00
Anton Korobeynikov 75e3c1993c Add ARM EABI function aliases to routines
llvm-svn: 129768
2011-04-19 17:51:24 +00:00
Anton Korobeynikov bdadd87c4d Make use of LOCAL_LABEL macro
llvm-svn: 129767
2011-04-19 17:50:42 +00:00
Anton Korobeynikov 1653610449 Get rid of darwin'isms. Provide convenient macro for assembler local lables.
llvm-svn: 129766
2011-04-19 17:50:09 +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 e7e288c805 don't add version info for static library
llvm-svn: 129489
2011-04-14 00:40:20 +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
Nick Kledzik aa60d6ac01 fix typo
llvm-svn: 129389
2011-04-12 21:22:48 +00:00
Nick Kledzik 191c2804e7 <rdar://problem/9185449> update version info for arm
llvm-svn: 129386
2011-04-12 21:11:47 +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
Daniel Dunbar f3798a397d compiler-rt: Split subdf3 and subsf3 out of add implementations, for
consistency.

llvm-svn: 128038
2011-03-21 23:30:19 +00:00
Stephen Canon 32acbef33f slight re-arrangement to maybe pick up one cycle on dual-issue ARM cores
llvm-svn: 128003
2011-03-21 17:35:26 +00:00
Stephen Canon 5abb5c14c4 Carefully written implementations of the 32-bit integer divide and modulus functions for ARM. These are still using a naive digit-by-digit algorithm, but the core loop has been carefully written.
llvm-svn: 127882
2011-03-18 16:35:02 +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
Chris Lattner 15bc34c7c2 don't compile modsi3 into an infinite loop, patch by Matt Johnson!
llvm-svn: 127429
2011-03-10 22:11:46 +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
Nick Kledzik 9f1bd06ae9 Add missing <stdint.h> to build properly on Solaris. Patch by Joakim Johansson
llvm-svn: 123006
2011-01-07 19:09:06 +00:00
Howard Hinnant 5b791f6e64 license change
llvm-svn: 119397
2010-11-16 22:13:33 +00:00
Chris Lattner f8a07f67e7 compiler_rt is now dual licensed under MIT and UIUC license.
llvm-svn: 119389
2010-11-16 21:34:56 +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
Stephen Canon 5f0e6e7b92 Adds an extra explicit cast to fix Bug 7931 and removes codepaths that were never used
llvm-svn: 111269
2010-08-17 19:13:45 +00:00
Blaine Garst be67b4aa20 add unit tests
llvm-svn: 110278
2010-08-04 23:34:21 +00:00
Nick Kledzik cceb1f2e67 add assembly implementation of modsi3 so compiler does not have to special case a - (a / b) * b optimization
llvm-svn: 109492
2010-07-27 06:24:32 +00:00
Stephen Canon 8770d3d367 Fix error in rep_clz on non-LP64 targets. Patch by Christoph Gerum
llvm-svn: 109416
2010-07-26 18:17:00 +00:00
Stephen Canon df69264765 Hand-tuning of single-precision soft-float comparison routines for ARM
llvm-svn: 107891
2010-07-08 17:45:05 +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
Stephen Canon 644ab08dec Initial implementation of double-precision soft-float division, moved a couple utility functions from the multiplications into the utility header
llvm-svn: 107586
2010-07-04 16:53:39 +00:00