summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)AuthorLines
2011-04-27use compiler builtins for variadic macros when availableRich Felker-0/+7
this slightly cuts down on the degree musl "fights with" gcc, but more importantly, it fixes a critical bug when gcc inlines a variadic function and optimizes out the variadic arguments due to noticing that they were "not used" (by __builtin_va_arg). we leave the old code in place if __GNUC__ >= 3 is false; it seems like it might be necessary at least for tinycc support and perhaps if anyone ever gets around to fixing gcc 2.95.3 enough to make it work..
2011-04-27correct variadic prototypes for execl* familyRich Felker-3/+3
the old versions worked, but conflicted with programs which declared their own prototypes and generated warnings with some versions of gcc.
2011-04-26function signature fix: add const qualifier to mempcpy src argRich Felker-1/+1
2011-04-26typo in prototype for mempcpyRich Felker-1/+1
2011-04-26prototype for mempcpyRich Felker-0/+1
2011-04-21move wait.h macros out of bits. they do not vary.Rich Felker-3/+30
2011-04-21include signal.h to avoid thorny __sigcontext/sigcontext issuesRich Felker-2/+2
this is explicitly allowed by POSIX
2011-04-20implement (nonstandard) forkptyRich Felker-0/+1
2011-04-14fix O_SYNC definition, cleanup fcntl.hRich Felker-0/+8
2011-04-14fcntl.h: move macros that do not vary between archs out of bitsRich Felker-0/+24
2011-04-14add useless type fd_mask. it's in the reserved namespace.Rich Felker-0/+2
2011-04-13numerous fixes to sysv ipcRich Felker-13/+55
some of these definitions were just plain wrong, others based on outdated ancient "non-64" versions of the kernel interface. as much as possible has now been moved out of bits/* these changes break abi (the old abi for these functions was wrong), but since they were not working anyway it can hardly matter.
2011-04-13add syslog.h cruft for syslogd to use...Rich Felker-0/+45
2011-04-13add profile for getmntent_rRich Felker-0/+1
2011-04-13fix typos on RLIM_NLIMITS, remove _GNU_SOURCE test for itRich Felker-3/+1
RLIM_* is in the reserved namespace for this header
2011-04-13fix and cleanup suseconds_t/timeval stuff (broken on 64-bit)Rich Felker-9/+1
trash in the upper 32 bits was making the kernel sleep forever in select on 64-bit systems.
2011-04-13fix prototypes/signature for setgroups, etc.Rich Felker-1/+7
2011-04-13fix incorrect GNU sighandler_t typedefRich Felker-1/+1
2011-04-13implement memrchr (nonstandard) and optimize strrchr in terms of itRich Felker-0/+1
2011-04-13add ptsname_r (nonstandard) and split ptsname (standard) to separate fileRich Felker-0/+1
this eliminates the ugly static buffer in programs that use ptsname_r.
2011-04-12move bswap functions to static inline in byteswap.hRich Felker-0/+25
2011-04-12utmpx.h is no longer under standards, so expose ut_exit structureRich Felker-3/+3
2011-04-12add some traditional aliases to stat.hRich Felker-0/+6
2011-04-12add missing rlimit macrosRich Felker-0/+8
2011-04-11more types cleanupRich Felker-12/+3
the basic idea is that the only things in alltypes.h should be types that either vary from system to system (in practice, not just in theoretical la-la land - this is the implementation so we choose what constraints we want to impose on ports) or which are needed by multiple system headers.
2011-04-11cleanup types stuff in headers, fix missing u_int*_t in sys/types.hRich Felker-7/+19
2011-04-10add some ugly legacy type names in sys/types.h (u_char etc.)Rich Felker-0/+8
2011-04-10add legacy BSD-style timer*() macros in sys/time.hRich Felker-0/+10
2011-04-10add missing UTIME_* macros in sys/stat.hRich Felker-0/+3
2011-04-06fix typo in sys/msg.hRich Felker-1/+1
2011-04-06add IN_LOOPBACKNET constant (nonstandard but in reserved namespace)Rich Felker-0/+2
2011-04-06fix prototype for strsepRich Felker-1/+1
2011-04-06fix incorrect (and conflicting on LP64 archs) types for sysv ipc msgq functionsRich Felker-1/+1
2011-04-05getopt.h is a GNU-getopt-specific header. always expose GNU functions.Rich Felker-2/+0
2011-04-05add sysexits.h legacy headerRich Felker-0/+21
2011-04-05add more legacy functions: setlinebuf and setbufferRich Felker-0/+2
2011-04-05alternate name for syslog.hRich Felker-0/+1
2011-04-05support the nonstandard err.h interfacesRich Felker-0/+24
note that unlike the originals, these do not print the program name/argv[0] because we have not saved it anywhere. this could be changed in __libc_start_main if desired.
2011-04-03prototype getdtablesize (nonstandard function)Rich Felker-0/+1
2011-04-03add setresuid/setresgid functions (nonstandard)Rich Felker-0/+2
2011-04-03d_fileno alias for d_ino in direntRich Felker-0/+2
this is nonstandard but since POSIX reserved d_ prefix in dirent.h we might as well define it unconditionally. some programs depend on it.
2011-04-01remove obsolete and useless useconds_t typeRich Felker-3/+2
2011-04-01fix misspelled PTHREAD_CANCELED constantRich Felker-1/+1
2011-03-30add some missing prototypes for nonstandard functions (strsep, clearenv)Rich Felker-0/+2
2011-03-29missing prototype for wcscoll (stub)Rich Felker-0/+1
2011-03-29implement POSIX timersRich Felker-6/+17
this implementation is superior to the glibc/nptl implementation, in that it gives true realtime behavior. there is no risk of timer expiration events being lost due to failed thread creation or failed malloc, because the thread is created as time creation time, and reused until the timer is deleted.
2011-03-28prototype for getpassRich Felker-0/+4
2011-03-25match glibc/lsb cancellation abi on i386Rich Felker-0/+2
glibc made the ridiculous choice to use pass-by-register calling convention for these functions, which is impossible to duplicate directly on non-gcc compilers. instead, we use ugly asm to wrap and convert the calling convention. presumably this works with every compiler anyone could potentially want to use.
2011-03-19syscall overhaul part two - unify public and internal syscall interfaceRich Felker-1/+17
with this patch, the syscallN() functions are no longer needed; a variadic syscall() macro allows syscalls with anywhere from 0 to 6 arguments to be made with a single macro name. also, manually casting each non-integer argument with (long) is no longer necessary; the casts are hidden in the macros. some source files which depended on being able to define the old macro SYSCALL_RETURNS_ERRNO have been modified to directly use __syscall() instead of syscall(). references to SYSCALL_SIGSET_SIZE and SYSCALL_LL have also been changed. x86_64 has not been tested, and may need a follow-up commit to fix any minor bugs/oversights.
2011-03-19add some ioctl stuff to sys/mount.hRich Felker-0/+18