labath wrote: > Agree with Pavel.
I'm not sure you do :P > > > When libcxx is linked with a program as an archive of static libraries, > > functions that aren't used in the program are omitted. > > This really isn't the problem. The tests _want_ those symbols to not be > present and make sure that we can find those in the `std` Clang module. So > I'm pretty sure the issue isn't about what symbols get stripped from the > library There are different kinds of symbols going around here. The symbol you don't want to be in the binary is `std::vector<T>::at()` (because it can be generated from the c++ module and stuff). However, the implementation of `at()` will call (on the failure path) __libcxx_throw_out_of_range (or something, I forgot it's name), which is a non-template function defined only in some libc++ source (not header) file. The libc++ module will not contain a definition of that. And if the program never calls it, the symbol won't be extracted from the archive. I think the fix is to make sure this function is present (by depending on it in some way), without pulling in std::vector and friends. https://github.com/llvm/llvm-project/pull/113935 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits