History log of /bionic/tools/versioner/current/math.h
Revision Date Author Comments
5c6a7bf0dc821bcaa49d5289f01360f8dd78aa86 19-Oct-2017 Elliott Hughes <enh@google.com> Remove some legacy declarations from <math.h>.

These are still needed for backwards compatibility with code built by old
versions of the NDK, but we don't need to pollute the headers with them.

Also lose the hand-written code for these. The compiler-generated code
is either the same or better, and no new code is calling these functions
anyway.

Bug: N/A
Test: ran tests
Change-Id: Ib01ad9805034433e0105aec882608cc8e6526f78
d6541c2a97faa1f6401627f4661175b72b53839a 19-Sep-2017 Elliott Hughes <enh@google.com> Make <math.h> renames compatible with GCC.

GCC is fussy about the order in which attributes and renames occur.

Bug: N/A
Test: builds
Change-Id: Icee5ec00aa4626ddad0d89d2d7cee5ec6891c368
50cda38f1ddfb0216e986f60cdc877fb9c55ebba 15-Sep-2017 Elliott Hughes <enh@google.com> Use __RENAME for long double functions.

We can cut a lot of stuff out of the NDK's libandroid_support with this,
and reduce unnecessary relocations for all LP32 code. LP64 code should
be unaffected.

Bug: https://issuetracker.google.com/64450768
Bug: https://github.com/android-ndk/ndk/issues/507
Test: ran tests, plus manual readelf on the _test.o files
Change-Id: I3de6015921195304ea9c829ef31665cd34664066
684c31a2676772ad1fa2005941dcb6f6493b7dfc 19-Aug-2017 Elliott Hughes <enh@google.com> Name function arguments in libc headers for Studio.

Third batch of headers...

Bug: http://b/64613623
Test: builds
Change-Id: I32d8467a0bd22ba94d76476397f4f7dc51003886
284c8f1bafd53777c262ee29f941644747eb4ad9 31-Mar-2017 Dan Albert <danalbert@google.com> Revert "isnan and isinf aren't functions."

While this change is correct, GNU libstdc++ 4.9 isn't able to handle a
standard compliant C library. Its <cmath> will `#undef isnan` from
math.h and only adds the function overloads to the std namespace,
making it impossible to use both <cmath> (which gets included by a
lot of other standard headers) and ::isnan.

We're going to have to revert this until we can start turning down
support for gnustl.

This reverts commit e76ee993ff30a639d24c7db6a080c14d1b1a10f2.

Bug: https://code.google.com/p/android/issues/detail?id=271629
Test: make checkbuild
Change-Id: I394f50271430e78ab801d85c3ee4e87019eda6af
e76ee993ff30a639d24c7db6a080c14d1b1a10f2 02-Feb-2017 Elliott Hughes <enh@google.com> isnan and isinf aren't functions.

isnan was a function in POSIX in 1997, but changed to a macro only in 2004
to align with the C standard. isinf wasn't in POSIX until 2004, where it
appeared as a macro only (but other C libraries already had it as a
function).

Now the C++ standard has added ::isnan and ::isinf functions with different
signatures from the historical ones, so we need to move our historical cruft
out of the way.

We'll keep the implementations for backwards compatibility.

Bug: http://b/34724220
Test: ran tests
Change-Id: Id665f0344af6fe6ed245106e60231f4ef2027f41
95fa061678400315ee757758bf5f9146176d47a0 28-Sep-2016 Elliott Hughes <enh@google.com> Rename __pure, __pure2, and __purefunc.

These names were pretty misleading (aka "backwards"), so switch to the
same obvious names glibc uses.

Test: build.
Change-Id: Ia98c9dbbccd0820386116562347654e84669034a
31d7037f2ae06f767dfeb69486721b0ecaa7d668 13-Sep-2016 Dan Albert <danalbert@google.com> Expose some more function decls.

Test: make checkbuild tests # for x86-eng this time
Bug: http://b/30465923
Change-Id: I98c5a8d09463e85ac22b05035c87edab04eaa200
cb0b14385b21ec6b7a6e12bc1a9bb6d68f8a839c 07-Sep-2016 Dan Albert <danalbert@google.com> Provide fake definitions for libstdc++.

libstdc++ needs to be able to `using ::foo` these in the various C++
wrapper headers for the C library. The NDK long ago added fake
definitions. We need to keep the same.

Test: make checkbuild
Bug: http://b/30465923
Change-Id: Id513b72a59eafcc823080631e07b21290d5e3b24
c1929e44524c7c9fa2cc4fe33a5fedfdca2445a5 13-Aug-2016 Elliott Hughes <enh@google.com> Move some POSIX math functions out of _USE_GNU/_USE_BSD.

The signgam global and the j0/j1/jn and y0/y1/yn functions are POSIX.

http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/math.h.html

Change-Id: I802997a2060a011a777c2b641f28c1d58dfe49ed
9c8d711aa5ee3108a8e1e8959be9d0355ca0fa6a 13-Jun-2016 Elliott Hughes <enh@google.com> Don't expose all BSD extensions.

Just expose the ones that bionic historically leaked.

Also, many of the M_* constants in <math.h> are actually POSIX.

Change-Id: I6275df84c5866b872b71f1c8ed14e2aada12b793
3ba55f8022f3d5c5ca94a3df46fa658eda791987 09-Jun-2016 Elliott Hughes <enh@google.com> Rationalize visibility.

If it's C or POSIX, it's in. If it's BSD or GNU, it's guarded by __USE_BSD
or __USE_GNU.

Bug: https://code.google.com/p/android/issues/detail?id=194631
Change-Id: Ife51a21c2b37b060db56780d29c929805b199cb6
46b44160e9e4c466be0faf1bb8d6ec70ecc83273 27-May-2016 Josh Gao <jmgao@google.com> Update header versions for NDK platform fixes.

Bug: http://b/28178111
Change-Id: Icd638673b409aa43a91490f77c6b4d79c9ea20d9
d51bc71294e35fb2960288d28858683d9efe14e9 30-Apr-2016 Josh Gao <jmgao@google.com> Add platform specific version tags.

Some functions were added at different times on different platforms.
This should hopefully get most of them.

Bug: http://b/28178111
Change-Id: I85fdf92779a2f3277e9b537c6bfc7216790c607a
14adff1cfa06a3d4d3281a9bf7848b556d84c20d 29-Apr-2016 Josh Gao <jmgao@google.com> Add versioning information to symbols.

Bug: http://b/28178111
Change-Id: I46bf95accd819f4521afb1173d8badcc5e9df31c
a588f905ab81bd9d0b644741e0847fba7dcb24bf 08-Apr-2016 Josh Gao <jmgao@google.com> Remove fabs, fabsf, fabsl inlines from <math.h>.

These inline definitions appear to be a workaround for a compiler bug
that either never existed, or has been resolved since then.

Bug: http://b/28067717
Change-Id: Ic1cd0f26403f234a6ab1fa273a9dd23e7f9fee8f
afe835d540000d2378e744b764d71406b410761d 02-Apr-2016 Elliott Hughes <enh@google.com> Move math headers in with the other headers.

Keeping them separate is a pain for the NDK, and doesn't help the platform.

Change-Id: I96b8beef307d4a956e9c0a899ad9315adc502582