aboutsummaryrefslogtreecommitdiff
path: root/sim
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2021-04-24 14:40:43 -0400
committerMike Frysinger <vapier@gentoo.org>2021-05-14 21:16:40 -0400
commit2fbe9507bfba58a6a000d231fe735bad1f245b55 (patch)
tree8b4709489be830480eae1d98a37b2df8af5d60d1 /sim
parent00330cd18a4ba83beabad4cb9f4215170828cd29 (diff)
downloadgdb-2fbe9507bfba58a6a000d231fe735bad1f245b55.zip
gdb-2fbe9507bfba58a6a000d231fe735bad1f245b55.tar.gz
gdb-2fbe9507bfba58a6a000d231fe735bad1f245b55.tar.bz2
sim: callback: convert FS interfaces to 64-bit
Rather than rely on off_t being the right size between the host & target, have the interface always be 64-bit. We can figure out if we need to truncate when actually outputting it to the right target.
Diffstat (limited to 'sim')
-rw-r--r--sim/common/ChangeLog8
-rw-r--r--sim/common/callback.c10
-rw-r--r--sim/common/sim-io.c4
-rw-r--r--sim/common/sim-io.h2
4 files changed, 16 insertions, 8 deletions
diff --git a/sim/common/ChangeLog b/sim/common/ChangeLog
index 879aac9..b360ebd 100644
--- a/sim/common/ChangeLog
+++ b/sim/common/ChangeLog
@@ -1,5 +1,13 @@
2021-05-14 Mike Frysinger <vapier@gentoo.org>
+ * callback.c (os_lseek): Change return and 3rd arg to int64_t.
+ (os_ftruncate): Change 3rd arg to int64_t.
+ (os_truncate): Change 3rd arg to int64_t.
+ * sim-io.c (sim_io_lseek): Change return and 3rd arg to int64_t.
+ * sim-io.h (sim_io_lseek): Likewise.
+
+2021-05-14 Mike Frysinger <vapier@gentoo.org>
+
* callback.c (os_time): Change return to int64_t. Delete 2nd arg.
(os_fstat): Delete 2nd arg to time callback.
* sim-io.c (sim_io_time): Change return to int64_t. Delete 2nd arg
diff --git a/sim/common/callback.c b/sim/common/callback.c
index fb5e864..24ea470 100644
--- a/sim/common/callback.c
+++ b/sim/common/callback.c
@@ -205,10 +205,10 @@ os_isatty (host_callback *p, int fd)
return result;
}
-static int
-os_lseek (host_callback *p, int fd, long off, int way)
+static int64_t
+os_lseek (host_callback *p, int fd, int64_t off, int way)
{
- int result;
+ int64_t result;
result = fdbad (p, fd);
if (result)
@@ -519,7 +519,7 @@ os_lstat (host_callback *p, const char *file, struct stat *buf)
}
static int
-os_ftruncate (host_callback *p, int fd, long len)
+os_ftruncate (host_callback *p, int fd, int64_t len)
{
int result;
@@ -542,7 +542,7 @@ os_ftruncate (host_callback *p, int fd, long len)
}
static int
-os_truncate (host_callback *p, const char *file, long len)
+os_truncate (host_callback *p, const char *file, int64_t len)
{
#ifdef HAVE_TRUNCATE
int result;
diff --git a/sim/common/sim-io.c b/sim/common/sim-io.c
index e5da7f1..edef26e 100644
--- a/sim/common/sim-io.c
+++ b/sim/common/sim-io.c
@@ -211,10 +211,10 @@ sim_io_open (SIM_DESC sd,
}
-int
+int64_t
sim_io_lseek (SIM_DESC sd,
int fd,
- long off,
+ int64_t off,
int way)
{
return STATE_CALLBACK (sd)->lseek (STATE_CALLBACK (sd), fd, off, way);
diff --git a/sim/common/sim-io.h b/sim/common/sim-io.h
index a091fd0..a78e8f5 100644
--- a/sim/common/sim-io.h
+++ b/sim/common/sim-io.h
@@ -53,7 +53,7 @@ int sim_io_read (SIM_DESC sd, int, char *, int);
int sim_io_open (SIM_DESC sd, const char *, int);
-int sim_io_lseek (SIM_DESC sd, int, long, int);
+int64_t sim_io_lseek (SIM_DESC sd, int, int64_t, int);
int sim_io_isatty (SIM_DESC sd, int);