Commit Graph

171 Commits

Author SHA1 Message Date
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