| Commit message (Expand) | Author | Age | Files | Lines |
| * | syscall overhaul part two - unify public and internal syscall interface•••with this patch, the syscallN() functions are no longer needed; a
variadic syscall() macro allows syscalls with anywhere from 0 to 6
arguments to be made with a single macro name. also, manually casting
each non-integer argument with (long) is no longer necessary; the
casts are hidden in the macros.
some source files which depended on being able to define the old macro
SYSCALL_RETURNS_ERRNO have been modified to directly use __syscall()
instead of syscall(). references to SYSCALL_SIGSET_SIZE and SYSCALL_LL
have also been changed.
x86_64 has not been tested, and may need a follow-up commit to fix any
minor bugs/oversights.
| Rich Felker | 2011-03-19 | 1 | -1/+17 |
| * | add some ioctl stuff to sys/mount.h | Rich Felker | 2011-03-19 | 1 | -0/+18 |
| * | overhaul syscall interface•••this commit shuffles around the location of syscall definitions so
that we can make a syscall() library function with both SYS_* and
__NR_* style syscall names available to user applications, provides
the syscall() library function, and optimizes the code that performs
the actual inline syscalls in the library itself.
previously on i386 when built as PIC (shared library), syscalls were
incurring bus lock (lock prefix) overhead at entry and exit, due to
the way the ebx register was being loaded (xchg instruction with a
memory operand). now the xchg takes place between two registers.
further cleanup to arch/$(ARCH)/syscall.h is planned.
| Rich Felker | 2011-03-19 | 1 | -0/+16 |
| * | some linux headers useful from user apps.•••i'm still not sure whether it's a good idea to include or use any of
these, but i'll add them for now. it may make more sense to just add
official kernel headers to the include path for compiling programs
that need them.
| Rich Felker | 2011-03-18 | 3 | -0/+550 |
| * | various legacy and linux-specific stuff•••this commit is part of an effort to make more of busybox work
out-of-the-box.
| Rich Felker | 2011-03-18 | 4 | -1/+115 |
| * | implement [v]swprintf | Rich Felker | 2011-03-18 | 1 | -2/+2 |
| * | implement robust mutexes•••some of this code should be cleaned up, e.g. using macros for some of
the bit flags, masks, etc. nonetheless, the code is believed to be
working and correct at this point.
| Rich Felker | 2011-03-17 | 1 | -0/+1 |
| * | remove some old cruft from sys/types.h | Rich Felker | 2011-03-14 | 1 | -1/+0 |
| * | pthread.h needs clockid_t•••actually it gets this from time.h if _POSIX_C_SOURCE or any other
feature test macros are defined, but it breaks if they're not.
| Rich Felker | 2011-03-12 | 1 | -0/+1 |
| * | missing const in some pthread_attr_* prototypes | Rich Felker | 2011-03-11 | 1 | -8/+8 |
| * | fix sem_open and sem_close to obey posix semantics•••multiple opens of the same named semaphore must return the same
pointer, and only the last close can unmap it. thus the ugly global
state keeping track of mappings. the maximum number of distinct named
semaphores that can be opened is limited sufficiently small that the
linear searches take trivial time, especially compared to the syscall
overhead of these functions.
| Rich Felker | 2011-03-10 | 1 | -0/+1 |
| * | fix typos in dirent.h | Rich Felker | 2011-03-08 | 1 | -2/+2 |
| * | fcntl.h should make availabel the mode constants from sys/stat.h•••also remove some legacy nonsense that crept in.
| Rich Felker | 2011-03-08 | 2 | -8/+20 |
| * | add macros for use with d_type extension field in dirent | Rich Felker | 2011-03-07 | 1 | -0/+14 |
| * | add prototypes for pthread_condattr_* and pthread_rwlockattr_* | Rich Felker | 2011-03-07 | 1 | -0/+12 |
| * | preliminaries to adding POSIX semaphores | Rich Felker | 2011-03-03 | 2 | -1/+8 |
| * | namespace cleanup in sys/mman.h | Rich Felker | 2011-03-03 | 1 | -1/+3 |
| * | implement futimens and utimensat | Rich Felker | 2011-02-27 | 1 | -0/+3 |
| * | cleanup namespace in sys/time.h | Rich Felker | 2011-02-27 | 1 | -4/+5 |
| * | implement fexecve | Rich Felker | 2011-02-27 | 1 | -0/+1 |
| * | fix missing prototype for strsignal | Rich Felker | 2011-02-26 | 1 | -0/+1 |
| * | apply feature test protection to memccpy | Rich Felker | 2011-02-24 | 1 | -1/+4 |
| * | prototypes for GNU asprintf/vasprintf | Rich Felker | 2011-02-20 | 1 | -0/+2 |
| * | include sys/sysmacros.h from sys/types.h when _GNU_SOURCE is defined | Rich Felker | 2011-02-20 | 1 | -0/+1 |
| * | fix typo in inotify structure | Rich Felker | 2011-02-20 | 1 | -1/+1 |
| * | make real symbols for the legacy (nonstandardized) utmp functions•••this is needed in the long term for ABI compatibility anyway, and in
the immediate, it helps with building broken programs like GNU screen
that try to prototype the functions themselves rather than using the
header.
| Rich Felker | 2011-02-20 | 1 | -6/+15 |
| * | resolve some header namespace non-issues•••after re-reading 2.2.2 of POSIX 2008, all of these are in the correct
reserved namespaces and do not need protection.
| Rich Felker | 2011-02-20 | 1 | -2/+0 |
| * | move the GNU siginfo renaming so it doesn't lead to mismatching names | Rich Felker | 2011-02-20 | 1 | -1/+4 |
| * | make sys/param.h not depend on PATH_MAX and NAME_MAX•••this is a nonstandard header used only by backwards programs, but for
some reason it's extremely popular. the recent namespace cleanup fixes
broke it, because PATH_MAX and NAME_MAX will not be defined unless an
approriate feature test macro has been defined. moreover, it's too
late to just #define _GNU_SOURCE in param.h, since limits.h may have
already been included.
let's just hard-code standard values and be done with it.
| Rich Felker | 2011-02-20 | 1 | -2/+2 |
| * | fix typo in wordexp.h (note that the function is still unimplemented) | Rich Felker | 2011-02-19 | 1 | -1/+1 |
| * | add syscall wrappers for inotify | Rich Felker | 2011-02-19 | 1 | -0/+55 |
| * | prototype wait3 and wait4 | Rich Felker | 2011-02-19 | 2 | -3/+6 |
| * | prototypes for brk and sbrk | Rich Felker | 2011-02-19 | 1 | -0/+2 |
| * | support the ugly and deprecated ucontext and sigcontext header stuff...•••only the structures, not the functions from ucontext.h, are supported
at this point. the main goal of this commit is to make modern gcc with
dwarf2 unwinding build without errors.
honestly, it probably doesn't matter how we define these as long as
they have members with the right names to prevent errors while
compiling libgcc. the only time they will be used is for propagating
exceptions across signal-handler boundaries, which invokes undefined
behavior anyway. but as-is, they're probably correct and may be useful
to various low-level applications dealing with virtualization, jit
code generation, and so on...
| Rich Felker | 2011-02-18 | 1 | -20/+3 |
| * | add pthread_atfork interface•••note that this presently does not handle consistency of the libc's own
global state during forking. as per POSIX 2008, if the parent process
was threaded, the child process may only call async-signal-safe
functions until one of the exec-family functions is called, so the
current behavior is believed to be conformant even if non-ideal. it
may be improved at some later time.
| Rich Felker | 2011-02-18 | 1 | -0/+2 |
| * | add portable lchown (trivial to support and a few ancient things want it..) | Rich Felker | 2011-02-17 | 1 | -0/+3 |
| * | reorganize pthread data structures and move the definitions to alltypes.h•••this allows sys/types.h to provide the pthread types, as required by
POSIX. this design also facilitates forcing ABI-compatible sizes in
the arch-specific alltypes.h, while eliminating the need for
developers changing the internals of the pthread types to poke around
with arch-specific headers they may not be able to test.
| Rich Felker | 2011-02-17 | 2 | -45/+26 |
| * | ucontext is no longer in the standard, so use gnu-friendly struct name•••note that this header is still bogus and needs a lot of work and
factoring into arch-dependent parts...
| Rich Felker | 2011-02-16 | 1 | -2/+2 |
| * | some gnu software wrongly uses "struct siginfo" instead of siginfo_t... | Rich Felker | 2011-02-16 | 1 | -0/+1 |
| * | add to pthread.h: pthread_mutex_timedlock and sched.h, time.h | Rich Felker | 2011-02-16 | 1 | -1/+3 |
| * | move stdio stuff that's not arch-specific out of bits | Rich Felker | 2011-02-15 | 1 | -1/+9 |
| * | fix the types of some integer constant limits in headers | Rich Felker | 2011-02-15 | 1 | -1/+1 |
| * | fix missing EXIT_* in stdlib.h after header cleanup | Rich Felker | 2011-02-15 | 1 | -3/+3 |
| * | feature test support in unistd.h | Rich Felker | 2011-02-15 | 1 | -23/+27 |
| * | prototype for gnu strcasestr (currently a stub) | Rich Felker | 2011-02-15 | 1 | -0/+1 |
| * | fix another error from header cleanup, missing size_t in time.h | Rich Felker | 2011-02-15 | 1 | -1/+1 |
| * | fix broken signal.h from header cleanup | Rich Felker | 2011-02-15 | 1 | -2/+2 |
| * | fix some type leakage (timer_t) from x86_64 commit | Rich Felker | 2011-02-15 | 1 | -1/+0 |
| * | Port musl to x86-64. One giant commit! | Nicholas J. Kain | 2011-02-15 | 1 | -0/+1 |
| * | split off arch-specific stdarg.h stuff | Rich Felker | 2011-02-15 | 1 | -15/+1 |