When I use lldb to debug llvm code, it always hang at this place (sys::RetryAfterSignal(-1, ::read, FD, Buf.data(), Size);).
Anyone meet similar issue before?
Expected<size_t> readNativeFile(file_t FD, MutableArrayRef<char> Buf) {
#if defined(__APPLE__)
size_t Size = std::min<size_t>(Buf.size(), INT32_MAX);
#else
size_t Size = Buf.size();
#endif
ssize_t NumRead =
sys::RetryAfterSignal(-1, ::read, FD, Buf.data(), Size);
if (ssize_t(NumRead) == -1)
return errorCodeToError(std::error_code(errno, std::generic_category()));
return NumRead;
}
template <typename FailT, typename Fun, typename... Args>
inline decltype(auto) RetryAfterSignal(const FailT &Fail, const Fun &F,
const Args &... As) {
decltype(F(As...)) Res;
do {
errno = 0;
Res = F(As...);
} while (Res == Fail && errno == EINTR);
return Res;
}
The lldb configruations is like below:
{
"configurations": [
{
"type": "lldb",
"request": "launch",
"name": "Launch",
"program": "${workspaceFolder}/build_bpf_debug/bin/llc",
"args": ["-mtriple=bpf -debug-only=isel < /data/test/test.ll"],
"cwd": "${workspaceFolder}",
"stopOnEntry": true
},
]
}