Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[gn build] Try to fix build on linux after std=c++17 switch
glibc annotates `process_vm_readv` with `__THROW`. lldb/include/lldb/Host/linux/Uio.h and lldb/source/Host/linux/LibcGlue.cpp don't. Having a mismatch causes an error with c++17: ../../lldb/source/Host/linux/LibcGlue.cpp:18:9: error: 'process_vm_readv' is missing exception specification 'throw()' ssize_t process_vm_readv(::pid_t pid, const struct iovec *local_iov, ^ ../../lldb/include/lldb/Host/linux/Uio.h:18:9: note: previous declaration is here ssize_t process_vm_readv(::pid_t pid, const struct iovec *local_iov, ^ The diagnostic is a bit misleading, since the previous declaration in the sysroot (in usr/include/x76_64-linux-gnu/bits/uio-ext.h) is what has the `__THROW`. In the cmake build, cmake sets `HAVE_PROCESS_VM_READV` correctly based on header probing. In the GN build, just set it to 1 unconditionally on linux. If that turns out to not be good enough everywhere, we'll have to add a GN arg for this. (I'm also setting it to 1 on Android. I'm not sure if that's correct -- but we don't build lldb for Android anyways.)
- Loading branch information