summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)AuthorLines
2012-02-24replace prototype for basename in string.h with non-prototype declarationRich Felker-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.
2012-02-17add get_current_dir_name functionRich Felker-0/+1
2012-02-15add float_t and double_t to math.hRich Felker-0/+2
2012-02-09replace bad cancellation cleanup abi with a sane oneRich Felker-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.
2012-02-07fix typo in inotify.hRich Felker-1/+1
2012-02-07declare basename in string.h when _GNU_SOURCE is definedRich Felker-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...
2012-02-07revert hacks for types of stdint.h integer constant macrosRich Felker-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.
2012-02-06more locale_t interfaces (string stuff) and header updatesRich Felker-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).
2012-02-06fix some omissions and mistakes in locale_t interface definitionsRich Felker-0/+24
2012-02-06add more of the locale_t interfaces, all dummied out to ignore the localeRich Felker-0/+5
2012-02-06add deprecated (removed from posix) [efg]cvt() functionsRich Felker-0/+3
these have not been heavily tested, but they should work as described in the old standards. probably broken for non-finite values...
2012-02-01apparently gnu caddr_t is supposed to be char *, not unsigned longRich Felker-1/+1
this type should never be used anyway, but some old junk uses it..
2012-02-01fix utmp.h mess, try 2Rich Felker-1/+1
2012-01-31fix previous utmp.h junk commitRich Felker-1/+1
2012-01-31add some missing junk in utmp.hRich Felker-0/+4
2012-01-29add fgetpwent (nonstandard function)Rich Felker-0/+5
based on patch by Jeremy Huntwork
2012-01-28add linux setfs[ug]id syscall wrappersRich Felker-0/+20
patch by Jeremy Huntwork
2012-01-26remove useless "extern" keywords in headersRich Felker-3/+3
2012-01-25fix typo in FPE_FLTUND definition, signal.hRich Felker-1/+1
2012-01-24add MIN/MAX macros to sys/param.hRich Felker-0/+5
this is a nonstandard junk header anyway, so just do what apps expect..
2012-01-24add legacy futimes and lutimes functionsRich Felker-0/+2
based on patch by sh4rm4. these functions are deprecated; futimens and utimensat should be used instead in new programs.
2012-01-20add prlimit syscall wrapperRich Felker-0/+8
2011-11-10fix __cplusplus extern "C" closing brace in pty.h (typo?)Rich Felker-1/+1
2011-11-10fix all missing instances of __cplusplus checks/extern "C" in headersRich Felker-1/+166
patch by Arvid Picciani (aep)
2011-10-17add some missing GNU FNM_* extensions to the headerRich Felker-1/+3
note that none of these are implemented, and programs depending on them may break... patch by sh4rm4
2011-10-17fix some details in ugly stuff that doesn't belong in libcRich Felker-0/+2
patches by sh4rm4, presumably needed to make gdb or some similar junk happy...
2011-10-04make [U]INTn_C() macros have the right type...Rich Felker-4/+4
...and still be valid in #if directives.
2011-09-28stupid typo (caused by rather ugly spelling in POSIX..) in aioRich Felker-1/+1
2011-09-26fix ctype macros to cast argument to (unsigned) firstRich Felker-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.
2011-09-26cleanup various minor issues reported by nszRich Felker-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.
2011-09-23FD_ISSET must return an int. this is the easiest way.Rich Felker-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.
2011-09-23sys/user.h may need stdint.hRich Felker-0/+1
2011-09-21fix missing SIG_DFL, SIG_IGN, SIG_ERR without posix in signal.hRich Felker-5/+6
2011-09-21gnu search.h has struct qelem...Rich Felker-0/+7
2011-09-20fix some header typosRich Felker-2/+2
2011-09-20make stdbool.h conform to c99Rich Felker-1/+2
2011-09-20fix incorrect include guard in mqueue.hRich Felker-2/+2
2011-09-20fix the fsid_t structure to match name of __valRich Felker-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.
2011-09-20fix broken siginfo_t with _GNU_SOURCE definedRich Felker-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.
2011-09-19fix the definition of struct statvfs to match lsb abiRich Felker-7/+24
at the same time, make struct statfs match the traditional definition and make it more useful, especially the fsid_t stuff.
2011-09-19add some more siginfo aliases broken software expects...Rich Felker-0/+2
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...