[PATCH v2] Linux: Remove <sys/sysctl.h> and the sysctl function

Adhemerval Zanella adhemerval.zanella@linaro.org
Fri Mar 13 18:53:38 GMT 2020



On 13/03/2020 14:53, Florian Weimer wrote:
> * Adhemerval Zanella via Libc-alpha:
> 
>> I still think we should keep the syscall call on compat symbol
>> for architecture that do not return ENOSYS.
> 
> The kernel will return ENOSYS instead because support for the system
> call is optional it is almost never compiled in, as far as I know.
> 

What I am seeing is with the sysctl example from man-pages is:

               aarch64: !SYS__sysctl
                 alpha: ENOSYS
                   arm: OK		(4.12.13)
                  hppa: ?
                  i686: OK		(4.15.0-54-generic)
                  ia64: ENOSYS
                  m68k: ENOSYS
            microblaze: ?
                  mips: ENOSYS
                mips64: ENOSYS
            mips64-n32: ENOSYS
                 nios2: !SYS__sysctl
               powerpc: ENOSYS
             powerpc64: ENOSYS
           powerpc64le: ENOSYS
               riscv64: !SYS__sysctl
                  s390: OK		(4.12.14-197.21-default)
                 s390x: OK		(4.12.14-197.21-default)
                   sh4: ENOSYS
               sparc64: ENOSYS
               sparcv9: ENOSYS
                x86_64: OK		(4.15.0-54-generic)
            x86_64-x32: FAIL

With !SYS__sysctl being the __NR__sysctl not being defined in
sys/syscall.h, ENOSYS is kernel return is, OK is the syscall
does returns information, and '?' where __NR__sysctl is define
but I don't have a way to test with a running kernel.

So it seems that at least for arm, i686, x86_64, s390, and
s390x the syscall does work.


More information about the Libc-alpha mailing list