diff options
author | Omair Majid <omajid@redhat.com> | 2020-02-18 13:27:24 -0500 |
---|---|---|
committer | Hyungju Lee <leee.lee@samsung.com> | 2020-10-30 18:20:37 +0900 |
commit | 8e0799ded6b0dc6f1d35c605ef823b093622ab4c (patch) | |
tree | afc9ab90addc2dc40d3207c28a3b1a3d61b93bd2 | |
parent | 8116c792e3450de38341069bd18948498447064a (diff) | |
download | coreclr-8e0799ded6b0dc6f1d35c605ef823b093622ab4c.tar.gz coreclr-8e0799ded6b0dc6f1d35c605ef823b093622ab4c.tar.bz2 coreclr-8e0799ded6b0dc6f1d35c605ef823b093622ab4c.zip |
Fix build on systems with glibc >= 2.30 (#28012)
On newer systems with glibc 2.30, the compiler emits a warning:
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."
^
The glibc 2.30 release notes cover this at
https://sourceware.org/ml/libc-alpha/2019-08/msg00029.html:
* The Linux-specific <sys/sysctl.h> header and the sysctl function have been
deprecated and will be removed from a future version of glibc.
Application should directly access /proc instead. For obtaining random
bits, the getentropy function can be used.
To keep coreclr release/3.1 building, disable treating the #warning as an
error. Clang and GCC have separate flags to turn this error off.
-rw-r--r-- | configurecompiler.cmake | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/configurecompiler.cmake b/configurecompiler.cmake index cc77ed082f..5d5925c8bf 100644 --- a/configurecompiler.cmake +++ b/configurecompiler.cmake @@ -521,11 +521,15 @@ if (CLR_CMAKE_PLATFORM_UNIX) # to a struct or a class that has virtual members or a base class. In that case, clang # may not generate the same object layout as MSVC. add_compile_options(-Wno-incompatible-ms-struct) + # Do not convert a #warning into an #error + add_compile_options("-Wno-error=#warnings") else() add_compile_options(-Wno-unused-variable) add_compile_options(-Wno-unused-but-set-variable) add_compile_options(-fms-extensions) add_compile_options(-Wno-unknown-pragmas) + # Do not convert a #warning into an #error + add_compile_options(-Wno-error=cpp) if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 7.0) add_compile_options(-Wno-nonnull-compare) endif() |