llvm-project/compiler-rt
Sergey Dmitrouk d5a00e8e3c [compiler-rt] Add AArch64 to CMake configuration and several missing builtins
Summary:
Currently CMake doesn't build builtins for AArch64 and if one does this anyway
it's likely that at least `__multc3`, `__floatditf` and `__floatunditf` will be
missing.  There is actually more builtins to add, but these come from
different libc implementations, thus providing them makes compiler-rt for
AArch64 good enough at least for basic usage.

Builtins implementation were originally taken from FreeBSD project:

 * [[ https://reviews.freebsd.org/D2173 | __multc3 ]]
 * [[ https://reviews.freebsd.org/D2174 | __floatditf and __floatunditf ]]

Until they have been tested to find mistakes in `__float*` functions.
`__floatditf` was based on `__floatsitf`, which had the same mistakes
(fixed it in r243746).

Version of the builtins in this patch are fixed and complemented with basic
tests.  Additionally they were tested via GCC's torture (this is what revealed
these issues).

P.S. Ed (author of FreeBSD patches) asked for feedback on the list some time ago (here [[ http://lists.cs.uiuc.edu/pipermail/llvmdev/2015-March/084064.html | here ]])
and got no response, but it seems to be worth adding these builtins as is and
extracting common part later.

Reviewers: howard.hinnant, t.p.northover, jmolloy, enefaim, rengolin, zatrazz

Subscribers: asl, emaste, samsonov, aemerson, llvm-commits, rengolin

Differential Revision: http://reviews.llvm.org/D11679

llvm-svn: 245296
2015-08-18 13:43:37 +00:00
..
cmake [CMake] Add experimental support for building compiler-rt for iOS 2015-08-13 20:38:16 +00:00
include [sanitizer] add a weak hook for strncmp interceptor, both to dfsan and other sanitizers. Hide the declaration and the calls in better macros 2015-07-30 02:32:51 +00:00
lib [compiler-rt] Add AArch64 to CMake configuration and several missing builtins 2015-08-18 13:43:37 +00:00
make profile: Autoconf build system support for r241824 2015-07-13 06:39:53 +00:00
test [compiler-rt] Add AArch64 to CMake configuration and several missing builtins 2015-08-18 13:43:37 +00:00
unittests Use the newer python syntax for exceptions 2014-12-13 02:46:56 +00:00
www Update references to new lists.llvm.org mailing lists. 2015-08-05 03:58:00 +00:00
.arcconfig Update arc config to new domain. 2014-04-07 10:22:41 +00:00
.gitignore Add vim swap files to .gitignore 2014-03-20 19:44:33 +00:00
CMakeLists.txt [CMake] Add experimental support for building compiler-rt for iOS 2015-08-13 20:38:16 +00:00
CODE_OWNERS.TXT Add myself as a c-rt owner of ASan/Win 2014-02-27 12:07:43 +00:00
CREDITS.TXT Add Guan-Hong Liu. 2014-06-16 08:38:19 +00:00
LICENSE.TXT Update copyright year to 2015. 2015-03-12 19:53:06 +00:00
Makefile Revert r196490 and fix include paths in makefile-based build 2013-12-05 10:40:11 +00:00
README.txt Moved the builtins documentation to lib/builtins/ 2014-05-28 23:09:45 +00:00

README.txt

Compiler-RT
================================

This directory and its subdirectories contain source code for the compiler
support routines.

Compiler-RT is open source software. You may freely distribute it under the
terms of the license agreement found in LICENSE.txt.

================================