Commit Graph

469 Commits

Author SHA1 Message Date
1587224ed6 sys/user.h may need stdint.h 2011-09-23 14:24:57 -04:00
81a5577a86 fix missing SIG_DFL, SIG_IGN, SIG_ERR without posix in signal.h 2011-09-21 22:25:31 -04:00
319df20bc9 gnu search.h has struct qelem... 2011-09-21 21:01:56 -04:00
fd9e01e92a fix some header typos 2011-09-20 20:02:48 -04:00
d23a543d8a make stdbool.h conform to c99 2011-09-20 14:51:56 -04:00
2318207adc fix incorrect include guard in mqueue.h 2011-09-20 12:14:06 -04:00
32b82cf5cd fix the fsid_t structure to match name of __val
this is a case of poorly written man pages not matching the actual
implementation, and why i hate implementing nonstandard interfaces
with no actual documentation of how they're intended to work.
2011-09-20 11:16:27 -04:00
03a8362930 fix broken siginfo_t with _GNU_SOURCE defined
this bug was introduced in a recent patch. the problem we're working
around is that broken GNU software wants to use "struct siginfo"
rather than "siginfo_t", but "siginfo" is not in the reserved
namespace and thus not legal for the standard header to use.
2011-09-20 10:58:18 -04:00
114c80f141 fix the definition of struct statvfs to match lsb abi
at the same time, make struct statfs match the traditional definition
and make it more useful, especially the fsid_t stuff.
2011-09-19 23:35:48 -04:00
8c07f6eac8 add some more siginfo aliases broken software expects... 2011-09-19 22:27:02 -04:00
f780ac5baf cleanup redundancy in bits/signal.h versions 2011-09-19 20:02:12 -04:00
224c7a376a fix the type of wchar_t on arm; support wchar_t varying with arch
really wchar_t should never vary, but the ARM EABI defines it as an
unsigned 32-bit int instead of a signed one, and gcc follows this
nonsense. thus, to give a conformant environment, we have to follow
(otherwise L""[0] and L'\0' would be 0U rather than 0, but the
application would be unaware due to a mismatched definition for
WCHAR_MIN and WCHAR_MAX, and Bad Things could happen with respect to
signed/unsigned comparisons, promotions, etc.).

fortunately no rules are imposed by the C standard on the relationship
between wchar_t and wint_t, and WEOF has type wint_t, so we can still
make wint_t always-signed and use -1 for WEOF.
2011-09-19 17:39:51 -04:00
53431b091b fix broken multi-inclusion guard in sys/reg.h 2011-09-19 11:56:09 -04:00
b0c088ee55 cleanup more bits cruft (sysmacros and socket) 2011-09-18 16:34:13 -04:00
ca8373dfcf more bits junk (tcp.h) 2011-09-18 15:39:52 -04:00
c8175666f2 move invariant netinet/in.h stuff out of bits/in.h 2011-09-18 15:31:44 -04:00
3f72cdac73 overhaul clone syscall wrapping
several things are changed. first, i have removed the old __uniclone
function signature and replaced it with the "standard" linux
__clone/clone signature. this was necessary to expose clone to
applications anyway, and it makes it easier to port __clone to new
archs, since it's now testable independently of pthread_create.

secondly, i have removed all references to the ugly ldt descriptor
structure (i386 only) from the c code and pthread structure. in places
where it is needed, it is now created on the stack just when it's
needed, in assembly code. thus, the i386 __clone function takes the
desired thread pointer as its argument, rather than an ldt descriptor
pointer, just like on all other sane archs. this should not affect
applications since there is really no way an application can use clone
with threads/tls in a way that doesn't horribly conflict with and
clobber the underlying implementation's use. applications are expected
to use clone only for creating actual processes, possibly with new
namespace features and whatnot.
2011-09-18 10:14:37 -04:00
71f7a3c2ce implement ptrace syscall wrapper (untested) 2011-09-15 13:03:13 -04:00
4da289e1b3 fix return types for aio_read and aio_write again
previous fix was backwards and propagated the wrong type rather than
the right one...
2011-09-13 21:21:53 -04:00
13cd969552 fix various errors in function signatures/prototypes found by nsz 2011-09-13 21:09:35 -04:00
fd408d27a0 fix prototypes for aio_read and aio_write 2011-09-13 15:39:58 -04:00
fb80e047cc implement gnu sigisemptyset 2011-09-12 00:00:30 -04:00
ce17ea6f2c add prototypes for GNU *_unlocked stdio functions
actually these are just weak aliases for the normal locking versions
right now, and they will probably stay that way since making them
lock-free without slowing down the normal versions would require
significant code duplication for no benefit.
2011-09-11 22:50:02 -04:00
a6540174be add dummied strverscmp (obnoxious GNU function)
programs that use this tend to horribly botch international text
support, so it's questionable whether we want to support it even in
the long term... for now, it's just a dummy that calls strcmp.
2011-09-11 22:45:56 -04:00
d4045a1683 declare alloca in stdlib.h when _GNU_SOURCE is defined 2011-09-11 22:43:57 -04:00
b4de6f93ae implement POSIX asynchronous io
some features are not yet supported, and only minimal testing has been
performed. should be considered experimental at this point.
2011-09-09 01:07:38 -04:00
d4fa6f0e08 implement fmemopen
testing so far has been minimal. may need further work.
2011-09-03 23:26:17 -04:00
1461e02757 implement open_wmemstream
not heavily tested, but it seems to be correct, including the odd
behavior that seeking is in terms of wide character count. this
precludes any simple buffering, so we just make the stream unbuffered.
2011-09-03 19:49:46 -04:00
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
adb7093caa fix missing prototypes/wrong signature for psiginfo, psignal 2011-09-02 14:25:43 -04:00
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
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
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
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
6b1d3817cf add missing signalfd flags 2011-07-09 18:06:59 -04:00
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
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
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
47e72e10d5 avoid errors in ucontext.h when no feature test macros are defined 2011-06-29 17:13:01 -04:00
230f1813ad further fixup dlfcn.h 2011-06-27 01:02:28 -04:00
87a30ce50d match LSB/glibc constants for dynamic loader 2011-06-27 01:01:19 -04:00
febbd12d00 XSI search.h API implementation by Szabolcs Nagy 2011-06-25 18:18:57 -04:00
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
5a2e74ebd2 copy-paste error in prctl.h 2011-06-18 07:39:05 -04:00
7f5471529c fix some struct padding to match LSB/glibc ABI where it may be helpful 2011-06-16 17:11:35 -04:00
32aea2087a duplicate re_nsub in LSB/glibc ABI compatible location 2011-06-16 16:53:11 -04:00
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
e0037efc12 isgreater etc. relation macros for math.h 2011-06-08 16:33:04 -04:00
2b0cedac8d define MQ_PRIO_MAX 2011-06-07 15:05:04 -04:00
ab11386aaa add support for POSIX message queues, except mq_notify 2011-06-07 01:52:27 -04:00