> Signed-off-by: Hui Zhu I believe this has no meaning outside of the Linux kernel community, so there's no need to sign off here (this purpose is filled by the FSF copyright assignment paperwork). > +/*teawater rec begin----------------------------------------------------------*/ > +/*teawater rec end------------------------------------------------------------*/ All these markers all have to go. They also make patch reviewing more cumbersome, IMHO. > +#define RECORD_SIZE__old_kernel_stat 32 > +#define RECORD_SIZE_tms 16 > +#define RECORD_SIZE_loff_t 8 > +#define RECORD_SYS_SOCKET 1 > +#define RECORD_SYS_BIND 2 > +#define RECORD_SYS_CONNECT 3 > +#define RECORD_SEMOP 1 > +#define RECORD_SEMGET 2 > +#define RECORD_SEMCTL 3 > +#define RECORD_Q_GETFMT 0x800004 > +#define RECORD_Q_GETINFO 0x800005 > +#define RECORD_Q_GETQUOTA 0x800007 > +#define RECORD_Q_XGETQSTAT (('5'<<8)+(5)) > +#define RECORD_Q_XGETQUOTA (('3'<<8)+(3)) Comments should be added explaining the purpose of these constants, and where the numbers come from. > +#if 0 > + if (override) { > + /* *addr += ((uint32_t)read_register (override)) << 4; */ > + printf_unfiltered (_("record: cann't get the value of the segment register.\n")); > + return (-1); > + } > +#endif This should be removed. There are two other snippets of code which are #ifed out and should go too. > +/*teawater rec begin----------------------------------------------------------*/ > + int (*intx80_record) (void); > + int (*sysenter_record) (void); > +/*teawater rec end------------------------------------------------------------*/ The names above are specific to the x86 architecture. tdep members should have a name which is meaningful accross different architectures. > SHELL = @SHELL@ > -EXEEXT = @EXEEXT@ > +#teawater rec begin------------------------------------------------------------- > +EXEEXT = @EXEEXT@record > +#teawater rec end--------------------------------------------------------------- This should be removed. > +typedef struct record_s { > + struct record_s *prev; > + struct record_s *next; > + int type; /* 1 reg 2 mem 0 end */ > + union { > + /* reg */ > + record_reg_t reg; > + /* mem */ > + record_mem_t mem; > + /* end */ > + int need_dasm; > + } u; > +} record_t; I suggest changing type to an enum.