[PATCH] arm reversible : <phase_2_complete>
oza Pawandeep
oza.pawandeep@gmail.com
Sun Dec 4 17:00:00 GMT 2011
Hi Yao,
I have modified it; please have a look below.
I have observed that some people have given little description about
functions: but some places its missing.
I think it is better to give small description:
2011-12-03 Oza Pawandeep <oza.pawandeep@gmail.com>
* arm-linux-tdep.c (arm_linux_init_abi): Call
set_gdbarch_process_record.
Initialize `arm_swi_record' field.
* arm-tdep.c (arm_process_record): New function.
(deallocate_reg_mem): New function.
(decode_insn): New function.
(thumb_record_branch): New function.
(thumb_record_ldm_stm_swi(): New function.
(thumb_record_misc): New function.
(thumb_record_ld_st_stack): New function.
(thumb_record_ld_st_imm_offset): New function.
(thumb_record_ld_st_reg_offset(): New function.
(thumb_record_add_sub_cmp_mov): New function.
(thumb_record_shift_add_sub): New function.
(arm_record_coproc_data_proc): New function.
(arm_record_coproc): New function.
(arm_record_b_bl): New function.
(arm_record_ld_st_multiple): New function.
(arm_record_ld_st_reg_offset): New function.
(arm_record_ld_st_imm_offset): New function.
(arm_record_data_proc_imm): New function.
(arm_record_data_proc_misc_ld_str): New function.
(arm_record_extension_space): New function.
(arm_record_strx): New function.
(sbo_sbz): New function.
(struct insn_decode_record): New Structure. arm insn record
(REG_ALLOC): New Macros. use it for reg allocations
(MEM_ALLOC): New Macros. use it for memory allocations
* arm-tdep.h (struct gdbarch_tdep): New field 'arm_swi_record'
Regards,
Oza.
On Sun, Dec 4, 2011 at 8:15 PM, Yao Qi <yao@codesourcery.com> wrote:
> On 12/04/2011 07:32 PM, oza Pawandeep wrote:
>> Updated patch contains all the 3 review comments fixed (Tom, Petr and Yao).
>> Change log is elaborated; I am looking forwarding to adding more
>> details if need. seeking for your feedback on the same.
>>
>
> The format of ChangeLog looks odd to me. Some comments below,
>
>> diff -urN arm_orig/ChangeLog arm_new/ChangeLog
>> --- arm_orig/ChangeLog 2011-12-03 18:05:04.000000000 +0530
>> +++ arm_new/ChangeLog 2011-12-04 16:45:00.000000000 +0530
>> @@ -1,3 +1,65 @@
>> +2011-12-03 Oza Pawandeep <oza.pawandeep@gmail.com>
>> +
>> + * arm-linux-tdep.c: arm_linux_init_abi modified to include
>> + arm reversible debugging feature.
>> + registered arm_process_record to gdb_arch
>> + syscall pointer initialization.
>
> It can be
>
> * arm-linux-tdep.c (arm_linux_init_abi): Call
> set_gdbarch_process_record.
> Initialize `arm_swi_record' field.
>
> Please care about the format of changelog entry, usually it is like this,
>
> [tab] * file-you-modified.c (function-you-modified): What is your
> [tab] Change.
>
> Note that we write "what is changed" in ChangeLog, instead of "why is
> changed".
>
>> +
>> + * arm-tdep.c: arm-reversible-debugging implementation.
>> + newly added functions are as follows.
>> +
>> + > arm_process_record: handles basic initialization and record
>> + summarisation, decodes basic insn ids, on which it hands over
>> + controls to decode_insn.
>
> So, we don't need so much details in changelog like this, we can write
> it in this way,
>
> * arm-tdep.c (arm_process_record): New.
>
> There are still many new added functions, and I think they can
> documented in ChangeLog in the same way.
>
>> + > deallocate_reg_mem : clean up function
>> + > decode_insn: Decodes arm/thumb insn and calls appropriate
>> + decoding routine to record the change.
>> + > thumb_record_branch: branch insn reording (thumb)
>> + > thumb_record_ldm_stm_swi: load, store and sycall insn
>> + recoding (thumb)
>> + > thumb_record_misc: misc insn recording (thumb)
>> + > thumb_record_ld_st_stack: store and stack insn recording (thumb)
>> + > thumb_record_ld_st_imm_offset: load, store with immediate offset
>> + insn recording (thumb)
>> + > thumb_record_ld_st_reg_offset: load, store with register offset
>> + recording (thumb)
>> + > thumb_record_add_sub_cmp_mov: addition, subtractation, compare
>> + and move insn recording (thumb)
>> + > thumb_record_shift_add_sub: shift, add and sub insn recording
>> + (thumb)
>> + > arm_record_coproc_data_proc: coprocessor and data processing
>> + recording (partially implemented) (arm)
>> + > arm_record_coproc: coprocessor insn recording
>> + (partially implemented) (arm)
>> + > arm_record_b_bl: branch insn recording (arm)
>> + > arm_record_ld_st_multiple: load and store multiple insn recording
>> + (arm)
>> + > arm_record_ld_st_reg_offset: load and store reg offset recording
>> + (arm)
>> + > arm_record_ld_st_imm_offset: load and store immediate offset
>> + recording (arm)
>> + > arm_record_data_proc_imm: data processing insn recording (arm)
>> + > arm_record_data_proc_misc_ld_str: data processing, misc, load and
>> + store insn recording (arm)
>> + > arm_record_extension_space:arm extension space insn recording
>> + (arm)
>> + > arm_record_strx: str(X) type insn recording (arm)
>> + > sbo_sbz: checks for mendatory sbo and sbz fields in insn,
>> +
>> + added new data structures:
>> + > insn_decode_record_t: local record structure which contains insn's
>> + record, which includes both reg and memory.
>> +
>> + REG_ALLOC and MEM_ALLOC macros takes care of actual memory allocation
>> + in local record which is finally processed by arm_rocess_record.
>> +
>> + * arm-tdep.h: arm-reversible data structures
>> +
>> + > modified gdbarch_tdep: added member (function pointer) arm_swi_record
>> + which is supposed to be recording system calls
>
> This can be written in this way,
>
> * arm-tdep.h (struct gdbarch_tdep): New field `arm_swi_record'.
>
>> + > arm_process_record externed.
>> +
>> +
>
> Again, reading other existing changelog entries must be helpful for you
> to write your own in a correct way/format. :)
>
> --
> Yao (齐尧)
More information about the Gdb-patches
mailing list