callback.h:struct host_callback_struct compilation error on Windows hosts.
On Windows, a recent gnulib update imported the lstat module, and this caused a remote-sim.c build failure in struct host_callback_struct: In file included from /[...]/gdb/remote-sim.c:34:0: /[...]/gdb/../include/gdb/callback.h:93:9: error: duplicate member '_stati64' int (*lstat) (host_callback *, const char *, struct stat *); ^ What happens it that gnulib's stat.h makes the following defines: /* Large File Support on native Windows. */ #if 1 # define stat _stati64 #endif and then: #if 1 # if ! 0 /* mingw does not support symlinks, therefore it does not have lstat. But without links, stat does just fine. */ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define lstat stat # endif So, the following fields in struct host_callback_struct... int (*stat) (host_callback *, const char *, struct stat *); int (*fstat) (host_callback *, int, struct stat *); int (*lstat) (host_callback *, const char *, struct stat *); ... get translated to... int (*_stati64) (host_callback *, const char *, struct _stati64 *); int (*_fstati64) (host_callback *, int, struct _stati64 *); int (*_stati64) (host_callback *, const char *, struct _stati64 *); ... which causes two fields to have the same name. This patch fixes the issue by renaming the stat-related fields by adding a "to_" prefix, similar to what is done in GDB's target_ops vector. include/gdb/ChangeLog: * callback.h (struct host_callback_struct) <to_stat>: Renamed from "stat". <to_fstat>: Renamed from "fstat". <to_lstat>: Renamed from "lstat". sim/common/ChangeLog: * sim-io.c (sim_io_stat, sim_io_fstat): Adjust calls to "stat" and "fstat" callbacks by calls to "to_stat" and "to_fstat" (resp) callbacks following renaming in callback.h. * syscall.c (cb_syscall): Likewise. Adjust calls to "lstat" callback by call to "to_lstat" callback sim/cris/ChangeLog: * traps.c (cris_break_13_handler): Adjust call to "fstat" callback by call to "to_fstat" following renaming in callback.h. sim/h8300/ChangeLog: * compile.c (sim_resume): Adjust calls to "stat" and "fstat" callbacks by calls to "to_stat" and "to_fstat" (resp) callbacks following renaming in callback.h.
This commit is contained in:
parent
fd9edc9089
commit
2d7bb7580a
@ -1,3 +1,10 @@
|
||||
2014-12-03 Joel Brobecker <brobecker@adacore.com>
|
||||
|
||||
* callback.h (struct host_callback_struct) <to_stat>: Renamed
|
||||
from "stat".
|
||||
<to_fstat>: Renamed from "fstat".
|
||||
<to_lstat>: Renamed from "lstat".
|
||||
|
||||
2014-03-10 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* remote-sim.h (sim_do_command): Add const to cmd.
|
||||
|
@ -88,9 +88,9 @@ struct host_callback_struct
|
||||
void (*flush_stdout) (host_callback *);
|
||||
int (*write_stderr) (host_callback *, const char *, int);
|
||||
void (*flush_stderr) (host_callback *);
|
||||
int (*stat) (host_callback *, const char *, struct stat *);
|
||||
int (*fstat) (host_callback *, int, struct stat *);
|
||||
int (*lstat) (host_callback *, const char *, struct stat *);
|
||||
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 (*pipe) (host_callback *, int *);
|
||||
|
@ -1,3 +1,11 @@
|
||||
2014-12-03 Joel Brobecker <brobecker@adacore.com>
|
||||
|
||||
* sim-io.c (sim_io_stat, sim_io_fstat): Adjust calls to "stat"
|
||||
and "fstat" callbacks by calls to "to_stat" and "to_fstat" (resp)
|
||||
callbacks following renaming in callback.h.
|
||||
* syscall.c (cb_syscall): Likewise. Adjust calls to "lstat"
|
||||
callback by call to "to_lstat" callback
|
||||
|
||||
2014-08-28 Gary Benson <gbenson@redhat.com>
|
||||
|
||||
* sim-trace.h (debug_printf): New define.
|
||||
|
@ -391,11 +391,11 @@ sim_io_poll_read (SIM_DESC sd,
|
||||
int
|
||||
sim_io_stat (SIM_DESC sd, const char *path, struct stat *buf)
|
||||
{
|
||||
return STATE_CALLBACK (sd)->stat (STATE_CALLBACK (sd), path, buf);
|
||||
return STATE_CALLBACK (sd)->to_stat (STATE_CALLBACK (sd), path, buf);
|
||||
}
|
||||
|
||||
int
|
||||
sim_io_fstat (SIM_DESC sd, int fd, struct stat *buf)
|
||||
{
|
||||
return STATE_CALLBACK (sd)->fstat (STATE_CALLBACK (sd), fd, buf);
|
||||
return STATE_CALLBACK (sd)->to_fstat (STATE_CALLBACK (sd), fd, buf);
|
||||
}
|
||||
|
@ -455,7 +455,7 @@ cb_syscall (host_callback *cb, CB_SYSCALL *sc)
|
||||
result = -1;
|
||||
goto FinishSyscall;
|
||||
}
|
||||
result = (*cb->stat) (cb, path, &statbuf);
|
||||
result = (*cb->to_stat) (cb, path, &statbuf);
|
||||
free (path);
|
||||
if (result < 0)
|
||||
goto ErrorFinish;
|
||||
@ -488,7 +488,7 @@ cb_syscall (host_callback *cb, CB_SYSCALL *sc)
|
||||
struct stat statbuf;
|
||||
TADDR addr = sc->arg2;
|
||||
|
||||
result = (*cb->fstat) (cb, sc->arg1, &statbuf);
|
||||
result = (*cb->to_fstat) (cb, sc->arg1, &statbuf);
|
||||
if (result < 0)
|
||||
goto ErrorFinish;
|
||||
buflen = cb_host_to_target_stat (cb, NULL, NULL);
|
||||
@ -526,7 +526,7 @@ cb_syscall (host_callback *cb, CB_SYSCALL *sc)
|
||||
result = -1;
|
||||
goto FinishSyscall;
|
||||
}
|
||||
result = (*cb->lstat) (cb, path, &statbuf);
|
||||
result = (*cb->to_lstat) (cb, path, &statbuf);
|
||||
free (path);
|
||||
if (result < 0)
|
||||
goto ErrorFinish;
|
||||
|
@ -1,3 +1,8 @@
|
||||
2014-12-03 Joel Brobecker <brobecker@adacore.com>
|
||||
|
||||
* traps.c (cris_break_13_handler): Adjust call to "fstat" callback
|
||||
by call to "to_fstat" following renaming in callback.h.
|
||||
|
||||
2014-08-19 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* configure: Regenerate.
|
||||
|
@ -2204,7 +2204,7 @@ cris_break_13_handler (SIM_CPU *current_cpu, USI callnum, USI arg1,
|
||||
|| ((events = sim_core_read_unaligned_2 (current_cpu, pc,
|
||||
0, ufds + 4))
|
||||
!= TARGET_POLLIN)
|
||||
|| ((cb->fstat) (cb, fd, &buf) != 0
|
||||
|| ((cb->to_fstat) (cb, fd, &buf) != 0
|
||||
|| (buf.st_mode & S_IFIFO) == 0)
|
||||
|| current_cpu->thread_data == NULL)
|
||||
{
|
||||
|
@ -1,3 +1,9 @@
|
||||
2014-12-03 Joel Brobecker <brobecker@adacore.com>
|
||||
|
||||
* compile.c (sim_resume): Adjust calls to "stat" and "fstat"
|
||||
callbacks by calls to "to_stat" and "to_fstat" (resp) callbacks
|
||||
following renaming in callback.h.
|
||||
|
||||
2014-08-19 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* configure: Regenerate.
|
||||
|
@ -3062,7 +3062,8 @@ sim_resume (SIM_DESC sd, int step, int siggnal)
|
||||
stat_ptr = (h8300hmode && !h8300_normal_mode) ? GET_L_REG (1) : GET_W_REG (1);
|
||||
|
||||
/* Callback stat and return. */
|
||||
fstat_return = sim_callback->fstat (sim_callback, fd, &stat_rec);
|
||||
fstat_return = sim_callback->to_fstat (sim_callback, fd,
|
||||
&stat_rec);
|
||||
|
||||
/* Have stat_ptr point to starting of stat_rec. */
|
||||
temp_stat_ptr = (char *) (&stat_rec);
|
||||
@ -3136,7 +3137,7 @@ sim_resume (SIM_DESC sd, int step, int siggnal)
|
||||
|
||||
/* Callback stat and return. */
|
||||
stat_return =
|
||||
sim_callback->stat (sim_callback, filename, &stat_rec);
|
||||
sim_callback->to_stat (sim_callback, filename, &stat_rec);
|
||||
|
||||
/* Have stat_ptr point to starting of stat_rec. */
|
||||
temp_stat_ptr = (char *) (&stat_rec);
|
||||
|
Loading…
Reference in New Issue
Block a user