[PATCH] D68177: compiler-rt: move all __GLIBC_PREREQ into own header file
Rainer Orth via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Oct 1 02:13:39 PDT 2019
ro added a comment.
This patch also breaks the Solaris builds:
[1097/4181] Building CXX object projects/compiler-rt/lib/ubsan/CMakeFiles/RTUbsan_standalone.i386.dir/ubsan_signals_standalone.cpp.o
FAILED: projects/compiler-rt/lib/ubsan/CMakeFiles/RTUbsan_standalone.i386.dir/ubsan_signals_standalone.cpp.o
/usr/gcc/7/bin/c++ -D_DEBUG -D_FILE_OFFSET_BITS=64 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Iprojects/compiler-rt/lib/ubsan -I/opt/llvm-buildbot/home/solaris11-amd64/clang-solaris11-amd64/llvm/projects/compiler-rt/lib/ubsan -Iinclude -I/opt/llvm-buildbot/home/solaris11-amd64/clang-solaris11-amd64/llvm/include -I/opt/llvm-buildbot/home/solaris11-amd64/clang-solaris11-amd64/llvm/include/llvm/Support/Solaris -I/opt/llvm-buildbot/home/solaris11-amd64/clang-solaris11-amd64/llvm/projects/compiler-rt/lib/ubsan/.. -fPIC -fvisibility-inlines-hidden -Werror=date-time -std=c++14 -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wno-comment -fdiagnostics-color -ffunction-sections -fdata-sections -Wall -std=c++14 -Wno-unused-parameter -O3 -UNDEBUG -m32 -fPIC -fno-builtin -fno-exceptions -fomit-frame-pointer -funwind-tables -fno-stack-protector -fvisibility=hidden -fno-lto -O3 -g -Wno-variadic-macros -Wno-non-virtual-dtor -fno-rtti -DUBSAN_CAN_USE_CXXABI -MD -MT projects/compiler-rt/lib/ubsan/CMakeFiles/RTUbsan_standalone.i386.dir/ubsan_signals_standalone.cpp.o -MF projects/compiler-rt/lib/ubsan/CMakeFiles/RTUbsan_standalone.i386.dir/ubsan_signals_standalone.cpp.o.d -o projects/compiler-rt/lib/ubsan/CMakeFiles/RTUbsan_standalone.i386.dir/ubsan_signals_standalone.cpp.o -c /opt/llvm-buildbot/home/solaris11-amd64/clang-solaris11-amd64/llvm/projects/compiler-rt/lib/ubsan/ubsan_signals_standalone.cpp
In file included from /opt/llvm-buildbot/home/solaris11-amd64/clang-solaris11-amd64/llvm/projects/compiler-rt/lib/ubsan/../sanitizer_common/sanitizer_platform_interceptors.h:16:0,
from /opt/llvm-buildbot/home/solaris11-amd64/clang-solaris11-amd64/llvm/projects/compiler-rt/lib/ubsan/../sanitizer_common/sanitizer_signal_interceptors.inc:16,
from /opt/llvm-buildbot/home/solaris11-amd64/clang-solaris11-amd64/llvm/projects/compiler-rt/lib/ubsan/ubsan_signals_standalone.cpp:38:
/opt/llvm-buildbot/home/solaris11-amd64/clang-solaris11-amd64/llvm/projects/compiler-rt/lib/ubsan/../sanitizer_common/sanitizer_glibc_version.h:19:10: fatal error: features.h: No such file or directory
#include <features.h>
^~~~~~~~~~~~
compilation terminated.
Solaris doesn't have `<features.h>`. It seems that this is a glibc-only header, yet `lib/sanitizer_common/sanitizer_glibc_version.h`
includes it for
#if (SANITIZER_POSIX && !SANITIZER_MAC) || SANITIZER_FUCHSIA
#include <features.h>
#endif
unlike `lib/sanitizer_common/sanitizer_getauxval.h` before which had
#if SANITIZER_LINUX || SANITIZER_FUCHSIA
# include <features.h>
Why that positive list of targets known to support the header was changed into an incomplete, seemingly random, negative list or, better
yet, a cmake test, is beyond me.
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D68177/new/
https://reviews.llvm.org/D68177
More information about the llvm-commits
mailing list