This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [RFA Precord] Disable process record in amd64
- From: Pedro Alves <pedro at codesourcery dot com>
- To: gdb-patches at sourceware dot org
- Cc: Hui Zhu <teawater at gmail dot com>
- Date: Wed, 13 May 2009 11:18:02 +0100
- Subject: Re: [RFA Precord] Disable process record in amd64
- References: <daef60380905130107g27f33764lfdc001ebad883bbc@mail.gmail.com>
On Wednesday 13 May 2009 09:07:03, Hui Zhu wrote:
> Hi,
>
> The i386 process record can't work together with amd64 now. So I make
> a patch to disable it in amd64.
It would be better to move the `set_gdbarch_process_record (gdbarch, i386_process_record)'
call to tdep files where precord will actually work --- in this
case, i386-linux-tdep.c --- instead of having i386-tdep.c assume
precord support. We've done the exact same thing for displaced
stepping.
>
> 2009-05-13 Hui Zhu <teawater@gmail.com>
>
> * amd64-tdep.c (amd64_init_abi): Disable process record
> function that set in i386_gdbarch_init.
> * i386-tdep.c (i386_gdbarch_init): Call
> set_gdbarch_process_record before gdbarch_init_osabi to make
> process record can be disable in gdbarch_init_osabi.
>
> Thanks,
> Hui
>
> ---
> amd64-tdep.c | 3 +++
> i386-tdep.c | 4 ++--
> 2 files changed, 5 insertions(+), 2 deletions(-)
>
> --- a/amd64-tdep.c
> +++ b/amd64-tdep.c
> @@ -2049,6 +2049,9 @@ amd64_init_abi (struct gdbarch_info info
> amd64_regset_from_core_section);
>
> set_gdbarch_get_longjmp_target (gdbarch, amd64_get_longjmp_target);
> +
> + /* Disable process record function that set in i386_gdbarch_init. */
> + set_gdbarch_process_record (gdbarch, 0);
> }
>
>
> --- a/i386-tdep.c
> +++ b/i386-tdep.c
> @@ -5256,6 +5256,8 @@ i386_gdbarch_init (struct gdbarch_info i
>
> frame_base_set_default (gdbarch, &i386_frame_base);
>
> + set_gdbarch_process_record (gdbarch, i386_process_record);
> +
> /* Hook in ABI-specific overrides, if they have been registered. */
> gdbarch_init_osabi (info, gdbarch);
>
> @@ -5277,8 +5279,6 @@ i386_gdbarch_init (struct gdbarch_info i
> set_gdbarch_skip_permanent_breakpoint (gdbarch,
> i386_skip_permanent_breakpoint);
>
> - set_gdbarch_process_record (gdbarch, i386_process_record);
> -
> return gdbarch;
> }
>
--
Pedro Alves