summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)AuthorLines
2011-09-19cleanup redundancy in bits/signal.h versionsRich Felker-4/+108
2011-09-19fix the type of wchar_t on arm; support wchar_t varying with archRich Felker-15/+6
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-19fix broken multi-inclusion guard in sys/reg.hRich Felker-2/+2
2011-09-18cleanup more bits cruft (sysmacros and socket)Rich Felker-1/+199
2011-09-18more bits junk (tcp.h)Rich Felker-1/+1
2011-09-18move invariant netinet/in.h stuff out of bits/in.hRich Felker-2/+147
2011-09-18overhaul clone syscall wrappingRich Felker-0/+27
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-15implement ptrace syscall wrapper (untested)Rich Felker-1/+1
2011-09-13fix return types for aio_read and aio_write againRich Felker-2/+2
previous fix was backwards and propagated the wrong type rather than the right one...
2011-09-13fix various errors in function signatures/prototypes found by nszRich Felker-8/+8
2011-09-13fix prototypes for aio_read and aio_writeRich Felker-2/+2
2011-09-12implement gnu sigisemptysetRich Felker-0/+1
2011-09-11add prototypes for GNU *_unlocked stdio functionsRich Felker-0/+4
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-11add dummied strverscmp (obnoxious GNU function)Rich Felker-0/+1
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-11declare alloca in stdlib.h when _GNU_SOURCE is definedRich Felker-0/+1
2011-09-09implement POSIX asynchronous ioRich Felker-0/+60
some features are not yet supported, and only minimal testing has been performed. should be considered experimental at this point.
2011-09-03implement fmemopenRich Felker-0/+1
testing so far has been minimal. may need further work.
2011-09-03implement open_wmemstreamRich Felker-0/+1
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-03implement open_memstreamRich Felker-0/+1
this is the first attempt, and may have bugs. only minimal testing has been performed.
2011-09-02fix missing prototypes/wrong signature for psiginfo, psignalRich Felker-0/+3
2011-08-27fix broken FD_* macros on 64-bit targetsRich Felker-3/+3
1 is too small if int is 32-bit but unsigned long is 64-bit. be explicit and use 1UL.
2011-08-14macro for pthread_equalRich Felker-0/+2
no sense bloating apps with a function call for an equality comparison...
2011-08-12implement forkallRich Felker-0/+1
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-07-31consistency: use struct __ucontext instead of ucontext_t in prototypesRich Felker-1/+1
this is necessary to avoid build errors if feature test macros are not properly defined when including ucontext.h
2011-07-09add missing signalfd flagsRich Felker-0/+3
2011-06-30fill in junk in stropts.hRich Felker-1/+123
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-30add and consolidate nasty stdio_ext junkRich Felker-0/+27
hopefully this resolves the rest of the issues with hideously nonportable hacks in programs that use gnulib.
2011-06-30implement the nonstandard GNU function fpurgeRich Felker-0/+1
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-29avoid errors in ucontext.h when no feature test macros are definedRich Felker-3/+5
2011-06-27further fixup dlfcn.hRich Felker-4/+10
2011-06-27match LSB/glibc constants for dynamic loaderRich Felker-4/+4
2011-06-25XSI search.h API implementation by Szabolcs NagyRich Felker-1/+35
2011-06-25move all limits that don't vary out of bits/limits.h, into main limits.hRich Felker-0/+22
2011-06-18copy-paste error in prctl.hRich Felker-1/+1
2011-06-16fix some struct padding to match LSB/glibc ABI where it may be helpfulRich Felker-2/+5
2011-06-16duplicate re_nsub in LSB/glibc ABI compatible locationRich Felker-1/+2
2011-06-09add netpacket/packet.hRich Felker-0/+44
looks like busybox is going to want it, and apparently some other low-level network software does too...
2011-06-08isgreater etc. relation macros for math.hRich Felker-0/+18
2011-06-07define MQ_PRIO_MAXRich Felker-0/+1
2011-06-07add support for POSIX message queues, except mq_notifyRich Felker-0/+34
2011-06-06use __attribute__((const)) for errno and pthread_self if __GNUC__ is definedRich Felker-0/+6
this is not too ugly and should result in significant code size and performance improvements for many programs.
2011-06-06fix handling of d_name in struct direntRich Felker-1/+1
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-05-30missing prototypes for mbsnrtowcs and wcsnrtombsRich Felker-0/+6
2011-05-30implement pthread_[sg]etconcurrency.Rich Felker-0/+3
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-28initial implementation of posix_spawnRich Felker-0/+67
file actions are not yet implemented, but everything else should be mostly complete and roughly correct.
2011-05-08eventfd syscall wrapper and read/write wrappersRich Felker-0/+25
2011-05-05add SA_NOMASK alias for SA_NODEFER with _GNU_SOURCERich Felker-0/+1
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