//===-- LibcGlue.cpp --------------------------------------------*- C++ -*-===//
//
//                     The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//

// This file adds functions missing from libc on older versions of linux

#include <cerrno>
#include <lldb/Host/linux/Uio.h>
#include <sys/syscall.h>
#include <unistd.h>

#if !HAVE_PROCESS_VM_READV
// If the syscall wrapper is not available, provide one.
ssize_t process_vm_readv(::pid_t pid, const struct iovec *local_iov,
                         unsigned long liovcnt, const struct iovec *remote_iov,
                         unsigned long riovcnt, unsigned long flags) {
#if HAVE_NR_PROCESS_VM_READV
  // If we have the syscall number, we can issue the syscall ourselves.
  return syscall(__NR_process_vm_readv, pid, local_iov, liovcnt, remote_iov,
                 riovcnt, flags);
#else // If not, let's pretend the syscall is not present.
  errno = ENOSYS;
  return -1;
#endif
}
#endif
