Handle glibc sys/sysctl.h deprecation (dotnet/coreclr#27048)
authorOmair Majid <omajid@redhat.com>
Wed, 16 Oct 2019 09:25:29 +0000 (05:25 -0400)
committerJan Vorlicek <janvorli@microsoft.com>
Wed, 16 Oct 2019 09:25:29 +0000 (11:25 +0200)
commitf26826abc2ad74f07912d6dbe4cb6a627f1f6120
tree9f90b6c6e1e920b5fd946faf350a56c0ba735226
parente1f2cc91de40720c3803ebce4d0b4177409e7cc5
Handle glibc sys/sysctl.h deprecation (dotnet/coreclr#27048)

glibc has deprecated sys/sysctl.h:

    In file included from /coreclr/src/pal/src/misc/sysinfo.cpp:32:
    /usr/include/sys/sysctl.h:21:2: error: "The <sys/sysctl.h> header is deprecated and will be removed." [-Werror,-W#warnings]
    #warning "The <sys/sysctl.h> header is deprecated and will be removed."
     ^
    1 error generated.

Fix that by preferring sysconf and only including sys/sysctl.h if
HAVE_SYSCONF is not true. This mirrors the order of the implementation
code in this file (sysinfo.cpp) which checks for HAVE_SYSCONF
before HAVE_SYSCTL.

Fixes dotnet/coreclr#27008

Commit migrated from https://github.com/dotnet/coreclr/commit/6ce179a17061abbbe9f904f878943a28c8041a62
src/coreclr/src/pal/src/misc/sysinfo.cpp