llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
28.87k stars 11.93k forks source link

compilation error: use of undeclared identifier 'SYS_arch_prctl' #82885

Open hecmay opened 8 months ago

hecmay commented 8 months ago

Here is the commands I used

cmake -GNinja \
    -DCMAKE_C_COMPILER=clang \
    -DCMAKE_CXX_COMPILER=clang++ \
    -DPython3_FIND_VIRTUALENV=ONLY \
    -DLLVM_BUILD_EXAMPLES=OFF \
    -DLLVM_BUILD_UTILS=ON \
    -DLLVM_ENABLE_RTTI=$LLVM_ENABLE_RTTI \
    -DLLVM_INSTALL_UTILS=ON \
    -DCMAKE_INSTALL_PREFIX=../$INSTALL_DIR \
    -DLLVM_ENABLE_PROJECTS=clang;lld;mlir \
    -DLLVM_TARGETS_TO_BUILD:STRING=X86 \
    -DCMAKE_BUILD_TYPE=Release \
    -DLLVM_BUILD_LLVM_DYLIB=OFF \
    -DLLVM_LINK_LLVM_DYLIB=OFF \
    -DCLANG_LINK_CLANG_DYLIB=OFF \
    -DMLIR_BUILD_MLIR_DYLIB=OFF \
    -DLLVM_INCLUDE_UTILS=ON \
    -DLLVM_BUILD_TOOLS=ON \
    -DLLVM_ENABLE_LIBPFM=OFF \
    -DLLVM_INSTALL_TOOLCHAIN_ONLY=OFF \
    -DLLVM_ENABLE_ASSERTIONS=ON \
    -DLLVM_OPTIMIZED_TABLEGEN=OFF \
    -DMLIR_ENABLE_BINDINGS_PYTHON=ON \
    -Dpybind11_DIR=${PYTHON_ROOT}/pybind11/share/cmake/pybind11 \
    -DLLVM_DISTRIBUTION_COMPONENTS=cmake-exports;not;count;FileCheck;MLIRPythonModules;mlir-cpu-runner;mlir-linalg-ods-yaml-gen;mlir-opt;mlir-reduce;mlir-tblgen;mlir-translate;mlir-headers;mlir-cmake-exports"
    ../llvm

ninja && ninja install

The compilation error I got.

[4821/6332] Building CXX object tools/llvm-exegesis/lib/X86/CMakeFiles/LLVMExegesisX86.dir/Target.cpp.o                                                                                                                                           
FAILED: tools/llvm-exegesis/lib/X86/CMakeFiles/LLVMExegesisX86.dir/Target.cpp.o                                                                                                                                                                   
/usr/bin/clang++ -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Itools/llvm-exegesis/lib/X86 -I/work/zhang-capra/users/sx233/aie-task-parallel/mlir-air/ll
vm/llvm/tools/llvm-exegesis/lib/X86 -Iinclude -I/work/zhang-capra/users/sx233/aie-task-parallel/mlir-air/llvm/llvm/include -I/work/zhang-capra/users/sx233/aie-task-parallel/mlir-air/llvm/llvm/lib/Target/X86 -Ilib/Target/X86 -fPIC -fvisibility
-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcove
red-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -fno-exceptions -fu
nwind-tables -fno-rtti -UNDEBUG -std=c++17 -MD -MT tools/llvm-exegesis/lib/X86/CMakeFiles/LLVMExegesisX86.dir/Target.cpp.o -MF tools/llvm-exegesis/lib/X86/CMakeFiles/LLVMExegesisX86.dir/Target.cpp.o.d -o tools/llvm-exegesis/lib/X86/CMakeFiles
/LLVMExegesisX86.dir/Target.cpp.o -c /work/zhang-capra/users/sx233/aie-task-parallel/mlir-air/llvm/llvm/tools/llvm-exegesis/lib/X86/Target.cpp
/work/zhang-capra/users/sx233/aie-task-parallel/mlir-air/llvm/llvm/tools/llvm-exegesis/lib/X86/Target.cpp:998:19: error: use of undeclared identifier 'SYS_arch_prctl'
  generateSyscall(SYS_arch_prctl, loadSegmentRegisterCode);   

I ran the compilation on a CentOS7 machine with clang10.

llvmbot commented 8 months ago

@llvm/issue-subscribers-backend-x86

Author: hecmay (hecmay)

Here is the commands I used ```shell cmake -GNinja \ -DCMAKE_C_COMPILER=clang \ -DCMAKE_CXX_COMPILER=clang++ \ -DPython3_FIND_VIRTUALENV=ONLY \ -DLLVM_BUILD_EXAMPLES=OFF \ -DLLVM_BUILD_UTILS=ON \ -DLLVM_ENABLE_RTTI=$LLVM_ENABLE_RTTI \ -DLLVM_INSTALL_UTILS=ON \ -DCMAKE_INSTALL_PREFIX=../$INSTALL_DIR \ -DLLVM_ENABLE_PROJECTS=clang;lld;mlir \ -DLLVM_TARGETS_TO_BUILD:STRING=X86 \ -DCMAKE_BUILD_TYPE=Release \ -DLLVM_BUILD_LLVM_DYLIB=OFF \ -DLLVM_LINK_LLVM_DYLIB=OFF \ -DCLANG_LINK_CLANG_DYLIB=OFF \ -DMLIR_BUILD_MLIR_DYLIB=OFF \ -DLLVM_INCLUDE_UTILS=ON \ -DLLVM_BUILD_TOOLS=ON \ -DLLVM_ENABLE_LIBPFM=OFF \ -DLLVM_INSTALL_TOOLCHAIN_ONLY=OFF \ -DLLVM_ENABLE_ASSERTIONS=ON \ -DLLVM_OPTIMIZED_TABLEGEN=OFF \ -DMLIR_ENABLE_BINDINGS_PYTHON=ON \ -Dpybind11_DIR=${PYTHON_ROOT}/pybind11/share/cmake/pybind11 \ -DLLVM_DISTRIBUTION_COMPONENTS=cmake-exports;not;count;FileCheck;MLIRPythonModules;mlir-cpu-runner;mlir-linalg-ods-yaml-gen;mlir-opt;mlir-reduce;mlir-tblgen;mlir-translate;mlir-headers;mlir-cmake-exports" ../llvm ninja && ninja install ``` The compilation error I got. ```shell [4821/6332] Building CXX object tools/llvm-exegesis/lib/X86/CMakeFiles/LLVMExegesisX86.dir/Target.cpp.o FAILED: tools/llvm-exegesis/lib/X86/CMakeFiles/LLVMExegesisX86.dir/Target.cpp.o /usr/bin/clang++ -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Itools/llvm-exegesis/lib/X86 -I/work/zhang-capra/users/sx233/aie-task-parallel/mlir-air/ll vm/llvm/tools/llvm-exegesis/lib/X86 -Iinclude -I/work/zhang-capra/users/sx233/aie-task-parallel/mlir-air/llvm/llvm/include -I/work/zhang-capra/users/sx233/aie-task-parallel/mlir-air/llvm/llvm/lib/Target/X86 -Ilib/Target/X86 -fPIC -fvisibility -inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcove red-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -fno-exceptions -fu nwind-tables -fno-rtti -UNDEBUG -std=c++17 -MD -MT tools/llvm-exegesis/lib/X86/CMakeFiles/LLVMExegesisX86.dir/Target.cpp.o -MF tools/llvm-exegesis/lib/X86/CMakeFiles/LLVMExegesisX86.dir/Target.cpp.o.d -o tools/llvm-exegesis/lib/X86/CMakeFiles /LLVMExegesisX86.dir/Target.cpp.o -c /work/zhang-capra/users/sx233/aie-task-parallel/mlir-air/llvm/llvm/tools/llvm-exegesis/lib/X86/Target.cpp /work/zhang-capra/users/sx233/aie-task-parallel/mlir-air/llvm/llvm/tools/llvm-exegesis/lib/X86/Target.cpp:998:19: error: use of undeclared identifier 'SYS_arch_prctl' generateSyscall(SYS_arch_prctl, loadSegmentRegisterCode); ``` I ran the compilation on a CentOS7 machine with clang10.