message: FreeBSD: propagate error to user if memory access fails
  Previously, an attempt to read an unreadable address reported zeros.
  Now, if DoReadMemory or DoWriteMemory encounters error then return 0
  (bytes read or written) so that the error is reported to the user.
  llvm.org/pr37190
diff: @@ -159,8 +159,10 @@ static size_t DoReadMemory(lldb::pid_t pid, lldb::addr_t vm_addr, void *buf,
  pi_desc.piod_addr = buf;
  pi_desc.piod_len = size;
  - if (PTRACE(PT_IO, pid, (caddr_t)&pi_desc, 0) < 0)
  + if (PTRACE(PT_IO, pid, (caddr_t)&pi_desc, 0) < 0) {
  error.SetErrorToErrno();
  + return 0;
  + }
  return pi_desc.piod_len;
  }
  @@ -173,8 +175,10 @@ static size_t DoWriteMemory(lldb::pid_t pid, lldb::addr_t vm_addr,
  pi_desc.piod_addr = (void *)buf;
  pi_desc.piod_len = size;
  - if (PTRACE(PT_IO, pid, (caddr_t)&pi_desc, 0) < 0)
  + if (PTRACE(PT_IO, pid, (caddr_t)&pi_desc, 0) < 0) {
  error.SetErrorToErrno();
  + return 0;
  + }
  return pi_desc.piod_len;
  }
  