History log of /bionic/libc/include/stdlib.h
Revision Date Author Comments
cb302f932a3532f1484e1e70894e9b1199384283 20-Apr-2017 Josh Gao <jmgao@google.com> The future is now.

__INTRODUCED_IN_FUTURE -> __INTRODUCED_IN(26)

Bug: http://b/37437368
Test: treehugger
Change-Id: I601a23da83b65a0cd582cc840ed3856a9031b673
5c15b8cf43b21528dec09a98ce34b2753e696ba3 22-Feb-2017 Dan Albert <danalbert@google.com> Fix pre-L MB_CUR_MAX.

The default locale is POSIX, not C.UTF-8. POSIX explicitly states
that MB_CUR_MAX is 1 for the POSIX locale:

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

Test: Made change in the NDK, built libc++ against it, ran NDK libc++
tests.
Bug: None

Change-Id: Ic2f6f96aa4a7f20d619030f41323831d01002715
7cc779f15c524e1622f7d5b1c7e82e6ffc6677fd 09-Feb-2017 George Burgess IV <gbiv@google.com> libc: add clang FORTIFY support

This patch adds clang-style FORTIFY to Bionic. For more information on
FORTIFY, please see https://goo.gl/8HS2dW . This implementation works
for versions of clang that don't support diagnose_if, so please see the
"without diagnose_if" sections. We plan to swap to a diagnose_if-based
FORTIFY later this year (since it doesn't really add any features; it
just simplifies the implementation a lot, and it gives us much prettier
diagnostics)

Bug: 32073964
Test: Builds on angler, bullhead, marlin, sailfish. Bionic CTS tests
pass on Angler and Bullhead.

Change-Id: I607aecbeee81529709b1eee7bef5b0836151eb2b
5bc78c8bcd0c1e634c04029309ede3ec05f2d424 16-Nov-2016 Elliott Hughes <enh@google.com> Add and use constants for the Android API levels.

Test: bionic tests still pass
Change-Id: If1b619cfc9db1d3f5d91f14f2ace71058dca0c4a
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
6cd9fb080caca2d0d8fcb8f400c1ec466e7b2466 23-Sep-2016 Josh Gao <jmgao@google.com> Fix warnings (and errors) in static inline headers.

Bug: http://b/31676510
Change-Id: Idcbc544e498f7e6bbe99c2bf7dc557a5681e96c4
Test: preupload hook
3103f6d39e4ae309a9374ee38f414400c889c558 21-Sep-2016 Dan Albert <danalbert@google.com> Add strtof_l and strtod_l.

libc++ needs these now. Add shims to match the others.

Test: make checkbuild tests
Bug: http://b/31639993
Change-Id: Ifec6c32099145d8d3d1a5639a4809e5e9f553c33
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
b6a4a4c0cc76004459f87cecb260d202b5ba5512 27-Jul-2016 Josh Gao <jmgao@google.com> Add version information for legacy inlines.

Bug: http://b/30170081
Change-Id: Ib5962ea3037dd692a98b6691d263871549aac8af
3b2096a9d6edd74622b94cacc76b77100f919b84 23-Jul-2016 Elliott Hughes <enh@google.com> Remove unnecessary 'extern's.

Change-Id: Iba2b3fb6ff88e504f1657b915120ae43d58a1e03
8778d64d5c78a42d5389767adcf232bfe323e0f8 23-Jul-2016 Josh Gao <jmgao@google.com> Remove __BIONIC_LEGACY_INLINE.

Don't use the same declaration to declare both static and non-static
functions, to make life easier for versioner.

(Also, remove __BIONIC_LEGACY_INLINE from two functions in termios.h
that weren't actually legacy inlines.)

Bug: http://b/30170081
Change-Id: Ibb73377d77a2b4cee016289b7c46a01452e45fae
f47514dd997d33deafaba85e34e2c95fd514d056 19-Jul-2016 Elliott Hughes <enh@google.com> Remove __LIBC_ABI_PUBLIC__.

We have much better control over visibility now, so we don't need to
pollute the headers with cruft.

Bug: http://b/24767418
Change-Id: I349f4c3bc30102477375ad9f80926e560c7c1d8b
95fa26e5901e548d2c3650953bd2d5f92c9e9d2d 11-Jun-2016 Josh Gao <jmgao@google.com> Update symbol versions.

Bug: http://b/28178111
Change-Id: I8e9fb919d96693dd320962775e991caf5aeb0107
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
34c599a8b0b04f66b065c4d84b809f74dd44382d 29-Apr-2016 Josh Gao <jmgao@google.com> Add __INTRODUCED_IN_FUTURE for unreleased APIs.

Future API levels aren't known (e.g. 25 could be a maintenance release
of N that doesn't contain any bionic updates), so use a placeholder
macro that we can find and replace with the actual API level before each
release.

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

Bug: http://b/28178111
Change-Id: I46bf95accd819f4521afb1173d8badcc5e9df31c
6f6f9058fa7ba3cc9d53bd93e46c254ef8e8cd96 28-Apr-2016 Elliott Hughes <enh@google.com> Implement mblen(3).

Change-Id: I65948ea5b9ecd63f966ba767ad6db4a2effc4700
29226f39ae027e4252f9bf11906eb4eaa5fb6824 26-Apr-2016 Josh Gao <jmgao@google.com> Tag unavailable functions with macro.

Add an __UNAVAILABLE macro, and use it for several functions which lack
implementations, but need to have visible declarations to be reexported
in the C++ standard library.

Bug: http://b/28178111
Change-Id: Ia4ae0207bbfcb7baa61821f0ef946257b019c0db
b8e1b705d187886decb5970f791358f928f93d75 14-Apr-2016 Josh Gao <jmgao@google.com> Make the legacy inline headers compile standalone.

It's useful to have the legacy inlines compile by themselves, both to
make header unification easier, and to ensure that the inline versions
match the regular declarations. Notably, this wasn't true for
sigismember, which took a const sigset_t* in the regular header, and
sigset_t* in the inline version.

Bug: http://b/28178111
Change-Id: Id8a3b7dcb1bfa61eed93c9fb50d3192744f8bef5
df143f8576afb0446794d4ccb1fb02aed196c82a 05-Apr-2016 Elliott Hughes <enh@google.com> Add POSIX getsubopt(3).

Bug: http://b/27952303
Change-Id: I8a816477545dadcbd5c055714e76263574446b6f
a6435a186d3b0e1ec4c17f7f5e8ba2bb198faeb2 06-Aug-2015 Dan Albert <danalbert@google.com> Use attribute availability.

Bug: http://b/21952040
Change-Id: I3998d88bc6076d60ae5cf7efd112817f80f17971
3244d9f07fda946d62afdfa61ed5a876d380d0ff 18-Apr-2015 Daniel Micay <danielmicay@gmail.com> add a fortified implementation of realpath

Change-Id: Icc59eacd1684f7cddd83d7a2b57dad0c7ada5eb7
9b4f77f5cfc45a377b7de7195341a7769a722b74 24-Feb-2015 Yabin Cui <yabinc@google.com> Make tempnam/mktemp deprecated.

Bug: 19340053
Change-Id: Ib02c65814ef97cd1758fd8142b73736cc8bc1700
784de4e50a1161d78757402c149d85368bd49c29 18-Feb-2015 Yabin Cui <yabinc@google.com> Revert "Move use of __warnattr to __deprecated."

This reverts commit 4645c4f62df49d1ece5aabb7c9fa44ca34d30272.

Change-Id: I6c1062d54a4e2c4f41ce7a403e4e7840e6339146
4645c4f62df49d1ece5aabb7c9fa44ca34d30272 17-Feb-2015 Yabin Cui <yabinc@google.com> Move use of __warnattr to __deprecated.

clang don't support warning attribute. Replacing warning attriubte with
deprecated attribute can achieve the same behavior whether compiled by
gcc or clang.

Bug: 19340053
Change-Id: I064432b81cf55212458edbc749eb72dc15a810fb
466dbe444446da0a8729ae9ac7294f54276e29d7 29-Jan-2015 Dan Albert <danalbert@google.com> Put back inline definitions if using an old API.

All these inlines were turned in to out of line definitions in L.
This brings us a step closer to being able to just use the current
bionic headers for the NDK, rather than having many old versions of
them.

Change-Id: Ie010bc727d78d3742abc577c70f6578db2e68625
6ac4dd8ba940ec413ce4d45da838534f7cde752a 29-Jan-2015 Dan Albert <danalbert@google.com> Add primitive CPPLINT.cfg.

We'll add more things to this as we discover other warnings we don't
care about.

Change-Id: I408f688827cab0f74e055d8f1778069163663f0b
76f8916b904db14facf811ae44e1265261349702 26-Jan-2015 Elliott Hughes <enh@google.com> Clean up <stdlib.h> slightly.

Interestingly, this mostly involves cleaning up our implementation of
various <string.h> functions.

Change-Id: Ifaef49b5cb997134f7bc0cc31bdac844bdb9e089
c5dc02a91e8a8460807d7d18ea9775a7b8fa446c 25-Jan-2015 Elliott Hughes <enh@google.com> Reduce <stdlib.h> namespace pollution.

<stdlib.h> shouldn't drag in all of <string.h>.

Change-Id: I949172f7ff17e329e411e5054e50f79c13775444
a381fe8ebcd196614a00f4dca3539e0860ef9e84 10-Dec-2014 Elliott Hughes <enh@google.com> Fix ptsname(3) and ttyname(3) to use TLS.

Be safe by default.

Change-Id: I6c4a3f1fd4eee3a651b3162ce95b7e873de57521
274afe8f0eab4139c94d5f8b1ee3d267f449ef42 06-Nov-2014 Elliott Hughes <enh@google.com> Add POSIX lcong48.

Change-Id: I821046816661d77275cb02c8c99d526bb41afb9c
a39f939e0d1a11290411430d9085ab578d471247 28-Oct-2014 Yabin Cui <yabinc@google.com> change unsigned int to uint32_t for api arc4random/arc4random_uniform

Bug: 17894480
Change-Id: Ia4b5a7cd2b2c6002ed70955f86f7780d26d15e26
086bb382db3de7459bc5fad6bb1c257ca331b0e8 24-Sep-2014 Dan Albert <danalbert@google.com> Fix incorrect parameter types for locale funcs.

strtoll(3), strtoull(3), wcstoll(3), and wcstoull(3) all take an _int_
as a base, not a size_t. This is an ABI compatibility issue.

Bug: 17628622
Change-Id: I17f8eead34ce2112005899fc30162067573023ec
(cherry picked from commit 3c5037f1b3b747e79d17a5f717d9f9c365132d33)
31165edf5733dae8fbe79551b18cbc0e56c8d808 24-Sep-2014 Elliott Hughes <enh@google.com> CLOEXEC support in fdopen, freopen, and mkostemp/mkostemps.

Change-Id: I74ea88e0d4973d6ab3c57da7d8bb643c31592b14
3c5037f1b3b747e79d17a5f717d9f9c365132d33 24-Sep-2014 Dan Albert <danalbert@google.com> Fix incorrect parameter types for locale funcs.

strtoll(3), strtoull(3), wcstoll(3), and wcstoull(3) all take an _int_
as a base, not a size_t. This is an ABI compatibility issue.

Bug: 17628622
Change-Id: I17f8eead34ce2112005899fc30162067573023ec
bafee43161b9e38ca6c941eb3646df20ec6da759 14-Aug-2014 Dan Albert <danalbert@google.com> Change name of MB_CUR_MAX implementation function.

Glibc calls theirs __ctype_get_mb_cur_max. Make ours match to cut down
on differences between bionic and glibc.

Bug: 11156955
Change-Id: Ib7231f01aa9676dff30aea0af25d597bfe07bc73
224ff048efc782bd60047a3ae53eb66941f73125 14-Aug-2014 Dan Albert <danalbert@google.com> Change name of MB_CUR_MAX implementation function.

Glibc calls theirs __ctype_get_mb_cur_max. Make ours match to cut down
on differences between bionic and glibc.

Bug: 11156955
Change-Id: Ib7231f01aa9676dff30aea0af25d597bfe07bc73
9d2a05a6dda800d0f1fcb1d9ffe12bc3b82c0f73 29-Jul-2014 Elliott Hughes <enh@google.com> Revert "Add a hack to <stdlib.h> until we can fix libvpx."

This reverts commit 3fb5097a7eec40404760c304b36c8b657b374cab.
libvpx is now fixed.

(cherry-pick of 2be1be47aa9b63568fe6ce1e0a4029b37d90764d.)

Bug: 15598056
Change-Id: Icca974e667f92206505f484bd291726eb0150f68
6035e6cc8317600c3100fdf1070890c3e42715a7 30-Jul-2014 Dan Albert <danalbert@google.com> Proper MB_CUR_MAX.

Previously this was hard coded to 4. This is only the case for UTF-8
locales.

As a side effect, this properly reports C.UTF-8 as the default locale
instead of C.

Change-Id: I7c73cc8fe6ffac61d211cd5f75287e36de06f4fc
(cherry picked from commit 1aec7c1a35b2d03038b194967d5ebdc8e2c24b80)
1aec7c1a35b2d03038b194967d5ebdc8e2c24b80 30-Jul-2014 Dan Albert <danalbert@google.com> Proper MB_CUR_MAX.

Previously this was hard coded to 4. This is only the case for UTF-8
locales.

As a side effect, this properly reports C.UTF-8 as the default locale
instead of C.

Change-Id: I7c73cc8fe6ffac61d211cd5f75287e36de06f4fc
1242f7eb67c678922b55e2077d9cf2d5cdc85b15 30-Jul-2014 Elliott Hughes <enh@google.com> Remove declarations for things that don't exist.

The <grp.h> ones prevent gdb from building out of the box.

(cherry picked from commit f4c1a36a4500bc7f12e3065be3da4e8669ee011d)

Change-Id: I6958f2f1731de8c03df20b383decd414b78100aa
2ea0a58e01c1ed6db1da9dd0314ee053f5a32026 26-Jul-2014 Elliott Hughes <enh@google.com> Fix linkage of grantpt(3).

Also clean up the implementation of all the pty functions, add tests,
and fix the stub implementations of ttyname(3) and ttyname_r(3).

Bug: https://code.google.com/p/android/issues/detail?id=58888

(cherry picked from commit 4916706cfe590eb06c9b5bd4bd402ce056034d51)

Change-Id: I5cb7a1c17b156456e4c4818e65f256eb8d045424
2be1be47aa9b63568fe6ce1e0a4029b37d90764d 29-Jul-2014 Elliott Hughes <enh@google.com> Revert "Add a hack to <stdlib.h> until we can fix libvpx."

This reverts commit 3fb5097a7eec40404760c304b36c8b657b374cab.
libvpx is now fixed.

Bug: 15598056
Change-Id: Icca974e667f92206505f484bd291726eb0150f68
4916706cfe590eb06c9b5bd4bd402ce056034d51 26-Jul-2014 Elliott Hughes <enh@google.com> Fix linkage of grantpt(3).

Also clean up the implementation of all the pty functions, add tests,
and fix the stub implementations of ttyname(3) and ttyname_r(3).

Bug: https://code.google.com/p/android/issues/detail?id=58888
Change-Id: I0fb36438cd1abf8d4e87c29415f03db9ba13c3c2
f4c1a36a4500bc7f12e3065be3da4e8669ee011d 30-Jul-2014 Elliott Hughes <enh@google.com> Remove declarations for things that don't exist.

The <grp.h> ones prevent gdb from building out of the box.

Change-Id: I0efbffad2215cfcd75b4d442dfc972444b51d97c
dfb5ce42bcc5a275af49211c0bbe64c5ec3d2668 10-Jul-2014 Dan Albert <danalbert@google.com> Revert "Revert "Add locale aware APIs.""

This reverts commit 063e20c26943ec82ef1d53a544545e79054e93d3.

Change-Id: Ib8c9004efefe75a5346b3af50dfe37952d91eb21
e087eac404b0e30de427392065e2750acf92bd4a 09-Jul-2014 Dan Albert <danalbert@google.com> Add locale aware APIs.

Since we only support the C locale, we can just forward all of these to
their non-locale equivalents for correct behavior.

Change-Id: Ib7be71b7f636309c0cc3be1096a4c1f693f04fbb
063e20c26943ec82ef1d53a544545e79054e93d3 10-Jul-2014 Dan Albert <danalbert@google.com> Revert "Add locale aware APIs."

Accidentally verified against a dirty tree. Needs the companion change to libc++ to land upstream before I can submit this.

This reverts commit e087eac404b0e30de427392065e2750acf92bd4a.

Change-Id: I317ecd0923114f415eaad7603002f77feffb5e3f
0468feb28696751efcddada8de69a622afffdba8 21-Jun-2014 Elliott Hughes <enh@google.com> Sync to current upstream arc4random.

This is actually revision 1.33, which is no longer the latest, but it's
as close to head as we can currently reasonably get. I've also switched
to the OpenBSD getentropy_linux.c implementation of getentropy, lightly
modified to try to report an error on failure.

Bug: 14499627
Change-Id: Ia7c561184b1f366c9bf66f248aa60f0d53535fcb
e61919ad11fc0ca6749ee4d6855bc8b2c316a8f9 13-Jun-2014 Elliott Hughes <enh@google.com> Fix x86-64 libvpx build.

This is now fixed upstream, but we need to wait for it to come back down
via chromium...

Bug: 15598056
Change-Id: I08f1be4296c391cfc1616a5ff0815be14071594a
3fb5097a7eec40404760c304b36c8b657b374cab 13-Jun-2014 Elliott Hughes <enh@google.com> Add a hack to <stdlib.h> until we can fix libvpx.

libvpx should probably change its assembler to refer to lrand48 directly,
because that will work on old and new versions of Android. This keeps things
building until that happens.

Bug: 15598056
Change-Id: I4a1f59e710a083b9f9a707ceeb9ca0a28141a954
a0beeeabbc8735bc830544cbbb1d920122b8d958 12-Jun-2014 Elliott Hughes <enh@google.com> Get the full set of PRNG functions in <stdlib.h>

Bug: https://code.google.com/p/android/issues/detail?id=58888
Change-Id: I435250bdae302e8bd7e29977d0fde7b9afbfca5e
b27a840f4b520bfa095db99b0a2e5205634b0003 11-Jun-2014 Elliott Hughes <enh@google.com> Add __pure2 to a few more functions, most notably gettid and pthread_self.

Change-Id: I7eee9f26f45130038af09d8285782b07f70a996f
3b9da0f99a6629d5283844922327711c985c78eb 06-Jun-2014 Elliott Hughes <enh@google.com> Fix the printf family for non-ASCII.

The bug here turned out to be that we hadn't increased the constant
corresponding to the maximum number of bytes in a character to match
our new implementation, so any character requiring more than a byte
in UTF-8 would break our printf family.

Bug: 15439554

(cherry picked from commit 69f05d291d848de654c72e5278de8ca06fbf5d2f)

Change-Id: Ia5467e22ccb022e8d118de82291916050656147e
69f05d291d848de654c72e5278de8ca06fbf5d2f 06-Jun-2014 Elliott Hughes <enh@google.com> Fix the printf family for non-ASCII.

The bug here turned out to be that we hadn't increased the constant
corresponding to the maximum number of bytes in a character to match
our new implementation, so any character requiring more than a byte
in UTF-8 would break our printf family.

Bug: 15439554
Change-Id: I693e5e6eb11c640b5886e848502908ec5fff53b1
b8425c549a0bfe08b01b5906b95603d8523c1b16 30-Apr-2014 Dan Albert <danalbert@google.com> Adds quick_exit(3) and at_quick_exit(3) from freebsd

Change-Id: I4fe88abd8f7b8aa45e58aeb2529d59a8d555d338
58d9e280d459225aa8dc4533e883182b08215f7d 23-Apr-2014 Elliott Hughes <enh@google.com> Switch to the upstream OpenBSD getenv/putenv/setenv implementation.

This fixes all the bugs found by the new tests.

Change-Id: Id5a5f9f39a0620208bafa053f871a044725b4795
cce36c187896fb0d4bd36519c4b2e90c502137dc 22-Apr-2014 Elliott Hughes <enh@google.com> Use -fvisibility=hidden to build libc_gdtoa.

Bug: 12177745
Change-Id: Ia4ac71e1a3a237e764c809cc591622f8952ed642
9f525644df99cb2f7f81a23ca23840f0a8f82275 09-Apr-2014 Elliott Hughes <enh@google.com> Implement _Exit(3).

Change-Id: Ida6ac844cc87d38c9645b197dd8188bb73e27dbe
77e944fd46728075fe632bcb5211da9daf5b7e68 05-Apr-2014 Elliott Hughes <enh@google.com> Implement wctomb(3) for ltrace.

This is an implementation in the style of the rest: char == byte.

We might want to come back and implement UTF-8, but this is enough for ltrace.

Bug: 13747066
Change-Id: Ib2b63609c9014fdef9a8491e067467c4fc5ae3cc
5a8173860d65182af022be88fed0c5d8d5dcb69d 13-Mar-2014 Elliott Hughes <enh@google.com> Ensure we always have symbols for atof, strtof, strtold.

We'll need a better implementation of strtold for LP64, but all our
long double functions are currently broken for LP64 anyway so this
isn't a regression.

Change-Id: I2bdebac11245d31521d5fa09a16331c03dc4339c
692207eb457f9b4bf6cb4301d710d19b6e85c902 01-Mar-2014 Elliott Hughes <enh@google.com> Add getprogname/setprogname for BSD compatibility.

This is one less change we have to make when porting BSD code.

Bug: https://code.google.com/p/android/issues/detail?id=34898
Change-Id: If9b1a8d16996c7a19abcce8d3a456afc3e105a41
fe317a3775e16d466bb884a8e054fd77f7087bb3 21-Feb-2014 Calin Juravle <calin@google.com> Added mkstemp64

Bug: 13076637
Change-Id: I41bf28ab3e6c7325470781e9323eeec023483df5
c13fb75ceabb47f8292be206db80b93889fccf66 18-Dec-2013 Elliott Hughes <enh@google.com> Move bionic over to GCC's 'warning' attribute.

This is a better solution than the old __warn_references because it's
a compile-time rather than link-time warning, it doesn't rely on something
that doesn't appear to be supported by gold (which is why you only used
to see these warnings on mips builds), and the errors refer to the exact
call site(s) rather than just telling you which object file contains a
reference to the bad function.

This is primarily so we can build bionic for aarch64; building libc.so
caused these warnings to fire (because link time is the wrong time) and
warnings are errors.

Change-Id: I5df9281b2a9d98b164a9b11807ea9472c6faa9e3
5951e84646553cdcba0c619f1424f2d934eeabb2 12-Aug-2013 Elliott Hughes <enh@google.com> Fix our missing abs/labs/llabs/imaxabs (and imaxdiv) symbols.

(cherry picked from commit aec2ffbc5a7b45368ceab3663265fbb659968fe7)

Change-Id: Ib61b52dc37e63493094a0a7af23bf89d4a9f0ce5
aec2ffbc5a7b45368ceab3663265fbb659968fe7 12-Aug-2013 Elliott Hughes <enh@google.com> Fix our missing abs/labs/llabs/imaxabs (and imaxdiv) symbols.

Change-Id: I94c411c22634e43184445c82e7388e51fc46a8cc
0cc0d250fd3097e4c26b70cdeb5c47caac634069 02-Oct-2012 Elliott Hughes <enh@google.com> Remove useless #defines and incorrect claims from header files.

The various __need_* macros were write-only.

Change-Id: Id3cca34188e0801fdf93a038b22f2817226ad9c2
70f6901c3dbe6f09c7fc3ebdb18f715915635d70 14-Jun-2012 Nick Kralevich <nnk@google.com> libc: make atoi, atol, and atoll pure functions

Change-Id: Ib831c079c865929b6c91d42f35e117f2e974808f
6baffed252d0efbce5a79f356c2f156f4f818996 15-Dec-2011 Ken Sumrall <ksumrall@android.com> Add the posix_memalign(3) function to bionic

The posix_memalign(3) function is very similar to the traditional
memalign(3) function, but with better error reporting and a guarantee
that the memory it allocates can be freed. In bionic, memalign(3)
allocated memory can be freed, so posix_memalign(3) is just a wrapper
around memalign(3).

Change-Id: I62ee908aa5ba6b887d8446a00d8298d080a6a299
85aad909560508410101c18c6ecc6633df39c596 15-Dec-2011 Ken Sumrall <ksumrall@android.com> Add the posix_memalign(3) function to bionic

The posix_memalign(3) function is very similar to the traditional
memalign(3) function, but with better error reporting and a guarantee
that the memory it allocates can be freed. In bionic, memalign(3)
allocated memory can be freed, so posix_memalign(3) is just a wrapper
around memalign(3).

Change-Id: I62ee908aa5ba6b887d8446a00d8298d080a6a299
ad1ff2fb268034074488f0b4b30b5311008b8617 30-Nov-2010 tedbo <tedbo@google.com> Add mkdtemp() prototype to stdlib.h.

The mkdtemp() function is implemented in libc/stdio/mktemp.c but not
exposed in stdlib.h. This change adds the prototype to stdlib.h.

Change-Id: I5a98650c665d2e45b2cf6ed3382742f7bdc7c88a
bb5581ad6eec40041dab4e961149f7a8a3a83497 09-Oct-2010 David 'Digit' Turner <digit@google.com> libc: tag missing functions in system headers.

This matches recent changes in the NDK header.
We enclose missing functions in #if 0 .. #endif blocks
with a clear "MISSING" in comments in order to locate
them later.

Change-Id: I87b3a62e777897e75c9243360fb0a82bcc53d9fb
50ace4fec5e8cb5afcbc656a4556fa528adfd760 17-Jun-2010 David 'Digit' Turner <digit@google.com> Remove compiler warnings when building Bionic.

Also add missing declarations to misc. functions.
Fix clearerr() implementation (previous was broken).
Handle feature test macros like _POSIX_C_SOURCE properly.

Change-Id: Icdc973a6b9d550a166fc2545f727ea837fe800c4
506b13d910a1a603b29fbc5a9ba41ba4c533b14c 21-May-2010 Jing Yu <jingyu@google.com> Remove a gcc-4.5 compilation warning:
bionic/libc/include/../include/stdlib.h: In function 'int grantpt(int)':
bionic/libc/include/../include/stdlib.h:138:23: warning: parameter '__fd' set but not used [-Wunused-but-set-parameter]

By adding __attribute((unused)) to __fd, the warning is gone, and this
attribute is compatible with gcc-4.4.0, gcc-4.3.1 gcc-4.2.1.
There is no any side effect.

Change-Id: I385f0f4da1013ffd1499e391eac9123aafe1f7a5
bd77d49812bb2eea20151c11041124b6d316c75e 21-May-2010 Jing Yu <jingyu@google.com> Remove a gcc-4.5 compilation warning:
bionic/libc/include/../include/stdlib.h: In function 'int grantpt(int)':
bionic/libc/include/../include/stdlib.h:138:23: warning: parameter '__fd' set but not used [-Wunused-but-set-parameter]

By adding __attribute((unused)) to __fd, the warning is gone, and this
attribute is compatible with gcc-4.4.0, gcc-4.3.1 gcc-4.2.1.
There is no any side effect.

Change-Id: Id9d2b0aeefdd9c37132da0f00c48387f7d897e83
6458c49c96fd2069a82fa6bb48283b4397087a25 12-Jan-2010 Colin Cross <ccross@android.com> Fix ptsname_r(3) return type to match glibc

The gHardy man pages specify the return type of ptsname_r to be char*, but the
return value to be 0 on success, negative on error and the gHardy stdlib.h
defines extern int ptsname_r(...).

Busybox telnetd fails to run successfully without this change.
5f53a18204ec991f5a77872806eeaa185936aa8c 04-Dec-2009 Mathias Agopian <mathias@google.com> Revert "Add qsort_r() implementation to the C library."

This reverts commit 754c178ae551aedcbbfd3bfd1c1c3b710d9ad989.

Turns out we don't need it afterall (needed a stable sort anyways).
So, we'll make that change in the dev branch instead.
754c178ae551aedcbbfd3bfd1c1c3b710d9ad989 03-Dec-2009 David 'Digit' Turner <digit@google.com> Add qsort_r() implementation to the C library.

NOTE: This replaces qsort.c with the FreeBSD version. While
the patch changes the source, it should not alter the
implementation that should use the exact same algorithm.
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
e5cc1f386b167b9f7bfdebc7219e89aa9b71e4b2 16-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@126645
6d6c82c7a0a6b9a89f61b61c66f9b90d9c7177dc 10-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@125939
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