about summary refs log tree commit diff
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* use c++-friendly initializers for pthread initializer definitionsRich Felker2012-02-291-3/+3
| | | | these will also avoid obnoxious warnings with gcc -Wbraces.
* add <syscall.h> as an alias for <sys/syscall.h>Rich Felker2012-02-291-0/+1
| | | | apparently some broken stuff (libstdc++) needs this.
* replace prototype for basename in string.h with non-prototype declarationRich Felker2012-02-241-1/+1
| | | | | | | | GNU programs may expect the GNU version of basename, which has a different prototype (argument is const-qualified) and prototype it themselves too. of course if they're expecting the GNU behavior for the function, they'll still run into problems, but at least this eliminates some compile-time failures.
* add get_current_dir_name functionRich Felker2012-02-171-0/+1
|
* add float_t and double_t to math.hRich Felker2012-02-151-0/+2
|
* replace bad cancellation cleanup abi with a sane oneRich Felker2012-02-091-16/+9
| | | | | | | | | | | | | | | | | | | | | | the old abi was intended to duplicate glibc's abi at the expense of being ugly and slow, but it turns out glib was not even using that abi except on non-gcc-compatible compilers (which it doesn't even support) and was instead using an exceptions-in-c/unwind-based approach whose abi we could not duplicate anyway without nasty dwarf2/unwind integration. the new abi is copied from a very old glibc abi, which seems to still be supported/present in current glibc. it avoids all unwinding, whether by sjlj or exceptions, and merely maintains a linked list of cleanup functions to be called from the context of pthread_exit. i've made some care to ensure that longjmp out of a cleanup function should work, even though it is not required to. this change breaks abi compatibility with programs which were using pthread cancellation, which is unfortunate, but that's why i'm making the change now rather than later. considering that most pthread features have not been usable until recently anyway, i don't see it as a major issue at this point.
* fix typo in inotify.hRich Felker2012-02-071-1/+1
|
* declare basename in string.h when _GNU_SOURCE is definedRich Felker2012-02-071-0/+1
| | | | | | note that it still will have the standards-conformant behavior, not the GNU behavior. but at least this prevents broken code from ending up with truncated pointers due to implicit declarations...
* revert hacks for types of stdint.h integer constant macrosRich Felker2012-02-071-4/+4
| | | | | | | | | | | | | per 7.18.4: Each invocation of one of these macros shall expand to an integer constant expression suitable for use in #if preprocessing directives. The type of the expression shall have the same type as would an expression of the corresponding type converted according to the integer promotions. The value of the expression shall be that of the argument. the key phrase is "converted according to the integer promotions". thus there is no intent or allowance that the expression have smaller-than-int types.
* more locale_t interfaces (string stuff) and header updatesRich Felker2012-02-063-0/+15
| | | | | | this should be everything except for some functions where the non-_l version isn't even implemented yet (mainly some non-ISO-C wcs* functions).
* fix some omissions and mistakes in locale_t interface definitionsRich Felker2012-02-061-0/+24
|
* add more of the locale_t interfaces, all dummied out to ignore the localeRich Felker2012-02-061-0/+5
|
* add deprecated (removed from posix) [efg]cvt() functionsRich Felker2012-02-061-0/+3
| | | | | these have not been heavily tested, but they should work as described in the old standards. probably broken for non-finite values...
* apparently gnu caddr_t is supposed to be char *, not unsigned longRich Felker2012-02-011-1/+1
| | | | this type should never be used anyway, but some old junk uses it..
* fix utmp.h mess, try 2Rich Felker2012-02-011-1/+1
|
* fix previous utmp.h junk commitRich Felker2012-01-311-1/+1
|
* add some missing junk in utmp.hRich Felker2012-01-311-0/+4
|
* add fgetpwent (nonstandard function)Rich Felker2012-01-291-0/+5
| | | | based on patch by Jeremy Huntwork
* add linux setfs[ug]id syscall wrappersRich Felker2012-01-281-0/+20
| | | | patch by Jeremy Huntwork
* remove useless "extern" keywords in headersRich Felker2012-01-263-3/+3
|
* fix typo in FPE_FLTUND definition, signal.hRich Felker2012-01-251-1/+1
|
* add MIN/MAX macros to sys/param.hRich Felker2012-01-241-0/+5
| | | | this is a nonstandard junk header anyway, so just do what apps expect..
* add legacy futimes and lutimes functionsRich Felker2012-01-241-0/+2
| | | | | based on patch by sh4rm4. these functions are deprecated; futimens and utimensat should be used instead in new programs.
* add prlimit syscall wrapperRich Felker2012-01-201-0/+8
|
* fix __cplusplus extern "C" closing brace in pty.h (typo?)Rich Felker2011-11-101-1/+1
|
* fix all missing instances of __cplusplus checks/extern "C" in headersRich Felker2011-11-1021-1/+166
| | | | patch by Arvid Picciani (aep)
* add some missing GNU FNM_* extensions to the headerRich Felker2011-10-171-1/+3
| | | | | note that none of these are implemented, and programs depending on them may break... patch by sh4rm4
* fix some details in ugly stuff that doesn't belong in libcRich Felker2011-10-171-0/+2
| | | | | patches by sh4rm4, presumably needed to make gdb or some similar junk happy...
* make [U]INTn_C() macros have the right type...Rich Felker2011-10-041-4/+4
| | | | ...and still be valid in #if directives.
* stupid typo (caused by rather ugly spelling in POSIX..) in aioRich Felker2011-09-281-1/+1
|
* fix ctype macros to cast argument to (unsigned) firstRich Felker2011-09-262-7/+7
| | | | | | | issue reported by nsz, but it's actually not just pedantic. the functions can take input of any arithmetic type, including floating point, and the behavior needs to be as if the conversion implicit in the function call took place.
* cleanup various minor issues reported by nszRich Felker2011-09-262-2/+1
| | | | | | | | | the changes to syscall_ret are mostly no-ops in the generated code, just cleanup of type issues and removal of some implementation-defined behavior. the one exception is the change in the comparison value, which is fixed so that 0xf...f000 (which in principle could be a valid return value for mmap, although probably never in reality) is not treated as an error return.
* FD_ISSET must return an int. this is the easiest way.Rich Felker2011-09-231-1/+1
| | | | | | | | | casting to int would not be correct because high bits could be lost. mapping the high bits down onto low bits would be costlier in the common case where the result is just used in a conditional. changing the type of the bit array elements to int would permute the order of the bit array on 64-bit big endian systems, so that's not an option either.
* sys/user.h may need stdint.hRich Felker2011-09-231-0/+1
|
* fix missing SIG_DFL, SIG_IGN, SIG_ERR without posix in signal.hRich Felker2011-09-211-5/+6
|
* gnu search.h has struct qelem...Rich Felker2011-09-211-0/+7
|
* fix some header typosRich Felker2011-09-202-2/+2
|
* make stdbool.h conform to c99Rich Felker2011-09-201-1/+2
|
* fix incorrect include guard in mqueue.hRich Felker2011-09-201-2/+2
|
* fix the fsid_t structure to match name of __valRich Felker2011-09-201-1/+1
| | | | | | 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.
* fix broken siginfo_t with _GNU_SOURCE definedRich Felker2011-09-201-6/+5
| | | | | | | 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.
* fix the definition of struct statvfs to match lsb abiRich Felker2011-09-192-7/+24
| | | | | at the same time, make struct statfs match the traditional definition and make it more useful, especially the fsid_t stuff.
* add some more siginfo aliases broken software expects...Rich Felker2011-09-191-0/+2
|
* cleanup redundancy in bits/signal.h versionsRich Felker2011-09-191-4/+108
|
* fix the type of wchar_t on arm; support wchar_t varying with archRich Felker2011-09-192-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.
* fix broken multi-inclusion guard in sys/reg.hRich Felker2011-09-191-2/+2
|
* cleanup more bits cruft (sysmacros and socket)Rich Felker2011-09-182-1/+199
|
* more bits junk (tcp.h)Rich Felker2011-09-181-1/+1
|
* move invariant netinet/in.h stuff out of bits/in.hRich Felker2011-09-181-2/+147
|
* overhaul clone syscall wrappingRich Felker2011-09-181-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.