summaryrefslogtreecommitdiff
path: root/include/stdlib.h
AgeCommit message (Collapse)Author
2024-07-09stdlib: increase number of static atexit handlers to 32Yann Le Du
The existing limit of 20 was found to be insufficient when moving from gcc 8 to gcc 9. At the time a test ran already 16 handlers had been installed leaving only minimal room for application installed handlers. Musl uses 32, as does newlib. Further, the ISO C standard for C99 specifies that: The implementation shall support the registration of at least 32 functions. (7.20.4.2 The atexit function) Co-authored-by: Yann Le Du <yann.le.du@kernkonzept.com> Signed-off-by: Marcus Haehnel <marcus.haehnel@kernkonzept.com>
2024-03-12add reallocarray from muslWaldemar Brodkorb
2022-05-23libc/misc/getloadavg: Add getloadavg support to uClibc-nglancethepants
This borrows getloadavg.c from musl. getloadavg pops up often. Recently llvm and rust are dependent on it. glibc and musl have it and no-one actually checks if it's available in your libc. It's just become way easier to add it in uclibc-ng rather than patch everything else. Signed-off-by: Lance Fredrickson <lancethepants@gmail.com>
2018-01-31remove arc4random (rc4 based)Waldemar Brodkorb
OpenBSD arc4random is using chacha20 cipher algorithm for a long time. This copy is still based on deprecated rc4 cipher algorithm. We could either update the arc4random.c or drop it. Drop it. Users should better use libbsd when using arc4random interface. Musl/glibc does not have arc4random either.
2017-07-28stdlib.h: Fix valloc declaration.Eugene Yudin
2017-01-14add secure_getenv() functionWaldemar Brodkorb
2016-11-27add aligned_alloc required for latest gcc libstdc++Waldemar Brodkorb
2015-08-14add mkstemps, mkstemps64 and mkostemps, mkostemps64 functionsRomain Naour
Change __gen_tempname() prototype in order to pass the additional suffix lenght. In __gen_tempname() add a new check for suffixlen. Update some comments in the code. Signed-off-by: Romain Naour <romain.naour@openwide.fr> Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org>
2015-03-25include: Expand malloc-family commentsBernhard Reutner-Fischer
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2015-03-13unistd.h: put getppid under XOPEN2K8Bernhard Reutner-Fischer
Add __LEAF to all __THROW, introduce non-leaf __THROWNL Adjust affected spots accordingly. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-11-18drop support for pre ISO-C compilersMike Frysinger
This drops __signed, __volatile, and __const. Only the latter was used in the code base, and for uClibc, not consistently. Much of the code used plain "const" which meant "__const" was useless. Really, the point of this is to stay in sync with what glibc did. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-11-18Replace FSF snail mail address with URLsMike Frysinger
This matches a similar change made to glibc. No functional changes here. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-11-14libc/stdlib: add mkostemp helpersMike Frysinger
Some projects (like udev) are starting to use this. Imported from glibc. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-06-15getpt.c: no need for hidden posix_openptPeter S. Mazinger
Prefer static inline instead of hidden (__bsd_getpt) Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15stdlib.h, arc4random.c: fix arc4random return type to u_int32_tPeter S. Mazinger
Change uint32_t to u_int32_t and uint8_t to u_int8_t, removing completely the dependency on stdint.h. Based on patch by Timo Teraes <timo.teras@iki.fi>. His comment: This also fixes a major bug that stdlib.h includes stdint.h. Things might go very wrong because stdint.h has conditional defines and if stdlib.h is included before #define's for stdint.h we end up missing things and breaking builds (e.g. openjdk). Signed-off-by: Timo Teraes <timo.teras@iki.fi> Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-05-03rpmatch: provide out-of-line implementationBernhard Reutner-Fischer
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-05-03rpmatch: make decl parsableBernhard Reutner-Fischer
Mike, it would have been much simpler to just leave the header impl-free Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-05-02rpmatch: fix previous commit w/C++ compilersMike Frysinger
The throw markings on the inline func trigger errors when building with C++. Since this inline version doesn't throw any exceptions, just drop the markings completely and be done with it. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-04-30rpmatch: simple inline versionMike Frysinger
Since rpmatch will match ^[Yy] and ^[Nn] regardless of locale, this lets us create a simple inline version. Newer procps versions use this function. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-01-18stdlib: use shorhand wur for realloc prototypeBernhard Reutner-Fischer
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2011-11-07stdlib: add qsort_rBernhard Reutner-Fischer
GNU extension like qsort but takes a 3 parameter comparision function. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2011-03-09stdlib.c, _strtod.c, stdlib.h: remove unused hidden functionsPeter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-09arc4random.c, stdlib.h: get rid of hidden arc4random_stirPeter S. Mazinger
The function is used only in one file, make an internal static version for this Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-09stdlib.h: move MB_CUR_MAX = 1 from wchar-stub.hPeter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-09move prototype for __drand48_iterate and __libc_drand48_data to stdlib.hPeter S. Mazinger
Move them to a common header guarded by _LIBC Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-03update some headersPeter S. Mazinger
Sync some headers with glibc. realpath is an XSI extension in SuSv4, add back guard and update comment, since it seems to allow != NULL in second arg. Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2010-12-01libc: fix strtoqNatanael Copa
strtoq should always return a quad_t and be an alias of strtol on 64 bit and strtoll on 32 bit. Signed-off-by: Natanael Copa <natanael.copa@gmail.com> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2010-09-16libc: Add canonicalize_file_name functionCarmelo Amoroso
Add canonicalize_file_name function and its related tests. Required by elfutils and coreutils (readlink). Signed-off-by: Salvatore Cro <salvatore.cro@st.com> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
2009-11-19sync some headers and disable unused prototypesPeter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2009-11-14realpath: SUSv4 compliantBernhard Reutner-Fischer
Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2009-07-20sync a few headers with glibc (no functional changes)Mike Frysinger
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-07-20note that we do not want hidden malloc aliasesMike Frysinger
We want to let malloc() and friends be overridable at runtime so that apps can insert their own implementation (think debugging, specialized setups, etc...). That means that C library functions that return allocated memory have to go through the normal malloc() symbol as well as the external code is the one who will be calling free(). Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-03-25- Add strtouq alias (to strtoul) for 64bitBernhard Reutner-Fischer
The strtouq alias was only available on 32bit, breaking compilation of stuff using strtouq on 64bit machines. At the same time use the correct return type (u_quad_t). Signed-of-by: Peter Korsgaard <jacmet@sunsite.dk>
2008-12-29- expand SUSv3_LEGACYBernhard Reutner-Fischer
- SUSv4_LEGACY part #1 (non-networking)
2008-12-01random: use smaller data fields where appropriateDenis Vlasenko
text data bss dec hex filename - 130 156 0 286 11e libc/stdlib/random.o + 130 148 0 278 116 libc/stdlib/random.o - 586 0 0 586 24a libc/stdlib/random_r.o + 570 0 0 570 23a libc/stdlib/random_r.o
2008-11-20Last portion of libc_hidden_proto removal.Denis Vlasenko
Appears to build fine (several .configs tried)
2008-11-20next portion of libc_hidden_proto removalDenis Vlasenko
2008-11-18libc_hidden_proto removal, just a few functionsDenis Vlasenko
2008-09-11- remove posix_openpt relocationBernhard Reutner-Fischer
2008-06-07- UCLIBC_HAS_GETPT pulls in getpt.Bernhard Reutner-Fischer
- ptsname_r depends on UCLIBC_HAS_PTY just like ptsname()
2008-06-05- make libcrypt optional. Untested.Bernhard Reutner-Fischer
2008-06-03- adds several config-options to allow for turning off certain featuresBernhard Reutner-Fischer
like o UCLIBC_HAS_GNU_ERROR o UCLIBC_HAS_BSD_ERR o UCLIBC_HAS_PTY o UCLIBC_HAS_GETPT (1) o UCLIBC_SYSCALL_STUBS o UCLIBC_SYSCALL_STUB_WARNING o UCLIBC_LINUX_SPECIFIC (2) o UCLIBC_BSD_SPECIFIC (3) o UCLIBC_NTP_LEGACY (4) o UCLIBC_SV4_DEPRECATED (5) o UCLIBC_HAVE_REALTIME (6) o UCLIBC_HAVE_ADVANCED_REALTIME (7) o UCLIBC_HAVE_EPOLL (8) o UCLIBC_HAVE_XATTR (9) o UCLIBC_HAVE_PROFILING (10) (1) make non-standard getpt optional and implement standard posix_openpt (2) fstatfs(), inotify_*(), ioperm(), iopl(), madvise(), modify_ldt(), personality() ppoll(), setresuid() (3) mincore(), getdomainname(), setdomainname() (4) ntp_adjtime(), ntp_gettime() aliases (5) ustat() [use statfs(2) in your code instead] (6) All marked as "(REALTIME)" in SUSv3 (7) All marked as "(ADVANCED REALTIME)" in SUSv3 (8) epoll_create(), epoll_ctl(), epoll_wait() (9) all Extended Attributes (10) helpers for gcc's -finstrument-functions - Fixes _dl_exit() - Implements sleep(3) for !UCLIBC_HAVE_REALTIME - Implements usleep(3) for !UCLIBC_HAVE_REALTIME - adds #warning about incorrect posix_fadvise{,64}() - removes unused and unwanted uselib() Net outcome is that an allnoconfig with HAVE_SHARED is now about 88k instead of formerly 130k.
2007-02-08revert previous change; reading POSIX spec some more says we need to set ↵Mike Frysinger
errno to EINVAL if filename is NULL
2007-02-08we crash if the first argument to realpath() is non-null as well so lets ↵Mike Frysinger
mark both arguments as being non-NULL
2007-01-29missed an underscore in previous commitMike Frysinger
2007-01-28Bernhard Fischer writes: note how uClibc chooses to handle __resolved==NULLMike Frysinger
2006-11-29- gcvt() is marked LEGACY in XSI and mandatory in BSD.Bernhard Reutner-Fischer
Also make compilation conditional on float support.
2006-02-08janlana writes in Bug 700: use standard uint* types rather than u_intMike Frysinger
2006-01-26Enable gcvt in header, we build itPeter S. Mazinger
2006-01-09include stdinit for arc4random() as pointed out by Jan-Benedict GlawMike Frysinger