New comment by Aloz1 on void-packages repository https://github.com/void-linux/void-packages/pull/34626#issuecomment-998504201 Comment: > What does ghdl use libbacktrace for, specifically? GHDL is a VHDL simulator (well, more like an ahead of time compiler nowadays). It links in libbacktrace to elaborated (compiled) VHDL designs. When an error or warning occurs, a backtrace is generated by the program. It actually only needs libbacktrace for the llvm backend (libbacktrace is already linked into libgcc). > > Use ianlancetaylor/libbacktrace instead (they unfortunately don't seem to do any versioning at all). > > I think using GCC's, since it's already there, is "reasonable". But it should be its own subpackage, the ugliness should be opt-in. OK, cool. Makes total sense > > Download gcc source and build libbacktrace from that (gcc source will eventually be needed anyway for building ghdl-gcc) > > What does it need GCC for? Because GHDL is essentially a compiler for VHDL, it generates machine code using one of 3 backends (mcode, llvm, or gcc). In other words, GHDL is essentially a VHDL fronted for LLVM or GCC. At the moment, only the LLVM and mcode variants of GHDL are being built. To build the GCC variant, it requires a source distribution of GCC (which, AFAIK, is the same as for any other custom language frontend for GCC). So the rationale here is that, if we build ghdl-gcc, then llvm could use the libbacktrace that gets built as part of the gcc source distribution instead of packaging the one that gets built as part of the gcc package.