• R
    support linux kernel apis (new archs) with old syscalls removed · dd5f50da
    Rich Felker 提交于
    such archs are expected to omit definitions of the SYS_* macros for
    syscalls their kernels lack from arch/$ARCH/bits/syscall.h. the
    preprocessor is then able to select the an appropriate implementation
    for affected functions. two basic strategies are used on a
    case-by-case basis:
    
    where the old syscalls correspond to deprecated library-level
    functions, the deprecated functions have been converted to wrappers
    for the modern function, and the modern function has fallback code
    (omitted at the preprocessor level on new archs) to make use of the
    old syscalls if the new syscall fails with ENOSYS. this also improves
    functionality on older kernels and eliminates the incentive to program
    with deprecated library-level functions for the sake of compatibility
    with older kernels.
    
    in other situations where the old syscalls correspond to library-level
    functions which are not deprecated but merely lack some new features,
    such as the *at functions, the old syscalls are still used on archs
    which support them. this may change at some point in the future if or
    when fallback code is added to the new functions to make them usable
    (possibly with reduced functionality) on old kernels.
    dd5f50da
select.c 793 字节