From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1879) id 2CA913858418; Wed, 21 Sep 2022 18:13:27 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2CA913858418 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1663784007; bh=N4QVUOe0e+JtbZj55J2vOD8AgdMomQpjcUw9teh6c98=; h=From:To:Subject:Date:From; b=G6Ebxhnw65kMiTEQC3ZY+/7pUTjFYPm9PzKiLQyHJ8ctNnY5gf9wA6AnCoynaeTIU 7PxcC+FIEV7p8QUF2SISOHmWtCQPCJnq9agfnCVyUJwQ5v0LRJhAr5BZz3u2cDZ6sQ XvlnENYK9MJOJ5bkumtcGtYTeoz1pJ2kA3BBeXo8= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Simon Marchi To: gdb-cvs@sourceware.org Subject: [binutils-gdb] gdbsupport: move fileio_errno_to_host to fileio.{h,cc} and rename X-Act-Checkin: binutils-gdb X-Git-Author: Simon Marchi X-Git-Refname: refs/heads/master X-Git-Oldrev: b872057a63c53106e4bf6033a52d53b988f30dfd X-Git-Newrev: 517a63c2c48e5aaabe57de079e2d7f0bea09429b Message-Id: <20220921181327.2CA913858418@sourceware.org> Date: Wed, 21 Sep 2022 18:13:27 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=3Dbinutils-gdb.git;h=3D517a63c2c48e= 5aaabe57de079e2d7f0bea09429b commit 517a63c2c48e5aaabe57de079e2d7f0bea09429b Author: Simon Marchi Date: Mon Aug 29 12:19:40 2022 -0400 gdbsupport: move fileio_errno_to_host to fileio.{h,cc} and rename =20 gdb_bfd.c and remote.c contain identical implementations of a fileio_error -> errno function. Factor that out to gdbsupport/fileio.{h,cc}. =20 Rename it fileio_error_to_host, for symmetry with host_to_fileio_error. =20 Change-Id: Ib9b8807683de2f809c94a5303e708acc2251a0df Diff: --- gdb/gdb_bfd.c | 59 +++---------------------------------------------= ---- gdb/remote.c | 53 +--------------------------------------------- gdbsupport/fileio.cc | 53 ++++++++++++++++++++++++++++++++++++++++++++++ gdbsupport/fileio.h | 4 ++++ 4 files changed, 61 insertions(+), 108 deletions(-) diff --git a/gdb/gdb_bfd.c b/gdb/gdb_bfd.c index 14388159c52..7e743891aed 100644 --- a/gdb/gdb_bfd.c +++ b/gdb/gdb_bfd.c @@ -303,59 +303,6 @@ gdb_bfd_open_from_target_memory (CORE_ADDR addr, ULONG= EST size, mem_bfd_iovec_stat); } =20 -/* Return the system error number corresponding to ERRNUM. */ - -static int -fileio_errno_to_host (fileio_error errnum) -{ - switch (errnum) - { - case FILEIO_EPERM: - return EPERM; - case FILEIO_ENOENT: - return ENOENT; - case FILEIO_EINTR: - return EINTR; - case FILEIO_EIO: - return EIO; - case FILEIO_EBADF: - return EBADF; - case FILEIO_EACCES: - return EACCES; - case FILEIO_EFAULT: - return EFAULT; - case FILEIO_EBUSY: - return EBUSY; - case FILEIO_EEXIST: - return EEXIST; - case FILEIO_ENODEV: - return ENODEV; - case FILEIO_ENOTDIR: - return ENOTDIR; - case FILEIO_EISDIR: - return EISDIR; - case FILEIO_EINVAL: - return EINVAL; - case FILEIO_ENFILE: - return ENFILE; - case FILEIO_EMFILE: - return EMFILE; - case FILEIO_EFBIG: - return EFBIG; - case FILEIO_ENOSPC: - return ENOSPC; - case FILEIO_ESPIPE: - return ESPIPE; - case FILEIO_EROFS: - return EROFS; - case FILEIO_ENOSYS: - return ENOSYS; - case FILEIO_ENAMETOOLONG: - return ENAMETOOLONG; - } - return -1; -} - /* bfd_openr_iovec OPEN_CLOSURE data for gdb_bfd_open. */ struct gdb_bfd_open_closure { @@ -383,7 +330,7 @@ gdb_bfd_iovec_fileio_open (struct bfd *abfd, void *open= _closure) &target_errno); if (fd =3D=3D -1) { - errno =3D fileio_errno_to_host (target_errno); + errno =3D fileio_error_to_host (target_errno); bfd_set_error (bfd_error_system_call); return NULL; } @@ -417,7 +364,7 @@ gdb_bfd_iovec_fileio_pread (struct bfd *abfd, void *str= eam, void *buf, break; if (bytes =3D=3D -1) { - errno =3D fileio_errno_to_host (target_errno); + errno =3D fileio_error_to_host (target_errno); bfd_set_error (bfd_error_system_call); return -1; } @@ -479,7 +426,7 @@ gdb_bfd_iovec_fileio_fstat (struct bfd *abfd, void *str= eam, result =3D target_fileio_fstat (fd, sb, &target_errno); if (result =3D=3D -1) { - errno =3D fileio_errno_to_host (target_errno); + errno =3D fileio_error_to_host (target_errno); bfd_set_error (bfd_error_system_call); } =20 diff --git a/gdb/remote.c b/gdb/remote.c index b57d26a70ed..2f6cb2d01ee 100644 --- a/gdb/remote.c +++ b/gdb/remote.c @@ -12715,61 +12715,10 @@ remote_target::filesystem_is_local () return false; } =20 -static int -remote_fileio_errno_to_host (fileio_error errnum) -{ - switch (errnum) - { - case FILEIO_EPERM: - return EPERM; - case FILEIO_ENOENT: - return ENOENT; - case FILEIO_EINTR: - return EINTR; - case FILEIO_EIO: - return EIO; - case FILEIO_EBADF: - return EBADF; - case FILEIO_EACCES: - return EACCES; - case FILEIO_EFAULT: - return EFAULT; - case FILEIO_EBUSY: - return EBUSY; - case FILEIO_EEXIST: - return EEXIST; - case FILEIO_ENODEV: - return ENODEV; - case FILEIO_ENOTDIR: - return ENOTDIR; - case FILEIO_EISDIR: - return EISDIR; - case FILEIO_EINVAL: - return EINVAL; - case FILEIO_ENFILE: - return ENFILE; - case FILEIO_EMFILE: - return EMFILE; - case FILEIO_EFBIG: - return EFBIG; - case FILEIO_ENOSPC: - return ENOSPC; - case FILEIO_ESPIPE: - return ESPIPE; - case FILEIO_EROFS: - return EROFS; - case FILEIO_ENOSYS: - return ENOSYS; - case FILEIO_ENAMETOOLONG: - return ENAMETOOLONG; - } - return -1; -} - static char * remote_hostio_error (fileio_error errnum) { - int host_error =3D remote_fileio_errno_to_host (errnum); + int host_error =3D fileio_error_to_host (errnum); =20 if (host_error =3D=3D -1) error (_("Unknown remote I/O error %d"), errnum); diff --git a/gdbsupport/fileio.cc b/gdbsupport/fileio.cc index db7c1a7c488..60a08f64977 100644 --- a/gdbsupport/fileio.cc +++ b/gdbsupport/fileio.cc @@ -77,6 +77,59 @@ host_to_fileio_error (int error) =20 /* See fileio.h. */ =20 +int +fileio_error_to_host (fileio_error errnum) +{ + switch (errnum) + { + case FILEIO_EPERM: + return EPERM; + case FILEIO_ENOENT: + return ENOENT; + case FILEIO_EINTR: + return EINTR; + case FILEIO_EIO: + return EIO; + case FILEIO_EBADF: + return EBADF; + case FILEIO_EACCES: + return EACCES; + case FILEIO_EFAULT: + return EFAULT; + case FILEIO_EBUSY: + return EBUSY; + case FILEIO_EEXIST: + return EEXIST; + case FILEIO_ENODEV: + return ENODEV; + case FILEIO_ENOTDIR: + return ENOTDIR; + case FILEIO_EISDIR: + return EISDIR; + case FILEIO_EINVAL: + return EINVAL; + case FILEIO_ENFILE: + return ENFILE; + case FILEIO_EMFILE: + return EMFILE; + case FILEIO_EFBIG: + return EFBIG; + case FILEIO_ENOSPC: + return ENOSPC; + case FILEIO_ESPIPE: + return ESPIPE; + case FILEIO_EROFS: + return EROFS; + case FILEIO_ENOSYS: + return ENOSYS; + case FILEIO_ENAMETOOLONG: + return ENAMETOOLONG; + } + return -1; +} + +/* See fileio.h. */ + int fileio_to_host_openflags (int fileio_open_flags, int *open_flags_p) { diff --git a/gdbsupport/fileio.h b/gdbsupport/fileio.h index 6a5297c6433..203e671f3e7 100644 --- a/gdbsupport/fileio.h +++ b/gdbsupport/fileio.h @@ -139,6 +139,10 @@ struct fio_timeval =20 extern fileio_error host_to_fileio_error (int error); =20 +/* Convert a File-I/O error number to a host-format errno value. */ + +extern int fileio_error_to_host (fileio_error errnum); + /* Convert File-I/O open flags FFLAGS to host format, storing the result in *FLAGS. Return 0 on success, -1 on error. */