Issue 175774
Summary libcxx build failed for baremetal cross compilation
Labels
Assignees
Reporter ukalappa-mips
    we tried cross compiler libcxx for riscv with below cmake options

`-DLIBCXX_ENABLE_LOCALIZATION=OFF \
 -DLIBCXX_ENABLE_EXCEPTIONS=OFF \
      -DLIBCXX_ENABLE_THREADS=OFF \
 -DLIBCXX_ENABLE_MONOTONIC_CLOCK=OFF \
      -DLIBCXX_ENABLE_FILESYSTEM=OFF \
      -DLIBCXX_ENABLE_WIDE_CHARACTERS=OFF \
 -DLIBCXX_ENABLE_SHARED=OFF \
      -DLIBCXX_USE_COMPILER_RT=ON \
 -DLIBCXX_ENABLE_THREADS=OFF \
      -DLIBCXXABI_ENABLE_THREADS=OFF \
 -DLIBCXX_ENABLE_STATIC=ON \
      -DLIBCXX_ENABLE_SHARED=OFF \
 -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF \
      -DLIBCXX_USE_COMPILER_RT=ON \
      -DLIBCXXABI_BAREMETAL=ON \
      -DLIBCXXABI_USE_LLVM_UNWINDER=ON \
      -DLIBCXXABI_ENABLE_STATIC=ON \
 -DLIBCXXABI_ENABLE_SHARED=OFF \
      -DLIBCXXABI_USE_LLVM_UNWINDER=ON \
 -DLIBCXX_CXX_ABI=libcxxabi `

and build with failed  with below error like 

**libcxx/src/print.cpp:61:84: error: use of undeclared identifier 'fileno'
   61 | _LIBCPP_EXPORTED_FROM_ABI bool __is_posix_terminal(FILE* __stream) { return isatty(fileno(__stream)); }
      |** ^~~~~~

and we see the above snippet code needs to be needs to be guarded like 

+#if _LIBCPP_HAS_FILESYSTEM
 _LIBCPP_EXPORTED_FROM_ABI bool __is_posix_terminal(FILE* __stream) { return isatty(fileno(__stream)); }
+#endif

Any thoughts or comments will help us move forward for baremetal cross compilation ...thank you 
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to