On Sat, Dec 04, 2021 at 10:11:19AM +0000, Stuart Henderson wrote: > On 2021/12/04 10:37, Sebastien Marie wrote: > > I started to look at sparc64: it will an interesting arch, as c++ > > ports are using estdc++ by default. For now I don't copied the related > > code from devel/llvm to devel/llvm13 (to make clang-13 to use estdc++ > > instead of libc++ for generated code), as I am unsure it would be > > useful for building programs (but building libraries would be > > problematic as mixing estdc++ and libc++ code will not work). For now, > > I am experimenting. > > libestdc++ is necessary for building programs too, if they link against > any library that uses C++ itself. I suppose this probably doesn't matter > for your needs though.
yes, but I need to properly think about it: we are building programs and libraries which are used to build programs and libraries (it is commonly called a compiler). here, I don't have particular requirement regarding libc++ or estdc++ for libLLVM itself, neither for rustc or zig. but the resulting binary (rustc or zig compilers) should be able to properly build programs/libraries with libc++ or estdc++ (on sparc64) in order to interact properly in port tree. > No objection as a temporary measure (as long as it's clear that it's > to support rust/zig rather than for general use), but I do hope it's fairly > short-lived. > It should be possible to remove at least some binaries (maybe clang, clang++, etc...) from the port and only keep libraries. It would enforce the "only for supporting rust/zig". But it could also help to do some tests on base/ports with more recent clang version (seeing which new warning option is breaking the build). Regarding the live time, for Rust, it should be fine to go back quickly to devel/llvm (as soon it is version >=12). rustc changed the minimal llvm support due to codegen problems with llvm10 and llvm11. Currently, they supports both llvm12 and llvm13. But zig is only supporting one llvm release at time. the 0.8.x series we have in ports is using llvm12 (I made the port to embedded it), and the next serie (currently the main branch, which will be 0.9.x) is using llvm13. I could go back to have embedded llvm version in zig when they will use llvm14, or go back to devel/llvm14 for zig and rust (if rust supports it at this time). Thanks. -- Sebastien Marie