mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-08-06 06:45:56 +08:00
* cris/sim-main.h (struct _sim_cpu): New members last_syscall,
last_open_fd, last_open_flags. * cris/traps.c: Don't include targ-vals.h. (TARGET_O_ACCMODE): Define. (cris_break_13_handler): Set new _sim_cpu members. <case TARGET_SYS_fcntl>: Support special case of F_GETFL. Rearrange code as switch. Emit "unimplemented" abort for unimplemented fcntl calls.
This commit is contained in:
@ -166,6 +166,17 @@ struct _sim_cpu {
|
||||
for sigmasks and sigpendings. */
|
||||
USI sighandler[64];
|
||||
|
||||
/* This is a hack to implement just the parts of fcntl F_GETFL that
|
||||
are used in open+fdopen calls for the standard scenario: for such
|
||||
a call we check that the last syscall was open, we check that the
|
||||
passed fd is the same returned then, and so we return the same
|
||||
flags passed to open. This way, we avoid complicating the
|
||||
generic sim callback machinery by introducing fcntl
|
||||
mechanisms. */
|
||||
USI last_syscall;
|
||||
USI last_open_fd;
|
||||
USI last_open_flags;
|
||||
|
||||
/* Function for initializing CPU thread context, which varies in size
|
||||
with each CPU model. They should be in some constant parts or
|
||||
initialized in *_init_cpu, but we can't modify that for now. */
|
||||
|
Reference in New Issue
Block a user