4d0d31475f1584ed7bf4a52ce784c62c30ad522c |
|
05-Jun-2015 |
Dmitriy Ivanov <dimitry@google.com> |
Add versions to libm.so symbols Bug: http://b/20139821 Change-Id: Ifdfcac62d59eb8f0985990aa8512046ecb87449e (cherry picked from commit 636f5ddddcd9e0bcfc7139b0905ebc92d4adc40a)
|
69a5fb951d69689dedd83cb033ae3dcd0ef05b65 |
|
16-May-2015 |
Dmitriy Ivanov <dimitry@google.com> |
Apply work around b/19059885 to x86 Bug: http://b/19059885 Bug: http://b/21203348 Change-Id: Ic375e9f877d68de8f866d17362879a7dde638465
|
f7009f450e596dc76352da7ceefc8caeeb74ff14 |
|
08-May-2015 |
Dmitriy Ivanov <dimitry@google.com> |
Switch libc/libcstdc++/libm to hash-style=both Bug: http://b/19059885 Change-Id: Ie42703d91f291fd689a1cf9c35bcab5c487b9a84 (cherry picked from commit 88e777d6f46709abebab88421e8c4ea7a9e3d9c4)
|
2e16d2cf1e477af1db92efde389a5ce0a8e6fbb3 |
|
13-Mar-2015 |
Dmitriy Ivanov <dimitry@google.com> |
Switch libc and libm to sysv-only hash style Bug: 19059885 Change-Id: I60a23dc5f9c756994d566818332ca42b305b4a05
|
1156508265422f407c7072788ce6c32c35411941 |
|
10-Mar-2015 |
Goran Jakovljevic <goran.jakovljevic@imgtec.com> |
Generate gnu hash for arm only Fixes build failure caused by: https://android-review.googlesource.com/#/c/139660 As previously discussed [1], MIPS does not support GNU-style ELF hashes. [1] https://android-review.googlesource.com/#/c/49282/2/tests/Android.mk Change-Id: I9a7966eebfd1ef0a587a20b71faefde38e84ab62
|
4a55c46d308deae70d7d8669c50514d521813dc2 |
|
10-Mar-2015 |
Dmitriy Ivanov <dimitry@google.com> |
Generate sysv hash for libc, libstdc++ and libm Bug: 19059885 Change-Id: I35e2a9cd0bb3914d9d0c82d163bfaf0fff844667
|
5d4f0e6a26b66f1dab8d20a65af4469c6dd7370d |
|
31-Oct-2014 |
Jingwei Zhang <jingwei.zhang@intel.com> |
Add the optimized implementation of 18 math functions for x86 and x86_64 respectively Change-Id: I31bf601448a9427f825517f3a0ff24de47f49bfa Signed-off-by: Jingwei Zhang <jingwei.zhang@intel.com> Signed-off-by: Mingwei Shi <mingwei.shi@intel.com>
|
45789b63db5c186f1ccac23093c198ae8b0dd921 |
|
12-Nov-2014 |
James Rose <james.rose@intel.com> |
libm: Add hardware sqrt, ceil, floor and trunc for x86 & x86_64 Add hardware implementations for sqrt, ceil, floor and trunc for x86 and x86_64. These routines, and in particular sqrt are much faster than the BSD C language versions of these functions. Fixed whitespace errors. Revised x86 versions with respect to alignment. Rebased for Android 5.0 Change-Id: I86bdb520ce5e589b0cf63778f353fbd3263c8f0e Author: James Rose <james.rose@intel.com> Signed-off-by: James Rose <james.rose@intel.com>
|
c78fa26d47987d7e29245199e66b9cb45020be10 |
|
23-Jul-2014 |
Shu Zhang <chazhang@nvidia.com> |
libm: arm: add arm specific sqrt and sqrtf Add arm specific optimized sqrt and sqrtf. Change-Id: I8ea417fc98a800c8cf4f47a0c6668c51d927b1dc
|
32936c895d4407f7444c09ef4b0fd0ea532feb00 |
|
18-Feb-2015 |
Amaury Le Leyzour <amaury.leleyzour@arm.com> |
Add aarch64 instructions wherever possible fma, sqrt and various rounding functions have aarch64 instruction equivalent Change-Id: I1284f31b9f78f914281e5563b8d44db8362b627d
|
3a629af0add238c2801b64aade52ee983c9012bc |
|
23-Jul-2014 |
Shu Zhang <chazhang@nvidia.com> |
libm: arm: Add arm specific floor() optimization Add arm specific floor() implementation which avoids VMSR and VMRS instructions. Change-Id: Ibd4cd7147aa2f98c9b5bbaf74948843ea619dba4
|
3d535d23121c2656e6c82342fcf215cdc4ca385d |
|
11-Feb-2015 |
Duane Sand <duane.sand@imgtec.com> |
[MIPS] Fix Mips64 build of libm Change-Id: Ib742b408d4f21d5ec8d455a3fea7c08165c7f321
|
d40d1a08cd3174e87bd806c999b8b5639a31723a |
|
23-Jan-2015 |
Christopher Ferris <cferris@google.com> |
Cleanup the libm makefile. Change-Id: I3d95f75da24ee3b064a9cce67586b0e6f32272d8
|
da194780b1ae4487aa630bef4e720694acf4da82 |
|
18-Dec-2014 |
Dan Albert <danalbert@google.com> |
Disable ASAN for more of our libraries. Since ASAN depends on these libraries, we need to exclude them from being instrumented. Change-Id: I62005b6d04ee7b2283c4bd54ace5304386c67358
|
b8ee16f1dc1253e3f1c99b4a6b9df249515cd919 |
|
06-Nov-2014 |
Elliott Hughes <enh@google.com> |
Fix our <complex.h> support. We build libm with -fvisibility=hidden, so we weren't exporting any of the <complex.h> functions. We also weren't building many of the functions anyway. We were also missing the complex inverse trigonometric functions. And because we didn't even have perfunctory "call each function once" tests, we didn't notice that we weren't exporting any symbols, so this patch adds at least that level of testing. Change-Id: Ibcf2843f507126c51d134cc5fc8d67747e033a0d
|
e91d9cd4ad0916707e0717663694a5562bf11c78 |
|
16-Oct-2014 |
Dan Albert <danalbert@google.com> |
Don't use an STL for libm. The default is none right now, but this will be needed when the default becomes libc++. Change-Id: Ib022adac2b9dc08fbfae830908128043cfffb91e
|
12e3f22c7c17d9d23e1720c9d23b9ee09c7528c6 |
|
01-Oct-2014 |
Dan Albert <danalbert@google.com> |
Add coverage flag for libm. Change-Id: I195d38c5e1f50d1cc6d4353dc8857f11b803b7a3
|
755318548d787c7ca36901be064c69efba41c6cf |
|
18-Sep-2014 |
Elliott Hughes <enh@google.com> |
Fix lgamma_r/lgammaf_r/lgammal_r for -0. Upstream has implemented lgammal/lgammal_r for ld128, and fixed the sign problem we reported with all the lgamma*_r functions and -0. Bug: 17471883 Change-Id: Ibb175d9cab67efae75f1010796fd44c9ba6ce4fc
|
c729d4f23771a01226c761423c6b35210dbb6ca7 |
|
13-Sep-2014 |
Elliott Hughes <enh@google.com> |
Get new coshl, sinhl, and tanhl implementations from upstream. Change-Id: I92f9cd53d12efb2e0f4f8a9590b9fe42398233f6
|
460ad7454a281470a1938103f099a1e3192fb3d6 |
|
12-Sep-2014 |
Elliott Hughes <enh@google.com> |
Sync libm with upstream. Change-Id: I8ac8ee52122ee19a2e423c3211092023cb4896eb
|
356a6249d8072f6cc8038d9939f360c08c583d49 |
|
04-Sep-2014 |
Chih-Hung Hsieh <chh@google.com> |
Disable Clang, due to x86 LDBL_MANT_DIG errors. Clang -m32 has incorrect sizeof(long double) = 12. With -m64, LDBL_MANT_DIG is incorrect 64. BUG: 17163651 Change-Id: I4b157aa1a8572c3a10aece6070e119a292ab8e83
|
aadc4b2ff03b12142f2c6163266ebdb1df2a6e76 |
|
11-Jul-2014 |
Elliott Hughes <enh@google.com> |
Switch libm to building with clang. Bug: 16211965 Change-Id: I81ec9706a4f2b5e8a840508a0f711cd25a5826ca
|
1e83245bae05d6a70ad31c3675310036fbb74219 |
|
11-Jul-2014 |
Elliott Hughes <enh@google.com> |
Revert "Switch libm to building with clang." This reverts commit aadc4b2ff03b12142f2c6163266ebdb1df2a6e76. The patch broke x86. Change-Id: I0cda903732a685838bbd1877f94e1593a2a32acc
|
71f9b34fbeef00f3bd34364dadad41bff60b6b1d |
|
24-Jun-2014 |
Dan Albert <danalbert@google.com> |
Revert "Revert "Prevent symbols from libgcc from being reexported."" This reverts commit 4e4e1a5d78ff6dd9394b9b116c012046da409e99. Change-Id: I8e78c3a59598e052e02965dd37b3fba8f567eed9
|
4e4e1a5d78ff6dd9394b9b116c012046da409e99 |
|
23-Jun-2014 |
Dan Albert <danalbert@google.com> |
Revert "Prevent symbols from libgcc from being reexported." This reverts commit 65e80cf62200085f72c1c081aea2d6e9b800cde2. Change-Id: I5f94b123f73db8d0b03cd71a5cffa0662776a017
|
65e80cf62200085f72c1c081aea2d6e9b800cde2 |
|
19-Jun-2014 |
Dan Albert <danalbert@google.com> |
Prevent symbols from libgcc from being reexported. Since this was not done earlier, there are binary compatibility concerns that prevent us from being able to apply this to LP32. Bug: 11156955 Change-Id: Ie717c3ae4b81c749548a45a993c834e109700b27
|
ff00dc8565d36fc5d30c0c8aa3714c66536dbcee |
|
30-May-2014 |
Ben Cheng <bccheng@google.com> |
Workaround the GCC "(long)fn -> lfn" optimization bug. Pass "-fno-builtin-rint -fno-builtin-rintl -fno-builtin-rintf" to avoid generating self recursions in lrint, lrintl, and lrintf. BUG: 14225968 Change-Id: Iffc4d8f0692580d636a529f4c8aa9a7a10d7acd8
|
de9ac710534626e6796ea885f8480fc4cfd64158 |
|
20-May-2014 |
Elliott Hughes <enh@google.com> |
Use -fvisibility=hidden to build libm. Bug: 11156955 Change-Id: I77b7772a44313a1eb3970f5d2c8e2af63690efa4
|
9a5a3e8e74e2c6d7850ab29711189acf0f7378a2 |
|
06-May-2014 |
Elliott Hughes <enh@google.com> |
Fix <math.h> to quieten most of our warnings. I've reported the wcsftime bug upstream, but we really just want to use -D to ensure the buggy code isn't built. (I've also brought our strftime a bit closer to upstream now we have the right define.) I don't think upstream is likely to fix all their sign-compare and uninitialized warnings, so let's just silence them. As for libm, again upstream isn't likely to fix all their warnings, and silencing those made the ones that were our fault stand out. I've fixed our <math.h> to fix the warnings caused by our lack of definitions for the non-imprecise long-double functions. I checked the C99 standard, and all these functions are there. Change-Id: Iee8e1182c1db375058fb2c451eceb212bab47a37
|
1abc9ff6a5b5f8a9925f1b8d9d333bc5bc7d407f |
|
17-Apr-2014 |
Calin Juravle <calin@google.com> |
Clean-up _fpmath and fake_long_doubles - promoted IEEEld2bits to fpmath since most of the where the same for diffrent archs - removed _fpmath - reinstated weak_references - moved isfinite and isnormal to libc - clean up fake_long_doubles - clean up some useless ifdefs - added missing nexttoward* tests Bug: 14134235 Change-Id: I95639c4885653fe47fd7dc0570ee5bb3389bbc6b
|
02c78a386739a8a2b3007efeb00a9ca04132100a |
|
12-Apr-2014 |
Elliott Hughes <enh@google.com> |
Reimplement isinf/isnan/fpclassify. Also move isinf and isnan into libc like everyone else. Also move fpclassify to libc like the BSDs (but unlike glibc). We need this to be able to upgrade our float/double/long double parsing to gdtoa. Also add some missing aliases. We now have all of: isnan, __isnan, isnanf, __isnanf, isnanl, __isnanl, isinf, __isinf, isinff, __isinff, isinfl, __isinfl, __fpclassify, __fpclassifyd, __fpclassifyf, __fpclassifyl. Bug: 13469877 Change-Id: I407ffbac06c765a6c5fffda8106c37d7db04f27d
|
f723b70fe0d0c49dd764e72b01501c8a211545e4 |
|
01-Apr-2014 |
Calin Juravle <calin@google.com> |
Emit warnings when linking against imprecise math functions Change-Id: I3da7b8396a64d7899fcb89452c879806a8a511ff
|
4d77c1151c40010d137e4a2fa8629bff4bea72b0 |
|
14-Mar-2014 |
Calin Juravle <calin@google.com> |
Fix LP64 libm for 128-bit long doubles * reworked amd64/_fpmath.h and arm64/_fpmath.h to support 128-bit long doubles. * improved tests to cover long double cases * made modfl an alias for LP32 Tests pass on x86, x86_64, arm, arm64 and mips. Bug: 12921273 Change-Id: Ibe39acde57972447a8950fa45b1e702acc68ebeb
|
645d0312c2d6b6492cc4b3891bc1a91908dc24b7 |
|
06-Feb-2014 |
Chris Dearman <chris.dearman@imgtec.com> |
[MIPS64] libc/libm support libc/libm support for MIPS64 targets Change-Id: I8271941d418612a286be55495f0e95822f90004f Signed-off-by: Chris Dearman <chris.dearman@imgtec.com> Signed-off-by: Raghu Gandham <raghu.gandham@imgtec.com>
|
609526f97f2dbc0e52b7ff399aedec0a837832de |
|
27-Jan-2014 |
Ying Wang <wangying@google.com> |
Use arch-specific LOCAL_ variables to build libm. Use arch-specific LOCAL_ variables to build libm for both TARGET_ARCH and TARGET_2ND_ARCH. Bug: 11654773 Change-Id: I6da794ba722bb68e7484d8869c6eb0425b7d17cb
|
d1973ca51325393f304e82a4d79874f33e54ac16 |
|
22-Jan-2014 |
Colin Cross <ccross@android.com> |
bionic: rename aarch64 target to arm64 Rename aarch64 build targets to arm64. The gcc toolchain is still aarch64. Change-Id: Ia92d8a50824e5329cf00fd6f4f92eae112b7f3a3
|
20adf52cf2d6542df0dcf1513c26f4c8c773a6d6 |
|
19-Dec-2013 |
Elliott Hughes <enh@google.com> |
We actually have modfl. Change-Id: I22bb4d14f99a418819f2941c2dfec49094807c5f
|
1c4f101a9b95d79e0c2307cd1016e8d1870de51a |
|
11-Oct-2013 |
Serban Constantinescu <serban.constantinescu@arm.com> |
AArch64: Initial AArch64 port of libm This patch adds intial support for AArch64 to bionic's libm. Change-Id: I9ae0f895bbdd7fe67815e6ca1ead627581163a27 Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
|
ab61eb366ac48addf2bca6093a34455193f5c8df |
|
21-Nov-2013 |
Elliott Hughes <enh@google.com> |
Switch to upstream sleep(3) and usleep(3). Also fix the signature of usleep, and the definition of useconds_t which should be unsigned, as the 'u' in its name implies. This patch also cleans up the existing FreeBSD hacks by moving the libm stuff from <sys/cdefs.h> to a libm-private header, and adding comments about the hacks we use to build FreeBSD source. Change-Id: Ibe5067a380502df94a0a3a7901969b35411085b6
|
770a3495607497071693147f162ac75f39423973 |
|
02-Oct-2013 |
Elliott Hughes <enh@google.com> |
Fix libm build for x86_64. Change-Id: If89da2d5c3d9a88f78ffd8b260ad0f2fd391c608
|
ce7add19d8100cb4935b193d77ad6cb14ed3d3bc |
|
20-Sep-2013 |
Pavel Chupin <pavel.v.chupin@intel.com> |
x86_64: libm fixes * Makefile update for x86_64 target * amd64 arch files Change-Id: I8f17e3338bffd89a3086fbddd1e91bb4619eac1b Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
|
6260553d48f6fd87ca220270bea8bafdde5726ec |
|
11-Feb-2013 |
Elliott Hughes <enh@google.com> |
Revert "Pull the pthread_key_t functions out of pthread.c." This reverts commit ad59322ae432d11ff36dcf046016af8cfe45fbe4 somehow my unfinished libm/Android.mk change got into here. Change-Id: I46be626c5269d60fb1ced9862f2ebaa380b4e0af
|
ad59322ae432d11ff36dcf046016af8cfe45fbe4 |
|
09-Feb-2013 |
Elliott Hughes <enh@google.com> |
Pull the pthread_key_t functions out of pthread.c. This was originally motivated by noticing that we were setting the wrong bits for the well-known tls entries. That was a harmless bug because none of the well-known tls entries has a destructor, but it's best not to leave land mines lying around. Also add some missing POSIX constants, a new test, and fix pthread_key_create's return value when we hit the limit. Change-Id: Ife26ea2f4b40865308e8410ec803b20bcc3e0ed1
|
a0ee07829a9ba7e99ef68e8c12551301cc797f0f |
|
31-Jan-2013 |
Elliott Hughes <enh@google.com> |
Upgrade libm. This brings us up to date with FreeBSD HEAD, fixes various bugs, unifies the set of functions we support on ARM, MIPS, and x86, fixes "long double", adds ISO C99 support, and adds basic unit tests. It turns out that our "long double" functions have always been broken for non-normal numbers. This patch fixes that by not using the upstream implementations and just forwarding to the regular "double" implementation instead (since "long double" on Android is just "double" anyway, which is what BSD doesn't support). All the tests pass on ARM, MIPS, and x86, plus glibc on x86-64. Bug: 3169850 Bug: 8012787 Bug: https://code.google.com/p/android/issues/detail?id=6697 Change-Id: If0c343030959c24bfc50d4d21c9530052c581837
|
d97d1ca7d9e514129d0ef07cb39f35b0fc9489b5 |
|
20-Oct-2012 |
Xiaokang, Qin <xiaokang.qin@intel.com> |
Add a flag control that PRIVATE libm can be chosen Change-Id: I080456a2c45ac870965c25552c5821875568fe9b Author: Xiaokang, Qin <xiaokang.qin@intel.com> Signed-off-by: Xiaokang, Qin <xiaokang.qin@intel.com> Signed-off-by: Shuo Gao <shuo.gao@intel.com> Signed-off-by: Bruce Beare <bruce.j.beare@intel.com> Signed-off-by: Jack Ren <jack.ren@intel.com> Author-tracking-BZ: 63396
|
ae5c64413bf72bc18d7fc81e1f5761824bc01f49 |
|
13-Aug-2012 |
Elliott Hughes <enh@google.com> |
Add dependencies on all the makefiles. This should help prevent broken builds next time I'm messing with assembler/compiler/linker flags... Change-Id: I30f15a3ce3c3f3c60cad7bc59aaba9f42d792224
|
29aa0099248b3a7ac4e178e15bdcb2edbce2500a |
|
25-Jun-2012 |
xqian6 <xi.qian@intel.com> |
Enable sqrtf() x86 assembly code This patch can improve the sqrtf() performance. Change-Id: Ic9d11d6a9ecd9b263f54d4878e13595e136b95ce
|
726800e8f42f25a1bf7a36b1603ded29266e8ac6 |
|
02-May-2012 |
Chris Dearman <chris@mips.com> |
MIPS support to libm, libdl and libthread_db Change-Id: I9106721af7fe0cd45df82976250db0d300a20117 Signed-off-by: Raghu Gandham <raghu@mips.com>
|
70b1668a76d3b719ae690903ea790fda964a5458 |
|
30-Jan-2012 |
David 'Digit' Turner <digit@google.com> |
remove obsolete SuperH support We don't have a toolchain anymore, we don't have working original kernel headers, and nobody is maintaining this so there is really no point in keeping this here. Details of the patch: - removed code paths from Android.mk files related to the SuperH architecture ("sh") - removed libc/arch-sh, linker/arch-sh, libc/kernel/arch-sh - simplified libc/SYSCALLS.TXT - simplified the scripts in libc/tools/ and libc/kernel/tools Change-Id: I26b0e1422bdc347489e4573e2fbec0e402f75560 Signed-off-by: David 'Digit' Turner <digit@android.com>
|
8e2ff164cc327aad8666333a1d75f86291858da0 |
|
25-Jan-2011 |
David 'Digit' Turner <digit@google.com> |
libm: Add nanf() and tgammaf() implementations. Requested by b/3370708 to export these through RenderScript. Change-Id: I1ae69f87a1ad4765b2dee8e4a6f2f3a6eb7c5ad4
|
2beac0f5c67470611629e4fe4c8e495232ff63fa |
|
10-Jun-2010 |
David 'Digit' Turner <digit@google.com> |
DO NOT MERGE - add sincos.c to libm compilation For some reason, a previous backport from master didn't get this. Change-Id: I59eb96ad9de495a659808fdfb557033476c3d123
|
ddd235bd9c264f08dee7887e210d61ca2351cf86 |
|
19-May-2010 |
David 'Digit' Turner <digit@google.com> |
Add sincos() and sincosf() implementation. This is a GLibc-compatibility patch required to simplify our upcoming toolchain work/porting. Change-Id: I615a20a449763f86b6e2b0e4f5ab43fb029ceb6d
|
d87945b4e706dbbacd71f6a3fd2e96162e970094 |
|
31-Aug-2009 |
Shin-ichiro KAWASAKI <shinichiro.kawasaki.mg@hitachi.com> |
added and modified libm to support SuperH architecture
|
1dc9e472e19acfe6dc7f41e429236e7eef7ceda1 |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
|
1767f908af327fa388b1c66883760ad851267013 |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
|
4e468ed2eb86a2406e14f1eca82072ee501d05fd |
|
18-Dec-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Code drop from //branches/cupcake/...@124589
|
a27d2baa0c1a2ec70f47ea9199b1dd6762c8a349 |
|
21-Oct-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Initial Contribution
|