Alex Bennée <[email protected]> writes: > In preparation for moving user/softmmu specific bits from the main > gdbstub file we need to separate the connection details to what will > eventually become an anonymous pointer. > > Signed-off-by: Alex Bennée <[email protected]> > --- > gdbstub/gdbstub.c | 99 +++++++++++++++++++++++++++-------------------- > 1 file changed, 58 insertions(+), 41 deletions(-) > > diff --git a/gdbstub/gdbstub.c b/gdbstub/gdbstub.c > index be88ca0d71..14ce911bf2 100644 > --- a/gdbstub/gdbstub.c > +++ b/gdbstub/gdbstub.c > @@ -342,6 +342,20 @@ enum RSState { > RS_CHKSUM1, > RS_CHKSUM2, > }; > + > +#ifdef CONFIG_USER_ONLY > +typedef struct { > + int fd; > + char *socket_path; > + int running_state; > +} GDBConnection; > +#else > +typedef struct { > + CharBackend chr; > + Chardev *mon_chr; > +} GDBConnection; > +#endif > + > typedef struct GDBState { > bool init; /* have we been initialised? */ > CPUState *c_cpu; /* current CPU for step/continue ops */ > @@ -354,14 +368,7 @@ typedef struct GDBState { > int line_csum; /* checksum at the end of the packet */ > GByteArray *last_packet; > int signal; > -#ifdef CONFIG_USER_ONLY > - int fd; > - char *socket_path; > - int running_state; > -#else > - CharBackend chr; > - Chardev *mon_chr; > -#endif > + GDBConnection *connection; > bool multiprocess; > GDBProcess *processes; > int process_num; > @@ -392,6 +399,12 @@ static void init_gdbserver_state(void) > gdbserver_state.supported_sstep_flags = > accel_supported_gdbstub_sstep_flags(); > gdbserver_state.sstep_flags = SSTEP_ENABLE | SSTEP_NOIRQ | SSTEP_NOTIMER; > gdbserver_state.sstep_flags &= gdbserver_state.supported_sstep_flags; > + > + /* > + * The following is differs depending on USER/SOFTMMU, we just > + * hid it in the typedef. > + */ > + gdbserver_state.connection = g_new(GDBConnection, 1);
Does it need freeing at reset_gdbserver_state()?
