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.
This commit is contained in:
parent
00330cd18a
commit
2fbe9507bf
@ -1,3 +1,8 @@
|
||||
2021-05-14 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* sim/callback.h (struct host_callback_struct): Change lseek return and
|
||||
3rd arg to int64_t. Change truncate & ftruncate 3rd arg to int64_t.
|
||||
|
||||
2021-05-14 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* callback.h: Include stdint.h.
|
||||
|
@ -73,7 +73,7 @@ struct host_callback_struct
|
||||
int (*close) (host_callback *,int);
|
||||
int (*get_errno) (host_callback *);
|
||||
int (*isatty) (host_callback *, int);
|
||||
int (*lseek) (host_callback *, int, long , int);
|
||||
int64_t (*lseek) (host_callback *, int, int64_t, int);
|
||||
int (*open) (host_callback *, const char*, int mode);
|
||||
int (*read) (host_callback *,int, char *, int);
|
||||
int (*read_stdin) ( host_callback *, char *, int);
|
||||
@ -89,8 +89,8 @@ struct host_callback_struct
|
||||
int (*to_stat) (host_callback *, const char *, struct stat *);
|
||||
int (*to_fstat) (host_callback *, int, struct stat *);
|
||||
int (*to_lstat) (host_callback *, const char *, struct stat *);
|
||||
int (*ftruncate) (host_callback *, int, long);
|
||||
int (*truncate) (host_callback *, const char *, long);
|
||||
int (*ftruncate) (host_callback *, int, int64_t);
|
||||
int (*truncate) (host_callback *, const char *, int64_t);
|
||||
int (*pipe) (host_callback *, int *);
|
||||
|
||||
/* Called by the framework when a read call has emptied a pipe buffer. */
|
||||
|
@ -1,3 +1,11 @@
|
||||
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.
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user