341 Commits

Author SHA1 Message Date
Rich Felker
b158b32a44 implement open_memstream
this is the first attempt, and may have bugs. only minimal testing has
been performed.
2011-09-03 00:45:21 -04:00
Rich Felker
adb7093caa fix missing prototypes/wrong signature for psiginfo, psignal 2011-09-02 14:25:43 -04:00
Rich Felker
1f5ff26cd7 fix broken FD_* macros on 64-bit targets
1 is too small if int is 32-bit but unsigned long is 64-bit. be
explicit and use 1UL.
2011-08-27 19:42:13 -04:00
Rich Felker
9205e48609 macro for pthread_equal
no sense bloating apps with a function call for an equality comparison...
2011-08-14 15:17:36 -04:00
Rich Felker
4054a135fc implement forkall
this is a "nonstandard" function that was "rejected" by POSIX, but
nonetheless had its behavior documented in the POSIX rationale for
fork. it's present on solaris and possibly some other systems, and
duplicates the whole calling process, not just a single thread. glibc
does not have this function. it should not be used in programs
intending to be portable, but may be useful for testing,
checkpointing, etc. and it's an interesting (and quite small) example
of the usefulness of the __synccall framework originally written to
work around deficiencies in linux's setuid syscall.
2011-08-12 10:37:12 -04:00
Rich Felker
acfd06df17 consistency: use struct __ucontext instead of ucontext_t in prototypes
this is necessary to avoid build errors if feature test macros are not
properly defined when including ucontext.h
2011-07-31 00:10:29 -04:00
Rich Felker
6b1d3817cf add missing signalfd flags 2011-07-09 18:06:59 -04:00
Rich Felker
17be829104 fill in junk in stropts.h
STREAMS are utterly useless as far as I can tell, but some software
was apparently broken by the presence of stropts.h but lack of macros
it's supposed to define...
2011-06-30 20:23:24 -04:00
Rich Felker
a0b56b947a add and consolidate nasty stdio_ext junk
hopefully this resolves the rest of the issues with hideously
nonportable hacks in programs that use gnulib.
2011-06-30 12:44:48 -04:00
Rich Felker
7640497f5f implement the nonstandard GNU function fpurge
this is a really ugly and backwards function, but its presence will
prevent lots of broken gnulib software from trying to define its own
version of fpurge and thereby failing to build or worse.
2011-06-30 11:42:33 -04:00
Rich Felker
47e72e10d5 avoid errors in ucontext.h when no feature test macros are defined 2011-06-29 17:13:01 -04:00
Rich Felker
230f1813ad further fixup dlfcn.h 2011-06-27 01:02:28 -04:00
Rich Felker
87a30ce50d match LSB/glibc constants for dynamic loader 2011-06-27 01:01:19 -04:00
Rich Felker
febbd12d00 XSI search.h API implementation by Szabolcs Nagy 2011-06-25 18:18:57 -04:00
Rich Felker
e8b8f3c90e move all limits that don't vary out of bits/limits.h, into main limits.h 2011-06-25 15:38:00 -04:00
Rich Felker
5a2e74ebd2 copy-paste error in prctl.h 2011-06-18 07:39:05 -04:00
Rich Felker
7f5471529c fix some struct padding to match LSB/glibc ABI where it may be helpful 2011-06-16 17:11:35 -04:00
Rich Felker
32aea2087a duplicate re_nsub in LSB/glibc ABI compatible location 2011-06-16 16:53:11 -04:00
Rich Felker
2697b4e755 add netpacket/packet.h
looks like busybox is going to want it, and apparently some other
low-level network software does too...
2011-06-09 21:47:24 -04:00
Rich Felker
e0037efc12 isgreater etc. relation macros for math.h 2011-06-08 16:33:04 -04:00
Rich Felker
2b0cedac8d define MQ_PRIO_MAX 2011-06-07 15:05:04 -04:00
Rich Felker
ab11386aaa add support for POSIX message queues, except mq_notify 2011-06-07 01:52:27 -04:00
Rich Felker
cbf35978a9 use __attribute__((const)) for errno and pthread_self if __GNUC__ is defined
this is not too ugly and should result in significant code size and
performance improvements for many programs.
2011-06-06 20:12:42 -04:00
Rich Felker
da88b16a22 fix handling of d_name in struct dirent
basically there are 3 choices for how to implement this variable-size
string member:
1. C99 flexible array member: breaks using dirent.h with pre-C99 compiler.
2. old way: length-1 string: generates array bounds warnings in caller.
3. new way: length-NAME_MAX string. no problems, simplifies all code.

of course the usable part in the pointer returned by readdir might be
shorter than NAME_MAX+1 bytes, but that is allowed by the standard and
doesn't hurt anything.
2011-06-06 18:04:28 -04:00
Rich Felker
c74d306f47 missing prototypes for mbsnrtowcs and wcsnrtombs 2011-05-30 13:32:40 -04:00
Rich Felker
ddd87b2f10 implement pthread_[sg]etconcurrency.
there is a resource limit of 0 bits to store the concurrency level
requested. thus any positive level exceeds a resource limit, resulting
in EAGAIN. :-)
2011-05-30 11:31:07 -04:00
Rich Felker
c97f0d998c initial implementation of posix_spawn
file actions are not yet implemented, but everything else should be
mostly complete and roughly correct.
2011-05-28 18:36:30 -04:00
Rich Felker
15b77d52c9 eventfd syscall wrapper and read/write wrappers 2011-05-08 00:03:00 -04:00
Rich Felker
202911435b add SA_NOMASK alias for SA_NODEFER with _GNU_SOURCE 2011-05-05 17:44:06 -04:00
Rich Felker
def0af1898 use compiler builtins for variadic macros when available
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-27 23:41:48 -04:00
Rich Felker
e6bac87d0e correct variadic prototypes for execl* family
the old versions worked, but conflicted with programs which declared
their own prototypes and generated warnings with some versions of gcc.
2011-04-27 16:06:33 -04:00
Rich Felker
b5b41212a6 function signature fix: add const qualifier to mempcpy src arg 2011-04-26 12:28:41 -04:00
Rich Felker
32e2c468ba typo in prototype for mempcpy 2011-04-26 08:42:55 -04:00
Rich Felker
d179807f6b prototype for mempcpy 2011-04-26 08:41:54 -04:00
Rich Felker
4b5f054098 move wait.h macros out of bits. they do not vary. 2011-04-21 14:27:28 -04:00
Rich Felker
f492c95401 include signal.h to avoid thorny __sigcontext/sigcontext issues
this is explicitly allowed by POSIX
2011-04-21 14:21:57 -04:00
Rich Felker
4921ce0867 implement (nonstandard) forkpty 2011-04-20 20:55:13 -04:00
Rich Felker
a3aa89d826 fix O_SYNC definition, cleanup fcntl.h 2011-04-14 22:06:30 -04:00
Rich Felker
c2b18f3531 fcntl.h: move macros that do not vary between archs out of bits 2011-04-14 21:49:22 -04:00
Rich Felker
33a3f202d1 add useless type fd_mask. it's in the reserved namespace. 2011-04-14 16:23:31 -04:00
Rich Felker
07e865cc5a numerous fixes to sysv ipc
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-13 16:45:43 -04:00
Rich Felker
b5b43b6d62 add syslog.h cruft for syslogd to use... 2011-04-13 16:13:49 -04:00
Rich Felker
b778a2ba69 add profile for getmntent_r 2011-04-13 15:24:26 -04:00
Rich Felker
45a3219944 fix typos on RLIM_NLIMITS, remove _GNU_SOURCE test for it
RLIM_* is in the reserved namespace for this header
2011-04-13 13:22:19 -04:00
Rich Felker
cac7d837cc fix and cleanup suseconds_t/timeval stuff (broken on 64-bit)
trash in the upper 32 bits was making the kernel sleep forever in
select on 64-bit systems.
2011-04-13 13:16:49 -04:00
Rich Felker
3f44f298e4 fix prototypes/signature for setgroups, etc. 2011-04-13 09:03:22 -04:00
Rich Felker
0f5b43550c fix incorrect GNU sighandler_t typedef 2011-04-13 08:45:28 -04:00
Rich Felker
6597f9ac13 implement memrchr (nonstandard) and optimize strrchr in terms of it 2011-04-13 08:36:29 -04:00
Rich Felker
750b738e53 add ptsname_r (nonstandard) and split ptsname (standard) to separate file
this eliminates the ugly static buffer in programs that use ptsname_r.
2011-04-13 08:35:32 -04:00
Rich Felker
c546be175c move bswap functions to static inline in byteswap.h 2011-04-12 13:04:17 -04:00