| Commit message (Expand) | Author | Age | Files | Lines |
| * | remove spurious inclusion of libc.h for LFS64 ABI aliases•••the LFS64 macro was not self-documenting and barely saved any
characters. simply use weak_alias directly so that it's clear what's
being done, and doesn't depend on a header to provide a strange macro.
| Rich Felker | 2018-09-12 | 1 | -2/+1 |
| * | reduce spurious inclusion of libc.h•••libc.h was intended to be a header for access to global libc state and
related interfaces, but ended up included all over the place because
it was the way to get the weak_alias macro. most of the inclusions
removed here are places where weak_alias was needed. a few were
recently introduced for hidden. some go all the way back to when
libc.h defined CANCELPT_BEGIN and _END, and all (wrongly implemented)
cancellation points had to include it.
remaining spurious users are mostly callers of the LOCK/UNLOCK macros
and files that use the LFS64 macro to define the awful *64 aliases.
in a few places, new inclusion of libc.h is added because several
internal headers no longer implicitly include libc.h.
declarations for __lockfile and __unlockfile are moved from libc.h to
stdio_impl.h so that the latter does not need libc.h. putting them in
libc.h made no sense at all, since the macros in stdio_impl.h are
needed to use them correctly anyway.
| Rich Felker | 2018-09-12 | 2 | -2/+0 |
| * | remove or make static various unused __-prefixed symbols | Rich Felker | 2018-09-12 | 1 | -1/+1 |
| * | fix issues from public functions defined without declaration visible•••policy is that all public functions which have a public declaration
should be defined in a context where that public declaration is
visible, to avoid preventable type mismatches.
an audit performed using GCC's -Wmissing-declarations turned up the
violations corrected here. in some cases the public header had not
been included; in others, a feature test macro needed to make the
declaration visible had been omitted.
in the case of gethostent and getnetent, the omission seems to have
been intentional, as a hack to admit a single stub definition for both
functions. this kind of hack is no longer acceptable; it's UB and
would not fly with LTO or advanced toolchains. the hack is undone to
make exposure of the declarations possible.
| Rich Felker | 2018-09-12 | 1 | -0/+1 |
| * | fix one-byte overflow in legacy getpass function•••if the length of the input was equal to the buffer size (128), a fixed
value of zero was written one byte past the end of the static buffer.
| Rich Felker | 2017-03-14 | 1 | -1/+1 |
| * | getdtablesize: fix returning hard instead of soft rlimit•••This makes the result consistent with sysconf(_SC_OPEN_MAX).
| Olivier Brunel | 2016-08-30 | 1 | -1/+1 |
| * | add errno setting to stub utmpxname function | Rich Felker | 2016-01-28 | 1 | -0/+2 |
| * | legacy/utmpx: Add utmp{,x}name stubs | Kylie McClain | 2016-01-28 | 1 | -0/+7 |
| * | fix futimes legacy function with null tv pointer•••a null pointer is valid here and indicates that the current time
should be used. based on patch by Felix Janda, simplified.
| Rich Felker | 2015-05-06 | 1 | -0/+1 |
| * | getloadavg: use sysinfo() instead of /proc/loadavg•••Based on a patch by Szabolcs Nagy.
| Alexander Monakov | 2015-02-25 | 1 | -11/+7 |
| * | fix multiple issues in legacy function getpass•••1. failure to output a newline after the password is read
2. fd leaks via missing FD_CLOEXEC
3. fd leaks via failure-to-close when any of the standard streams are
closed at the time of the call
4. wrongful fallback to use of stdin when opening /dev/tty fails
5. wrongful use of stderr rather than /dev/tty for prompt
6. failure to report error reading password
| Rich Felker | 2014-07-06 | 1 | -5/+6 |
| * | include cleanups: remove unused headers and add feature test macros | Szabolcs Nagy | 2013-12-12 | 7 | -4/+8 |
| * | add legacy getloadavg api | Szabolcs Nagy | 2013-11-21 | 1 | -0/+18 |
| * | support configurable page size on mips, powerpc and microblaze•••PAGE_SIZE was hardcoded to 4096, which is historically what most
systems use, but on several archs it is a kernel config parameter,
user space can only know it at execution time from the aux vector.
PAGE_SIZE and PAGESIZE are not defined on archs where page size is
a runtime parameter, applications should use sysconf(_SC_PAGE_SIZE)
to query it. Internally libc code defines PAGE_SIZE to libc.page_size,
which is set to aux[AT_PAGESZ] in __init_libc and early in __dynlink
as well. (Note that libc.page_size can be accessed without GOT, ie.
before relocations are done)
Some fpathconf settings are hardcoded to 4096, these should be actually
queried from the filesystem using statfs.
| Szabolcs Nagy | 2013-09-15 | 2 | -2/+2 |
| * | unbreak vwarn: print ": " before errno message•••patch by Strake. this seems to be a regression caused by fixing the
behavior of perror("") to match perror(0) at some point in the past.
| Rich Felker | 2013-08-21 | 1 | -2/+5 |
| * | collapse euidaccess to a call to faccessat•••it turns out Linux is buggy for faccessat, just like fchmodat: the
kernel does not actually take a flags argument. so we're going to have
to emulate it there.
| Rich Felker | 2013-08-03 | 1 | -9/+1 |
| * | add legacy euidaccess function and eaccess alias for it•••this is mainly for ABI compat purposes.
| Rich Felker | 2013-08-03 | 1 | -0/+18 |
| * | add legacy function valloc•••it was already declared in stdlib.h, but not defined anywhere.
| Rich Felker | 2013-08-02 | 1 | -0/+8 |
| * | make err.h functions print __progname•••patch by Strake. previously is was not feasible to duplicate this
functionality of the functions these were modeled on, since argv[0]
was not saved at program startup, but now that it's available it's
easy to use.
| Rich Felker | 2013-05-18 | 1 | -0/+4 |
| * | more close-on-exec fixes, mostly using new "e" flag to fopen | Rich Felker | 2012-09-29 | 1 | -1/+1 |
| * | cleanup src/linux and src/misc trees, etc.•••previously, it was pretty much random which one of these trees a given
function appeared in. they have now been organized into:
src/linux: non-POSIX linux syscalls (possibly shard with other nixen)
src/legacy: various obsolete/legacy functions, mostly wrappers
src/misc: still mostly uncategorized; some misc POSIX, some nonstd
src/crypt: crypt hash functions
further cleanup will be done later.
| Rich Felker | 2012-09-07 | 13 | -0/+302 |