Alexander Potapenko
2b2e0721d7
Define the bounds of the branch allocator memory space for 32-bit apps.
...
llvm-svn: 148303
2012-01-17 09:38:54 +00:00
Alexey Samsonov
209c514a1d
AddressSanitizer: add support for malloc_usable_size() function
...
llvm-svn: 148287
2012-01-17 06:39:10 +00:00
Alexey Samsonov
2d3a67b73b
AddressSanitizer: create AsanThreadSummary together with AsanThread (in parent thread)
...
llvm-svn: 148286
2012-01-17 06:35:31 +00:00
Evgeniy Stepanov
1b65b17bf5
[asan] Implement GetObjectNameAndOffset on ARM.
...
llvm-svn: 148236
2012-01-16 12:45:07 +00:00
Alexey Samsonov
50bf956f29
AddressSanitizer: fix recently introduced lint errors and broken test on Mac.
...
llvm-svn: 148235
2012-01-16 12:38:09 +00:00
Evgeniy Stepanov
2227207c83
Disable posix_memalign test on Android.
...
llvm-svn: 148234
2012-01-16 12:19:51 +00:00
Alexander Potapenko
bd53f597de
This patch adds two methods, __asan_allocate_island and __asan_deallocate_island
...
and switches our interceptors to using them instead of the default
vm_allocate-based approach used by mach_override_ptr.
To simplify the code, a fixed memory mapping is used for the allocation pool --
note that we can't mmap an arbitrary chunk of memory, because the shadow memory hasn't been mapped yet
(for the reasons discussed in http://code.google.com/p/address-sanitizer/issues/detail?id=24 , we cannot map the shadow earlier)
The patch drops the program startup time from several second to half a second,
which speeds up the execution of ASan tests noticeably.
Because of the virtual memory size occupied by the programs it's hard
to speed up the shutdown time, which would've also helped the tests.
llvm-svn: 148116
2012-01-13 16:13:58 +00:00
Alexander Potapenko
9301db4baa
Add __asan_mach_override_ptr_custom, which allows to inject a custom memory allocator into mach_override_ptr().
...
llvm-svn: 148115
2012-01-13 15:31:37 +00:00
Alexander Potapenko
553c208d22
This patch moves the code reading /proc/self/environ into AsanGetEnv
...
in asan_linux.cc, because /proc is unavailable on Mac.
Instead the Mac version of AsanGetEnv iterates over the array of
environment variables obtained from _NSGetEnviron()
llvm-svn: 148114
2012-01-13 12:59:48 +00:00
Anton Korobeynikov
48cfd55c5d
Add some basic mingw support.
...
Patch by Ruben Van Boxem!
llvm-svn: 148048
2012-01-12 21:13:48 +00:00
Evgeniy Stepanov
837fe5bcc9
Call asan_init from .preinit_array.
...
Protected by an #ifdef, disabled by default.
llvm-svn: 147932
2012-01-11 08:17:19 +00:00
Alexey Samsonov
5d5fa5115a
Test commit. Minor cleanup in AsanThread
...
llvm-svn: 147930
2012-01-11 08:07:51 +00:00
Kostya Serebryany
41cdb8614c
[asan] remove OS-dependent headers from asan_internal.h
...
llvm-svn: 147919
2012-01-11 02:39:16 +00:00
Kostya Serebryany
0c8fa7b8ed
[asan] remove OS-dependent includes from asan_interceptors.h
...
llvm-svn: 147916
2012-01-11 02:32:40 +00:00
Kostya Serebryany
1dd51b53b2
[asan] move TSD code into asan_posix.cc
...
llvm-svn: 147913
2012-01-11 02:21:06 +00:00
Kostya Serebryany
332923be32
[asan] get rid of the scary TSD destructor code. Now, we store the leaky AsanThreadSummary in TSD and never remove it from there.
...
llvm-svn: 147910
2012-01-11 02:03:16 +00:00
Kostya Serebryany
258d7b4182
[asan] hopefully fix the build on MacOS 10.6 (the code did work on 10.7, where I tested it)
...
llvm-svn: 147896
2012-01-10 23:36:59 +00:00
Kostya Serebryany
a82f0d4950
[asan] move OS-dependent code away from asan_lock.h
...
llvm-svn: 147878
2012-01-10 21:24:40 +00:00
Kostya Serebryany
edb4a8a128
[asan] don't include unistd.h in the headers
...
llvm-svn: 147811
2012-01-09 23:11:26 +00:00
Kostya Serebryany
3a55cfacf1
[asan] temporary reinstate string.h/strings.h. Removal of those caused a Mac build failulre which I failed to observe before the commit
...
llvm-svn: 147810
2012-01-09 22:45:05 +00:00
Kostya Serebryany
d9cb2f13b3
[asan] don't include string.h and strings.h
...
llvm-svn: 147809
2012-01-09 22:36:51 +00:00
Kostya Serebryany
65518014e2
[asan] don't use strstr/strncat from libc, use our own versions instead
...
llvm-svn: 147807
2012-01-09 22:20:49 +00:00
Kostya Serebryany
3ab81d1f26
[asan] fix mac build once more
...
llvm-svn: 147796
2012-01-09 19:50:06 +00:00
Kostya Serebryany
3e559e87a4
[asan]: fix typo from previous commit
...
llvm-svn: 147793
2012-01-09 19:41:15 +00:00
Kostya Serebryany
ba41e8d2c5
[asan]: fix mac build
...
llvm-svn: 147792
2012-01-09 19:35:11 +00:00
Kostya Serebryany
5be458ccfd
[asan] refactoring: move some common linux/mac code to asan_posix.cc
...
llvm-svn: 147788
2012-01-09 19:18:27 +00:00
Kostya Serebryany
9fd01e5ea5
[asan] refactoring: move all interceptors to a single file
...
llvm-svn: 147784
2012-01-09 18:53:15 +00:00
Kostya Serebryany
3f4b9bb4a0
[asan] do not use new/delete for the internal thread structure
...
llvm-svn: 147674
2012-01-06 19:44:11 +00:00
Kostya Serebryany
25d6c1b3c3
[asan] move more code into OS-specific files
...
llvm-svn: 147671
2012-01-06 19:11:09 +00:00
Kostya Serebryany
adebf0caf5
[asan] cleanup: remove the SIGILL-related code (rt part)
...
llvm-svn: 147665
2012-01-06 18:02:04 +00:00
Kostya Serebryany
2b08718bba
[asan] move more stuff to OS-specific files
...
llvm-svn: 147647
2012-01-06 02:12:25 +00:00
Rafael Espindola
a0fbaeebe6
Fix build on minix. Patch by Ben Gras!
...
llvm-svn: 147632
2012-01-05 23:59:42 +00:00
Kostya Serebryany
3b7fb102c4
[asan] use dl_iterate_phdr for pre-symbolization on linux instead of parsing /proc/self/maps
...
llvm-svn: 147628
2012-01-05 23:50:34 +00:00
Kostya Serebryany
78d87d3b4b
[asan] move {linux,mac}-specific code from asan_thread.cc to asan_{linux,mac}.cc; also add asan_procmaps.h which I forgot to add on previous commit.
...
llvm-svn: 147586
2012-01-05 01:07:27 +00:00
Kostya Serebryany
cd271f5440
[asan] implement our own /proc/self/maps reader and use it on linux instead of sysinfo.h
...
llvm-svn: 147581
2012-01-05 00:44:33 +00:00
Kostya Serebryany
cc1d7893d6
[asan] remove objdump-based tests in favour of much simpler LLVM-ish tests
...
llvm-svn: 147514
2012-01-04 02:08:46 +00:00
Bob Wilson
bf9a62dcad
Fix missing include of int_lib.h and ppc ifdef for FreeBSD.
...
Patch provided by Ed Schouten!
llvm-svn: 147458
2012-01-03 18:59:25 +00:00
NAKAMURA Takumi
e9d3d21988
Happy new year 2012!
...
llvm-svn: 147395
2012-01-01 08:16:56 +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
d2d043be45
[asan] force the __asan_unregister_globals to reside in the runtime library
...
llvm-svn: 147329
2011-12-28 23:35:46 +00:00
Kostya Serebryany
a772096156
[asan] refactoring: don't #include <sys/mman.h> in non-os-specific files
...
llvm-svn: 147328
2011-12-28 23:28:54 +00:00
Kostya Serebryany
6c4bd806fa
[asan] use custom libc-free getenv; a bit of refactoring around mmap calls
...
llvm-svn: 147326
2011-12-28 22:58:01 +00:00
Kostya Serebryany
5bdf7dcb2d
[asan] missing PTHREAD_DESTRUCTOR_ITERATIONS on Android. patch by eugeni.stepanov@gmail.com
...
llvm-svn: 147322
2011-12-28 20:47:21 +00:00
Kostya Serebryany
bab78de8a3
[asan] discover main thread stack limits without pthread. patch by eugeni.stepanov@gmail.com
...
llvm-svn: 147321
2011-12-28 20:34:30 +00:00
Kostya Serebryany
2b87e403c4
[asan] no ucontext on Android. patch by eugeni.stepanov@gmail.com
...
llvm-svn: 147320
2011-12-28 20:22:21 +00:00
Kostya Serebryany
76eca5e53a
[asan] enable memset/memcpy/memmove interceptors in asan-rt (in addition to those in the compiler module)
...
llvm-svn: 147319
2011-12-28 19:55:30 +00:00
Kostya Serebryany
e4a84c4f1f
[asan] better message for parameter overlap bugs
...
llvm-svn: 147317
2011-12-28 19:24:31 +00:00
Kostya Serebryany
50bc2a71b2
[asan] interceptor for strcat. Patch by samsonov@google.com
...
llvm-svn: 147316
2011-12-28 19:08:49 +00:00
Kostya Serebryany
6579e355c0
[asan] interceptor for memcmp. Patch by samsonov@google.com
...
llvm-svn: 147315
2011-12-28 18:56:42 +00:00
Kostya Serebryany
809632e28e
[asan] interceptors for strcasecmp and strncasecmp. patch by samsonov@google.com
...
llvm-svn: 147304
2011-12-28 02:24:50 +00:00
Kostya Serebryany
8b981c2564
The code instrumented with ASan may have its own instance of the
...
mach_override library.
In this case chances are that functions from it will be called from
mach_override_ptr() during ASan initialization.
This may lead to crashes (if those functions are instrumented) or
incorrect behavior (if the implementations differ).
The attached patch renames mach_override_ptr() into
__asan_mach_override_ptr() and makes the rest of the mach_override
internals hidden.
The corresponding AddressSanitizer bug is
http://code.google.com/p/address-sanitizer/issues/detail?id=22
Patch by glider@google.com
llvm-svn: 147303
2011-12-28 01:08:14 +00:00
Kostya Serebryany
46c70d33d7
[asan] make sure __asan_report_* functions are not inlined (so that they are not optimized away and are kept in the resulting library). Patch by glider@google.com
...
llvm-svn: 147302
2011-12-28 00:59:39 +00:00
Kostya Serebryany
5469986da0
[asan] remove the test for cfree. 'man cfree' says: 'This function should never be used.' and this function is not found on many OSes we support.
...
llvm-svn: 147301
2011-12-27 23:42:55 +00:00
Kostya Serebryany
dd1386f882
new() has slightly different signature on Android. This patch adds the
...
llvm-svn: 147300
2011-12-27 23:11:09 +00:00
Kostya Serebryany
db32f967b9
[asan] rely on __has_feature(address_sanitizer) instead of the ADDRESS_SANITIZER macro
...
llvm-svn: 147297
2011-12-27 21:57:12 +00:00
Kostya Serebryany
1b82c281f3
[asan] make sure frame pointers are not omitted when running asan output tests
...
llvm-svn: 147293
2011-12-27 19:52:54 +00:00
Kostya Serebryany
6bb2f1d5b5
Recently the GCD tests started failing because of the invalid size of
...
FakeStack on the worker threads.
This patch moves the AsanThread initialization into a separate
procedure that's called when AsanThread objects are called for worker
threads.
Patch by glider@google.com
llvm-svn: 146752
2011-12-16 19:13:35 +00:00
Kostya Serebryany
6d37656c1a
[asan] revert r146529: we do need to build asan-rt as a shared library. Will need to find a different way to modify preinit_array
...
llvm-svn: 146703
2011-12-15 23:08:00 +00:00
Kostya Serebryany
7ce9686921
[asan] added a test to check that a global-buffer-overflow mentioned the module name; revert incorrect change in the test runner
...
llvm-svn: 146701
2011-12-15 22:57:32 +00:00
Kostya Serebryany
9366d42e91
[asan] fix a bug (issue 19) where dlclose and the following mmap caused a false positive. run-time part.
...
llvm-svn: 146687
2011-12-15 21:55:34 +00:00
Kostya Serebryany
e8a7d2aef8
[asan] regression test for asan issue 19, currently fails.
...
llvm-svn: 146681
2011-12-15 20:38:14 +00:00
Kostya Serebryany
7fb33a3d40
[asan] poison the internal asan heap memory, just in case. Change Printf to Report when debugging globals.
...
llvm-svn: 146663
2011-12-15 17:41:30 +00:00
Kostya Serebryany
9bd5208965
[asan] insert __asan_init into ".preinit_array" section. Linux-only.
...
llvm-svn: 146529
2011-12-14 00:19:03 +00:00
Kostya Serebryany
e85da73553
[asan] fix the test runner to detect build breakages; add a test for -pie
...
llvm-svn: 146528
2011-12-14 00:05:22 +00:00
Kostya Serebryany
1d337a5e06
[asan] fix some more format warnings in sysinfo/sysinfo.cc
...
llvm-svn: 146526
2011-12-13 23:34:59 +00:00
Kostya Serebryany
d47a91ad2a
[asan] canonicalise the output for double-free and wrong-free. fixes asan issue 18
...
llvm-svn: 146501
2011-12-13 19:16:36 +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
0698b852ed
[asan] fix asan-rt interceptors on Snow Leopard. Patch by glider@google.com
...
llvm-svn: 146263
2011-12-09 18:18:54 +00:00
Kostya Serebryany
72fde3727e
[asan] make use-after-return mode more robust: allow to call instrumented functions while reporting an error
...
llvm-svn: 146231
2011-12-09 01:49:31 +00:00
Kostya Serebryany
7487a0ae1f
[asan] fix output test to not require debug symbols in asan run-time
...
llvm-svn: 146212
2011-12-09 00:18:21 +00:00
Kostya Serebryany
7c01c1af19
[asan] better test for use-after-return mode
...
llvm-svn: 146203
2011-12-08 23:30:48 +00:00
Daniel Dunbar
6e09995159
SDK/linux: Fix braindead pasto, caught by Matt Beaumont-Gay.
...
llvm-svn: 146188
2011-12-08 21:50:03 +00:00
Kostya Serebryany
9b5673cf5a
[asan] fresh version of mach_override; added mach_override/README.txt. Patch by glider@google.com
...
llvm-svn: 146166
2011-12-08 19:14:07 +00:00
Kostya Serebryany
9752158954
[asan] update the soon-to-be-depricated asan makefile to use the new path for asan-rt (affects only linux)
...
llvm-svn: 146162
2011-12-08 18:46:33 +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
Daniel Dunbar
8142a9f02b
SDKs: Sketch an initial stub SDK for Linux, I believe this suffices for building
...
the main compiler-rt and profile modules, at least on x86.
llvm-svn: 146131
2011-12-08 02:39:23 +00:00
Kostya Serebryany
f0d799a6bc
[asan] fix the error message for 16-byte accesses (it previously printed 'unknown-crash')
...
llvm-svn: 146075
2011-12-07 21:30:20 +00:00
Daniel Dunbar
6d4db897a9
www: Add some more notes to compiler-rt web page.
...
llvm-svn: 146047
2011-12-07 18:43:12 +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
Kostya Serebryany
ca207f0473
[asan] minor cleanup
...
llvm-svn: 145966
2011-12-06 21:10:15 +00:00
Kostya Serebryany
8b815e1a08
[asan] GCD tests on Mac: prevent optimization and enable. Patch by glider@google.com
...
llvm-svn: 145953
2011-12-06 19:10:48 +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
Kostya Serebryany
8b277533b6
[asan] remove format warnings in sysinfo/sysinfo.cc
...
llvm-svn: 145886
2011-12-06 01:08:31 +00:00
Kostya Serebryany
ab7940f6e1
[asan]: test a pure C file with -faddress-sanitizer; lint fixes
...
llvm-svn: 145848
2011-12-05 20:44:30 +00:00
Kostya Serebryany
0e069e2aa9
[asan] add the test for bug 11468
...
llvm-svn: 145839
2011-12-05 19:20:57 +00:00
Kostya Serebryany
49a182fa12
[asan] always collect malloc statstics (removed FLAG_stats)
...
llvm-svn: 145838
2011-12-05 19:17:53 +00:00
Kostya Serebryany
92ebcadfe4
[asan] cleanup memset/memmove/memcpy interceptors and enable them on Mac. Patch by samsonov@google.com
...
llvm-svn: 145826
2011-12-05 18:56:29 +00:00
Kostya Serebryany
93927f9e01
[asan] don't require __cxa_throw to be present in the process. This is the last dependency on libstdc++
...
llvm-svn: 145821
2011-12-05 17:56:32 +00:00
Kostya Serebryany
551a1739b8
[asan] get rid of some more dependency on libstdc++
...
llvm-svn: 145743
2011-12-03 02:23:25 +00:00
Kostya Serebryany
26c5df4733
[asan] micro-benchmark for use-after-return fake stack
...
llvm-svn: 145739
2011-12-03 01:44:48 +00:00
Kostya Serebryany
b89f2a6e78
[asan] put back -O2 which was lost quite some time ago and caused noticeable perf drop in malloc-intensive apps. doh.
...
llvm-svn: 145723
2011-12-02 23:04:12 +00:00
Kostya Serebryany
e4bada2c94
[asan] get rid of std::map. No STL and almost no libstdc++ left.
...
llvm-svn: 145706
2011-12-02 21:02:20 +00:00
Kostya Serebryany
c5be44aaa2
[asan] quick fix for mac build, second attempt. Sorry for spam.
...
llvm-svn: 145694
2011-12-02 18:52:35 +00:00
Kostya Serebryany
196cd6af90
[asan] quick fix for mac build
...
llvm-svn: 145692
2011-12-02 18:48:20 +00:00
Kostya Serebryany
2d27cdf621
[asan] minimize the use of STL. One bit is still left.
...
llvm-svn: 145691
2011-12-02 18:42:04 +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
4e3a11ba57
lib/asan: Fix possible type mismatches.
...
llvm-svn: 145664
2011-12-02 01:36:38 +00:00
Daniel Dunbar
9c665e36d4
lib/asan: Attempt to ensure __WORDSIZE gets defined, it is not always set by
...
Darwin's stdint.h for example.
llvm-svn: 145663
2011-12-02 01:32:27 +00:00
Kostya Serebryany
70e163b507
add/update LICENSE.TXT files for the third_party code used by asan
...
llvm-svn: 145659
2011-12-02 01:12:36 +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
12024d00a7
asan: Fill in integration with compiler-rt/make build.
...
llvm-svn: 145648
2011-12-01 23:35:56 +00:00
Daniel Dunbar
5dc7770bf7
asan: Suppress a -Wbitwise-op-parentheses.
...
llvm-svn: 145647
2011-12-01 23:35:51 +00:00
Daniel Dunbar
6da8946202
build/make: Add rule for .cc files.
...
llvm-svn: 145646
2011-12-01 23:35:49 +00:00
Daniel Dunbar
fc4a4a3cbc
asan: #if 0 out some unused functions (we build with -Werror).
...
llvm-svn: 145645
2011-12-01 23:35:47 +00:00
Kostya Serebryany
5dfa4da0b9
[asan] flatten the asan-rt build slightly
...
llvm-svn: 145631
2011-12-01 21:40:52 +00:00
Kostya Serebryany
f318e29102
test asan at -O0
...
llvm-svn: 145532
2011-11-30 22:27:30 +00:00
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
Stephen Canon
9ae6fd58c4
Single-precision soft-float division
...
llvm-svn: 107579
2010-07-04 06:15:44 +00:00
Stephen Canon
909f6c7bc4
Further cleanup of ARM bswap implementations, thanks to John Tytgat
...
llvm-svn: 107576
2010-07-03 21:47:50 +00:00
Stephen Canon
b84e7dc80e
Marginally smaller implementations of bswap for ARMv4, ARMv5 that avoid the need to establish a frame
...
llvm-svn: 107555
2010-07-03 01:00:49 +00:00
Stephen Canon
7973295a19
Renamed unsigned->float routines to match GCC convention
...
llvm-svn: 107554
2010-07-03 00:56:03 +00:00
Nick Kledzik
209ac43b76
ARM before armv6 did not supprt 'rev' instruction
...
llvm-svn: 107548
2010-07-03 00:12:47 +00:00
Stephen Canon
04b97967dd
[unsigned] int -> float soft-float conversions for single- and double-precision
...
llvm-svn: 107535
2010-07-02 23:05:46 +00:00
Stephen Canon
4be0d7ead9
float- and double-to-integer soft-float conversions for compiler-rt
...
llvm-svn: 107524
2010-07-02 22:10:58 +00:00
Stephen Canon
75a21dc9a7
Tests for soft-float comparison functions
...
llvm-svn: 107414
2010-07-01 18:35:50 +00:00
Stephen Canon
e9946d0d3f
... and one more fix to remove some warnings in the new double -> float conversion
...
llvm-svn: 107409
2010-07-01 18:02:15 +00:00
Stephen Canon
74eaf1f66c
Correction to previous commit which mistakenly included older versions of some files; now includes the correct LLVM license header
...
llvm-svn: 107408
2010-07-01 17:58:24 +00:00
Stephen Canon
b1fdde1d01
Adding soft-float comparisons, addition, subtraction, multiplication and negation
...
llvm-svn: 107400
2010-07-01 15:52:42 +00:00
Stephen Canon
60a234f079
This is a test commit to verify repository access.
...
llvm-svn: 106376
2010-06-19 04:34:50 +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
c6cacf9858
sjlj based personality requires a different name
...
llvm-svn: 103330
2010-05-07 23:44:20 +00:00
Chris Lattner
2dd1552588
improve bullets, patch by Mike Miller
...
llvm-svn: 103000
2010-05-04 05:19:07 +00:00
Charles Davis
b2403ee273
Fix build with MSVC.
...
llvm-svn: 102671
2010-04-29 23:44:00 +00:00
Nick Kledzik
26274da38f
improve arm build support on darwin
...
llvm-svn: 102032
2010-04-21 22:46:53 +00:00
Nick Kledzik
8e7ebea0b9
add explicit alignment directives to assure arm code is 4-byte aligned
...
llvm-svn: 102030
2010-04-21 22:36:23 +00:00
Blaine Garst
b4d7aa6fd6
update copyright notices
...
llvm-svn: 101986
2010-04-21 04:34:46 +00:00
Nick Kledzik
5b0a0629a3
add include of int_lib.h to match change to use compilerrt_abort()
...
llvm-svn: 101396
2010-04-15 20:37:56 +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
Nick Kledzik
b3d3ec7091
<rdar://problem/7813254> check enable_execute_stack implementation
...
llvm-svn: 100036
2010-03-31 19:52:01 +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
f287008791
Use a private compilerrt_abort() define instead of calling abort directly.
...
- Fiddling with abort directly is annoying given the way we use system includes, although it would be nice to fix this so we could make sure calling abort directly is verboten.
llvm-svn: 100014
2010-03-31 17:00:45 +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
Nick Kledzik
10b2046750
document runtime support functions
...
llvm-svn: 94223
2010-01-22 21:21:14 +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
Howard Hinnant
16139b5f2d
Updated README.txt
...
llvm-svn: 94016
2010-01-20 19:53:19 +00:00
Howard Hinnant
adc1c56e49
Updated README.txt
...
llvm-svn: 94011
2010-01-20 18:44:52 +00:00
Nick Kledzik
ac02b5a09c
fix return type of _Unwind_Exception.exception_cleanup
...
llvm-svn: 93983
2010-01-20 06:13:20 +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
4c43c2bc73
Split up switch.S and save_restore_d8_d15.S to follow one function per file convention.
...
llvm-svn: 93815
2010-01-19 00:01:10 +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
64a198d060
Unbreak symbol mangling in .s files, at least for Darwin/Linux.
...
llvm-svn: 93789
2010-01-18 22:19:25 +00:00
Daniel Dunbar
ef89858e47
Add DEFINE_COMPILERRT_PRIVATE_FUNCTION_UNMANGLED for use in .S files -- restFP and saveFP don't get USER_LABEL_PREFIX prepended for some reason.
...
llvm-svn: 93788
2010-01-18 22:19:20 +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
40d6f65ae1
Add basic make {help,help-hidden} targets.
...
llvm-svn: 93713
2010-01-18 06:48:19 +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
32f75c6a42
Unbreak trampoline test.
...
llvm-svn: 93711
2010-01-18 06:48:06 +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
Daniel Dunbar
debb79b994
Sink {config.h,ConfigureChecks}.cmake into cmake directory.
...
llvm-svn: 93318
2010-01-13 16:12:49 +00:00
Nick Kledzik
64eecd2de5
Fix copy/paste error. http://llvm.org/bugs/show_bug.cgi?id=572
...
llvm-svn: 93297
2010-01-13 05:30:28 +00:00
Rafael Espindola
393cb7c22d
Use __USER_LABEL_PREFIX__ so that we don't add a _ prefix on ELF.
...
llvm-svn: 86542
2009-11-09 14:27:04 +00:00
Edward O'Callaghan
8f40ca3b8f
Fix x86/x64 on Linux, Credit to Rafael Espindola.
...
llvm-svn: 86075
2009-11-04 23:52:51 +00:00
Edward O'Callaghan
683dcc63b1
Add DragonFly BSD to supported platforms list.
...
llvm-svn: 85727
2009-11-01 18:30:27 +00:00
Edward O'Callaghan
a8fa825177
Fix DragonFly BSD define in compiler-rt.
...
llvm-svn: 85726
2009-11-01 18:25:55 +00:00
Edward O'Callaghan
73ee64d6a2
Fix CMakeLists.txt comment.
...
llvm-svn: 85686
2009-10-31 21:08:10 +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
Edward O'Callaghan
07d6005bdc
Nested function test in compiler-rt should not be run under Clang.
...
llvm-svn: 85456
2009-10-29 00:27:08 +00:00
Edward O'Callaghan
7c1cc70a90
Fix test suit for last CMake changes to CompilerRT.
...
llvm-svn: 85452
2009-10-29 00:16:23 +00:00
Edward O'Callaghan
a55dd008ad
Update CMake build system with target arch source file lists.
...
llvm-svn: 85448
2009-10-29 00:07:46 +00:00
Shantonu Sen
04f121bc50
Work around strictness in gcc 4.4.1 casting a function pointer to void *
...
llvm-svn: 85397
2009-10-28 15:54:04 +00:00
Shantonu Sen
1467592c6d
Add stdlib.h for rand() prototype
...
llvm-svn: 85396
2009-10-28 15:46:10 +00:00
Edward O'Callaghan
6d0a86cbd1
Update web docs for cmake test suit, comment out broken test.
...
llvm-svn: 85350
2009-10-28 00:09:30 +00:00
Edward O'Callaghan
1bafa6de57
Fix cmake test suit for compiler-rt.
...
llvm-svn: 85339
2009-10-27 23:23:41 +00:00
Daniel Dunbar
9ff9371bb7
Switch to using DEFINE_COMPILERRT_[PRIVATE_]FUNCTION to define function symbols inside .S files.
...
llvm-svn: 85264
2009-10-27 17:50:21 +00:00
Daniel Dunbar
7d50478889
Add assembly.h for use in .S files.
...
llvm-svn: 85263
2009-10-27 17:49:50 +00:00
Daniel Dunbar
805c49408f
Update some .S file headers.
...
llvm-svn: 85262
2009-10-27 17:49:19 +00:00
Daniel Dunbar
64857209fb
Fix tests broken by removal of de-anonyomizing structs.
...
llvm-svn: 85261
2009-10-27 17:49:07 +00:00
Daniel Dunbar
247687360f
Remove duplicate copy of int_lib.h, and update test script to find copy inside lib/.
...
Also, fix some brokenness in the test script w.r.t REMOTE.
llvm-svn: 85260
2009-10-27 17:48:46 +00:00
Daniel Dunbar
10bf19ec7a
Add .gitignore file.
...
llvm-svn: 85259
2009-10-27 17:48:37 +00:00
Edward O'Callaghan
c0c9968f1b
Comment out broken tests and make the rest build in cmake build system.
...
llvm-svn: 84330
2009-10-17 10:19:32 +00:00
Edward O'Callaghan
bc85722d34
Improve doc readability.
...
llvm-svn: 83414
2009-10-06 21:03:43 +00:00
Edward O'Callaghan
e1cc630483
Update compiler-rt online docs to reflex recent work and testing.
...
llvm-svn: 83413
2009-10-06 21:01:17 +00:00
Shantonu Sen
ae3b01cf8a
If the compiler does not support GCC-compatible
...
atomic operations, skip building the blocks runtime
llvm-svn: 82627
2009-09-23 16:05:25 +00:00
Shantonu Sen
35684d034e
Keep on castin', in the name of -pedantic
...
llvm-svn: 82626
2009-09-23 15:34:09 +00:00
Edward O'Callaghan
b5127599f9
Note about compiler-rt only building on Darwin no longer applies.
...
llvm-svn: 82609
2009-09-23 05:06:46 +00:00
Edward O'Callaghan
0e38b38dd1
Update site information to reflect using cmake to build compiler-rt and not legacy makefiles.
...
llvm-svn: 82608
2009-09-23 05:04:26 +00:00
Edward O'Callaghan
49dc8717a4
CMake should only pass GCC options to GCC.
...
llvm-svn: 82607
2009-09-23 04:57:36 +00:00
Edward O'Callaghan
9a9c26eba6
We don't need a C++ compiler to build Blocks, Don't check for one.
...
llvm-svn: 82606
2009-09-23 03:53:48 +00:00
Edward O'Callaghan
dd54ab207b
Fix compile time warning: format '%#lx' expects type 'long unsigned int', but argument 3 has type 'unsigned int'
...
llvm-svn: 82605
2009-09-23 03:47:24 +00:00
Edward O'Callaghan
351a54e86f
Improve readability.
...
llvm-svn: 82604
2009-09-23 03:42:03 +00:00
Shantonu Sen
33f6acbbf1
1) Remove cmake-specific #define usage from the exported
...
Block.h/Block_private.h headers, since clients won't know what to
set. These are moved into runtime.c as appropriate
2) Use cmake checks for CAS builtins, instead of guessing based on GCC
#defines (which aren't set by clang and llvm-gcc anyway)
3) "#pragma mark" isn't supported by FSF gcc, so "#if 0" it out. It
should still show up in IDEs that support it
4) Fix some compiler warnings. GCC 4.3.3 seems super strict about
%p. function pointers can't be cast to void * either.
5) Avoid a warning for apple_versioning.c that "ISO C does not allow
empty files"
llvm-svn: 82504
2009-09-22 00:49:12 +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
Nick Kledzik
4efa121e40
add support for __switch* needed for switch statements in thumb codegen
...
llvm-svn: 82184
2009-09-18 00:07:52 +00:00
Nick Kledzik
ad160c0330
add conversion functions and test cases for ARM
...
llvm-svn: 81809
2009-09-14 23:26:56 +00:00
Edward O'Callaghan
2e2d1a87f9
Update cmake files for arm support hooks.
...
llvm-svn: 81760
2009-09-14 12:45:07 +00:00
Nick Kledzik
0f312a09b2
fix typo in comment
...
llvm-svn: 81686
2009-09-13 18:34:39 +00:00
Edward O'Callaghan
f68f63b7cf
Add Blocks support to CMake build system.
...
llvm-svn: 81617
2009-09-12 17:13:35 +00:00
Edward O'Callaghan
594906f923
Fix include path to config.h for CMake build system.
...
llvm-svn: 81616
2009-09-12 16:44:57 +00:00
Edward O'Callaghan
957fa1379c
GCC atomic built-ins are available patch to Blocks. - Credit to Bobby Powers.
...
llvm-svn: 81615
2009-09-12 16:29:10 +00:00
Edward O'Callaghan
882b798a50
Generalize Blocks code and intergrate with cmake build system more.
...
llvm-svn: 81613
2009-09-12 15:47:39 +00:00
Nick Kledzik
9130011d5f
add comparison functions for ARM
...
llvm-svn: 81597
2009-09-12 01:23:48 +00:00
Nick Kledzik
a6bce00934
rename files
...
llvm-svn: 81572
2009-09-11 21:16:10 +00:00
Nick Kledzik
3d22a3af2d
add _test in file names
...
llvm-svn: 81561
2009-09-11 20:13:32 +00:00
Nick Kledzik
b9c6e4a189
start adding implementation of arm *vfp routines with test cases
...
llvm-svn: 81558
2009-09-11 20:02:01 +00:00
Nick Kledzik
7e71865ca5
use HAS_80_BIT_LONG_DOUBLE so some tests work properly on arm
...
llvm-svn: 81552
2009-09-11 19:09:36 +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
85922561ee
Unbreak building of assembly files (broken by my .s -> .S rename).
...
- Noticed & patched by Nick Kledzik.
- This may expose portability issues in the .S files, if so we should either
disable them on non-Darwin, or even better make them portable.
llvm-svn: 81476
2009-09-10 23:27:45 +00:00
Daniel Dunbar
be6505cbd9
Include universal build step in 'make {Debug,Release,Profile}' targets.
...
llvm-svn: 81474
2009-09-10 23:13:59 +00:00
Daniel Dunbar
c7b06b3edf
Support building for a single target architecture.
...
llvm-svn: 80943
2009-09-03 20:49:22 +00:00
Daniel Dunbar
3c8a7dfada
Use -lc -lm to link with (in tests) on non-Darwin.
...
llvm-svn: 80939
2009-09-03 20:09:38 +00:00
Daniel Dunbar
f9812f75d0
Don't use -arch on non-Darwin.
...
llvm-svn: 80938
2009-09-03 20:03:21 +00:00
Daniel Dunbar
da208e779b
Convert tabs to spaces.
...
llvm-svn: 80937
2009-09-03 20:03:14 +00:00
Edward O'Callaghan
6e8ae17e23
Adding FreeBSD to supported platforms list. Credit to Roman Divacky for testing.
...
llvm-svn: 80914
2009-09-03 11:13:06 +00:00
Edward O'Callaghan
665671ec89
Fix some files that got left behind in early changeset to unnamed unions fix. Credit to Roman Divacky.
...
llvm-svn: 80913
2009-09-03 09:12:20 +00:00
Edward O'Callaghan
19db729ab4
Add support for ellcc, Credit to Richard Pennington.
...
llvm-svn: 79332
2009-08-18 11:54:44 +00:00
Edward O'Callaghan
514553d84a
Fix testsuit build on linux.
...
llvm-svn: 79331
2009-08-18 11:50:23 +00:00
Edward O'Callaghan
ea0bd0d0a4
Fix pre-processor mistake for BSDs in endianness.h
...
llvm-svn: 79330
2009-08-18 11:07:59 +00:00
Edward O'Callaghan
40268af91e
Temporary define HAVE_SYSCONF until cmake checks are done.
...
llvm-svn: 78546
2009-08-10 01:02:16 +00:00
Edward O'Callaghan
2dbae9c334
Fix a FIXME for configure check for HAVE_SYSCONF.
...
llvm-svn: 78545
2009-08-10 00:56:46 +00:00
Nuno Lopes
1586376f2e
fix build on linux
...
llvm-svn: 78538
2009-08-09 18:59:21 +00:00
Edward O'Callaghan
ccf48131d0
Refactor to remove un-named struct gnu extension usage. Now ISO C89 and C99 compliant. Comment trailing endifs
...
llvm-svn: 78537
2009-08-09 18:41:02 +00:00
Edward O'Callaghan
f8ba5e9e6e
Optimized versions now buildable on Solaris.
...
llvm-svn: 78457
2009-08-08 04:43:56 +00:00
Edward O'Callaghan
032ab6f978
Fix signedness warning in mprotect call, Clean up and improve endianness.h header.
...
llvm-svn: 78451
2009-08-08 02:31:50 +00:00
Edward O'Callaghan
5583632adf
Code style and Readability fixes. Credit to Craig van Vliet.
...
llvm-svn: 78403
2009-08-07 20:30:09 +00:00
Edward O'Callaghan
e556e8eb9f
Forgot to add new endianness.h header file.
...
llvm-svn: 78235
2009-08-05 19:58:45 +00:00
Edward O'Callaghan
7a6cb5febf
Refactor test suit endianness pre-processor code. More style and readability fixes, start labling endif's
...
llvm-svn: 78234
2009-08-05 19:57:20 +00:00
Edward O'Callaghan
dabf71f171
Next batch of C++ to C comment style changes. Also improve and factor out endianness pre-processor code.
...
llvm-svn: 78226
2009-08-05 19:06:50 +00:00
Edward O'Callaghan
4856eef437
Fixup C++ style comments are not allowed in ISO C90 to classic C style.
...
llvm-svn: 78152
2009-08-05 04:02:56 +00:00
Edward O'Callaghan
df72046277
Start porting compiler-rt testsuit to Solaris with new build system. Fix some C++ style comments which are not allowed in ISO C90.
...
llvm-svn: 78143
2009-08-05 01:47:29 +00:00
Edward O'Callaghan
eb5cb6b515
Some compiler-rt www site improvements.
...
llvm-svn: 78052
2009-08-04 04:48:38 +00:00
Edward O'Callaghan
30009e7121
Refactor out common pre-processor code.
...
llvm-svn: 78037
2009-08-04 03:30:10 +00:00
Edward O'Callaghan
7578f80b0c
Fix newlinew warning in floatundidf.c , Bulkout CMake system more, complete port to AuroraUX and Solaris.
...
llvm-svn: 77958
2009-08-03 05:59:48 +00:00
Edward O'Callaghan
43fb93ab2f
A few CMake formating fixes for compiler-rt.
...
llvm-svn: 77937
2009-08-03 02:15:06 +00:00
Edward O'Callaghan
5f730b8565
Small syntax error in HTML.
...
llvm-svn: 77936
2009-08-03 01:29:04 +00:00
Edward O'Callaghan
b472633401
Small improvement to Compiler-RT docs and add a CREDITS.TXT file to source.
...
llvm-svn: 77934
2009-08-03 01:26:42 +00:00
Edward O'Callaghan
6912ed0f36
Initial import of CMake type build system. Just like the rest of llvm..
...
llvm-svn: 77933
2009-08-03 01:08:25 +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
Gabor Greif
a6f54b3a40
typos
...
llvm-svn: 74771
2009-07-03 14:37:30 +00:00
Eli Friedman
30bd27bf7d
Misc compiler-rt fixes. Clarify neg implementations to show what is
...
actually happening. Fix mod implementation so it doesn't get
optimized to a recursive call. Make x86-32 non-SSE2 shift
implementation use shld/shrd instead of emulating it (the only x86 processor
where the emulation might be remotely close to justifiable is the Pentium 4).
llvm-svn: 74756
2009-07-03 02:26:38 +00:00
Chris Lattner
b6fb62ceb0
fix broken links.
...
llvm-svn: 74727
2009-07-02 21:35:49 +00:00
Chris Lattner
c60cfbd302
test commit
...
llvm-svn: 74726
2009-07-02 21:34:35 +00:00
Chris Lattner
aa8450256e
mention the license.
...
llvm-svn: 74725
2009-07-02 21:29:19 +00:00
Chris Lattner
503c370dea
add the "get it and get involved" section.
...
llvm-svn: 74617
2009-07-01 17:16:20 +00:00
Daniel Dunbar
c6cd62b351
Add missing include for getpagesize, and fix a typo.
...
llvm-svn: 74588
2009-07-01 06:06:42 +00:00
Daniel Dunbar
86bb32b138
Fix a Darwinism, .s files meant to be preprocessed should be named .S.
...
llvm-svn: 74587
2009-07-01 06:04:03 +00:00
Daniel Dunbar
f118402877
Use getpagesize() on non-Darwin platforms.
...
- Presumably we will eventually need configure magic for this stuff.
llvm-svn: 74586
2009-07-01 06:02:53 +00:00
Chris Lattner
a1d7ab47fa
initial web page for compiler_rt
...
llvm-svn: 74567
2009-06-30 22:56:43 +00:00
Daniel Dunbar
fd089990f7
Initial import of compiler-rt.
...
-
llvm-svn: 74292
2009-06-26 16:47:03 +00:00
Blaine Garst
cc08af1f0c
initial version of the blocks runtime
...
llvm-svn: 73172
2009-06-10 18:41:48 +00:00