* record mode supposed to work on x86_64-linux? @ 2009-05-15 18:41 Andi Kleen 2009-05-16 1:48 ` Hui Zhu 0 siblings, 1 reply; 13+ messages in thread From: Andi Kleen @ 2009-05-15 18:41 UTC (permalink / raw) To: gdb Hi, I was trying the new record/replay mode in CVS. Unfortunately it doesn't work for me on x86-64-linux. I always get SIGABRTs during execution. Is this supposed to work already? Thanks, -Andi GNU gdb (GDB) 6.8.50.20090515-cvs Copyright (C) 2009 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-unknown-linux-gnu". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>... (gdb) b main Breakpoint 1 at 0x400544: file tloop2.c, line 5. (gdb) run Starting program: /home2/andi/tsrc/tloop2 Breakpoint 1, main () at tloop2.c:5 5 for (i = 0; i < 10; i++) (gdb) record (gdb) n Process record: failed to record execution log. Program received signal SIGABRT, Aborted. main () at tloop2.c:5 5 for (i = 0; i < 10; i++) (gdb) Process record: failed to record execution log. Program received signal SIGABRT, Aborted. main () at tloop2.c:5 5 for (i = 0; i < 10; i++) (gdb) -- ak@linux.intel.com -- Speaking for myself only. ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: record mode supposed to work on x86_64-linux? 2009-05-15 18:41 record mode supposed to work on x86_64-linux? Andi Kleen @ 2009-05-16 1:48 ` Hui Zhu 2009-05-16 8:05 ` Andi Kleen 0 siblings, 1 reply; 13+ messages in thread From: Hui Zhu @ 2009-05-16 1:48 UTC (permalink / raw) To: Andi Kleen; +Cc: gdb No. Prec just support x86 now. I am working on x86-64 support. Thanks, Hui On Sat, May 16, 2009 at 02:40, Andi Kleen <andi@firstfloor.org> wrote: > > Hi, > > I was trying the new record/replay mode in CVS. Unfortunately > it doesn't work for me on x86-64-linux. I always get SIGABRTs during > execution. Is this supposed to work already? > > Thanks, > -Andi > > GNU gdb (GDB) 6.8.50.20090515-cvs > Copyright (C) 2009 Free Software Foundation, Inc. > License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> > This is free software: you are free to change and redistribute it. > There is NO WARRANTY, to the extent permitted by law. Type "show copying" > and "show warranty" for details. > This GDB was configured as "x86_64-unknown-linux-gnu". > For bug reporting instructions, please see: > <http://www.gnu.org/software/gdb/bugs/>... > (gdb) b main > Breakpoint 1 at 0x400544: file tloop2.c, line 5. > (gdb) run > Starting program: /home2/andi/tsrc/tloop2 > > Breakpoint 1, main () at tloop2.c:5 > 5 for (i = 0; i < 10; i++) > (gdb) record > (gdb) n > Process record: failed to record execution log. > > Program received signal SIGABRT, Aborted. > main () at tloop2.c:5 > 5 for (i = 0; i < 10; i++) > (gdb) > Process record: failed to record execution log. > > Program received signal SIGABRT, Aborted. > main () at tloop2.c:5 > 5 for (i = 0; i < 10; i++) > (gdb) > > -- > ak@linux.intel.com -- Speaking for myself only. ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: record mode supposed to work on x86_64-linux? 2009-05-16 1:48 ` Hui Zhu @ 2009-05-16 8:05 ` Andi Kleen 2009-05-16 9:09 ` Hui Zhu 0 siblings, 1 reply; 13+ messages in thread From: Andi Kleen @ 2009-05-16 8:05 UTC (permalink / raw) To: Hui Zhu; +Cc: Andi Kleen, gdb On Sat, May 16, 2009 at 09:48:09AM +0800, Hui Zhu wrote: > No. Prec just support x86 now. > I am working on x86-64 support. Ok. But should it give a error message then when the target is not supported? -Andi -- ak@linux.intel.com -- Speaking for myself only. ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: record mode supposed to work on x86_64-linux? 2009-05-16 8:05 ` Andi Kleen @ 2009-05-16 9:09 ` Hui Zhu 2009-05-16 9:21 ` Andi Kleen 0 siblings, 1 reply; 13+ messages in thread From: Hui Zhu @ 2009-05-16 9:09 UTC (permalink / raw) To: Andi Kleen; +Cc: gdb [-- Attachment #1: Type: text/plain, Size: 515 bytes --] Hi Andi, Thanks for remind me. I make a patch for it. But I don't have a x86-64 close to me now. Could you help me test it? Thanks, Hui On Sat, May 16, 2009 at 16:10, Andi Kleen <andi@firstfloor.org> wrote: > On Sat, May 16, 2009 at 09:48:09AM +0800, Hui Zhu wrote: >> No. Prec just support x86 now. >> I am working on x86-64 support. > > Ok. But should it give a error message then when the target is not > supported? > > -Andi > > -- > ak@linux.intel.com -- Speaking for myself only. > [-- Attachment #2: prec_target_check.txt --] [-- Type: text/plain, Size: 5223 bytes --] --- gdbarch.c | 25 +++++++++++++++++++++++++ gdbarch.h | 6 ++++++ gdbarch.sh | 4 ++++ i386-linux-tdep.c | 2 ++ record.c | 6 +++--- 5 files changed, 40 insertions(+), 3 deletions(-) --- a/gdbarch.c +++ b/gdbarch.c @@ -240,6 +240,7 @@ struct gdbarch gdbarch_static_transform_name_ftype *static_transform_name; int sofun_address_maybe_missing; gdbarch_process_record_ftype *process_record; + int support_process_record; gdbarch_target_signal_from_host_ftype *target_signal_from_host; gdbarch_target_signal_to_host_ftype *target_signal_to_host; gdbarch_get_siginfo_type_ftype *get_siginfo_type; @@ -376,6 +377,7 @@ struct gdbarch startup_gdbarch = 0, /* static_transform_name */ 0, /* sofun_address_maybe_missing */ 0, /* process_record */ + 0, /* support_process_record */ default_target_signal_from_host, /* target_signal_from_host */ default_target_signal_to_host, /* target_signal_to_host */ 0, /* get_siginfo_type */ @@ -633,6 +635,8 @@ verify_gdbarch (struct gdbarch *gdbarch) /* Skip verify of static_transform_name, has predicate */ /* Skip verify of sofun_address_maybe_missing, invalid_p == 0 */ /* Skip verify of process_record, has predicate */ + if (gdbarch->support_process_record == 0) + fprintf_unfiltered (log, "\n\tsupport_process_record"); /* Skip verify of target_signal_from_host, invalid_p == 0 */ /* Skip verify of target_signal_to_host, invalid_p == 0 */ /* Skip verify of get_siginfo_type, has predicate */ @@ -1090,6 +1094,9 @@ gdbarch_dump (struct gdbarch *gdbarch, s "gdbarch_dump: static_transform_name = <%s>\n", host_address_to_string (gdbarch->static_transform_name)); fprintf_unfiltered (file, + "gdbarch_dump: support_process_record = %s\n", + plongest (gdbarch->support_process_record)); + fprintf_unfiltered (file, "gdbarch_dump: target_desc = %s\n", host_address_to_string (gdbarch->target_desc)); fprintf_unfiltered (file, @@ -3283,6 +3290,24 @@ set_gdbarch_process_record (struct gdbar gdbarch->process_record = process_record; } +int +gdbarch_support_process_record (struct gdbarch *gdbarch) +{ + gdb_assert (gdbarch != NULL); + /* Check variable changed from pre-default. */ + gdb_assert (gdbarch->support_process_record != 0); + if (gdbarch_debug >= 2) + fprintf_unfiltered (gdb_stdlog, "gdbarch_support_process_record called\n"); + return gdbarch->support_process_record; +} + +void +set_gdbarch_support_process_record (struct gdbarch *gdbarch, + int support_process_record) +{ + gdbarch->support_process_record = support_process_record; +} + enum target_signal gdbarch_target_signal_from_host (struct gdbarch *gdbarch, int signo) { --- a/gdbarch.h +++ b/gdbarch.h @@ -829,6 +829,12 @@ typedef int (gdbarch_process_record_ftyp extern int gdbarch_process_record (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR addr); extern void set_gdbarch_process_record (struct gdbarch *gdbarch, gdbarch_process_record_ftype *process_record); +/* If the target of architecture support process record and replay, This + variable will be set to true. */ + +extern int gdbarch_support_process_record (struct gdbarch *gdbarch); +extern void set_gdbarch_support_process_record (struct gdbarch *gdbarch, int support_process_record); + /* Signal translation: translate inferior's signal (host's) number into GDB's representation. */ --- a/gdbarch.sh +++ b/gdbarch.sh @@ -715,6 +715,10 @@ v:int:sofun_address_maybe_missing:::0:0: # Return -1 if something goes wrong, 0 otherwise. M:int:process_record:struct regcache *regcache, CORE_ADDR addr:regcache, addr +# If the target of architecture support process record and replay, This +# variable will be set to true. +v:int:support_process_record:::0:0 + # Signal translation: translate inferior's signal (host's) number into # GDB's representation. m:enum target_signal:target_signal_from_host:int signo:signo::default_target_signal_from_host::0 --- a/i386-linux-tdep.c +++ b/i386-linux-tdep.c @@ -613,6 +613,8 @@ i386_linux_init_abi (struct gdbarch_info tdep->sc_reg_offset = i386_linux_sc_reg_offset; tdep->sc_num_regs = ARRAY_SIZE (i386_linux_sc_reg_offset); + set_gdbarch_support_process_record (gdbarch, 1); + /* Initialize the i386_linux_record_tdep. */ i386_linux_record_tdep.size__old_kernel_stat = I386_LINUX_RECORD_SIZE__old_kernel_stat; --- a/record.c +++ b/record.c @@ -427,9 +427,9 @@ record_open (char *name, int from_tty) error (_("Process record target can't debug inferior in asynchronous " "mode (target-async).")); - if (!gdbarch_process_record_p (current_gdbarch)) - error (_("Process record: the current architecture doesn't support " - "record function.")); + if (!gdbarch_support_process_record (current_gdbarch)) + error (_("Process record: the current target of architecture doesn't " + "support record function.")); /* Check if record target is already running. */ if (current_target.to_stratum == record_stratum) ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: record mode supposed to work on x86_64-linux? 2009-05-16 9:09 ` Hui Zhu @ 2009-05-16 9:21 ` Andi Kleen 2009-05-16 9:51 ` Hui Zhu 0 siblings, 1 reply; 13+ messages in thread From: Andi Kleen @ 2009-05-16 9:21 UTC (permalink / raw) To: Hui Zhu; +Cc: Andi Kleen, gdb On Sat, May 16, 2009 at 05:09:12PM +0800, Hui Zhu wrote: > Hi Andi, > > Thanks for remind me. > I make a patch for it. But I don't have a x86-64 close to me now. > Could you help me test it? Gets ../../src/gdb/gdbarch.c:648: internal-error: verify_gdbarch: the following are invalid ... support_process_record A problem internal to GDB has been detected, further debugging may prove unreliable. at startup. I haven't tried further. -Andi ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: record mode supposed to work on x86_64-linux? 2009-05-16 9:21 ` Andi Kleen @ 2009-05-16 9:51 ` Hui Zhu 2009-05-16 11:54 ` Andi Kleen 2009-05-16 16:35 ` Pedro Alves 0 siblings, 2 replies; 13+ messages in thread From: Hui Zhu @ 2009-05-16 9:51 UTC (permalink / raw) To: Andi Kleen; +Cc: gdb [-- Attachment #1: Type: text/plain, Size: 647 bytes --] Sorry. I made a mistake in gdbarch.sh. How about this one? Thanks, Hui On Sat, May 16, 2009 at 17:27, Andi Kleen <andi@firstfloor.org> wrote: > On Sat, May 16, 2009 at 05:09:12PM +0800, Hui Zhu wrote: >> Hi Andi, >> >> Thanks for remind me. >> I make a patch for it. But I don't have a x86-64 close to me now. >> Could you help me test it? > > Gets > > ../../src/gdb/gdbarch.c:648: internal-error: verify_gdbarch: the following are invalid ... > support_process_record > A problem internal to GDB has been detected, > further debugging may prove unreliable. > > at startup. I haven't tried further. > > -Andi > [-- Attachment #2: prec_target_check.txt --] [-- Type: text/plain, Size: 5139 bytes --] --- gdbarch.c | 23 +++++++++++++++++++++++ gdbarch.h | 6 ++++++ gdbarch.sh | 4 ++++ i386-linux-tdep.c | 2 ++ record.c | 6 +++--- 5 files changed, 38 insertions(+), 3 deletions(-) --- a/gdbarch.c +++ b/gdbarch.c @@ -240,6 +240,7 @@ struct gdbarch gdbarch_static_transform_name_ftype *static_transform_name; int sofun_address_maybe_missing; gdbarch_process_record_ftype *process_record; + int support_process_record; gdbarch_target_signal_from_host_ftype *target_signal_from_host; gdbarch_target_signal_to_host_ftype *target_signal_to_host; gdbarch_get_siginfo_type_ftype *get_siginfo_type; @@ -376,6 +377,7 @@ struct gdbarch startup_gdbarch = 0, /* static_transform_name */ 0, /* sofun_address_maybe_missing */ 0, /* process_record */ + 0, /* support_process_record */ default_target_signal_from_host, /* target_signal_from_host */ default_target_signal_to_host, /* target_signal_to_host */ 0, /* get_siginfo_type */ @@ -633,6 +635,7 @@ verify_gdbarch (struct gdbarch *gdbarch) /* Skip verify of static_transform_name, has predicate */ /* Skip verify of sofun_address_maybe_missing, invalid_p == 0 */ /* Skip verify of process_record, has predicate */ + /* Skip verify of support_process_record, invalid_p == 0 */ /* Skip verify of target_signal_from_host, invalid_p == 0 */ /* Skip verify of target_signal_to_host, invalid_p == 0 */ /* Skip verify of get_siginfo_type, has predicate */ @@ -1090,6 +1093,9 @@ gdbarch_dump (struct gdbarch *gdbarch, s "gdbarch_dump: static_transform_name = <%s>\n", host_address_to_string (gdbarch->static_transform_name)); fprintf_unfiltered (file, + "gdbarch_dump: support_process_record = %s\n", + plongest (gdbarch->support_process_record)); + fprintf_unfiltered (file, "gdbarch_dump: target_desc = %s\n", host_address_to_string (gdbarch->target_desc)); fprintf_unfiltered (file, @@ -3283,6 +3289,23 @@ set_gdbarch_process_record (struct gdbar gdbarch->process_record = process_record; } +int +gdbarch_support_process_record (struct gdbarch *gdbarch) +{ + gdb_assert (gdbarch != NULL); + /* Skip verify of support_process_record, invalid_p == 0 */ + if (gdbarch_debug >= 2) + fprintf_unfiltered (gdb_stdlog, "gdbarch_support_process_record called\n"); + return gdbarch->support_process_record; +} + +void +set_gdbarch_support_process_record (struct gdbarch *gdbarch, + int support_process_record) +{ + gdbarch->support_process_record = support_process_record; +} + enum target_signal gdbarch_target_signal_from_host (struct gdbarch *gdbarch, int signo) { --- a/gdbarch.h +++ b/gdbarch.h @@ -829,6 +829,12 @@ typedef int (gdbarch_process_record_ftyp extern int gdbarch_process_record (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR addr); extern void set_gdbarch_process_record (struct gdbarch *gdbarch, gdbarch_process_record_ftype *process_record); +/* If the target of architecture support process record and replay, This + variable will be set to true. */ + +extern int gdbarch_support_process_record (struct gdbarch *gdbarch); +extern void set_gdbarch_support_process_record (struct gdbarch *gdbarch, int support_process_record); + /* Signal translation: translate inferior's signal (host's) number into GDB's representation. */ --- a/gdbarch.sh +++ b/gdbarch.sh @@ -715,6 +715,10 @@ v:int:sofun_address_maybe_missing:::0:0: # Return -1 if something goes wrong, 0 otherwise. M:int:process_record:struct regcache *regcache, CORE_ADDR addr:regcache, addr +# If the target of architecture support process record and replay, This +# variable will be set to true. +v:int:support_process_record:::0:0::0 + # Signal translation: translate inferior's signal (host's) number into # GDB's representation. m:enum target_signal:target_signal_from_host:int signo:signo::default_target_signal_from_host::0 --- a/i386-linux-tdep.c +++ b/i386-linux-tdep.c @@ -613,6 +613,8 @@ i386_linux_init_abi (struct gdbarch_info tdep->sc_reg_offset = i386_linux_sc_reg_offset; tdep->sc_num_regs = ARRAY_SIZE (i386_linux_sc_reg_offset); + set_gdbarch_support_process_record (gdbarch, 1); + /* Initialize the i386_linux_record_tdep. */ i386_linux_record_tdep.size__old_kernel_stat = I386_LINUX_RECORD_SIZE__old_kernel_stat; --- a/record.c +++ b/record.c @@ -427,9 +427,9 @@ record_open (char *name, int from_tty) error (_("Process record target can't debug inferior in asynchronous " "mode (target-async).")); - if (!gdbarch_process_record_p (current_gdbarch)) - error (_("Process record: the current architecture doesn't support " - "record function.")); + if (!gdbarch_support_process_record (current_gdbarch)) + error (_("Process record: the current target of architecture doesn't " + "support record function.")); /* Check if record target is already running. */ if (current_target.to_stratum == record_stratum) ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: record mode supposed to work on x86_64-linux? 2009-05-16 9:51 ` Hui Zhu @ 2009-05-16 11:54 ` Andi Kleen 2009-05-16 16:35 ` Pedro Alves 1 sibling, 0 replies; 13+ messages in thread From: Andi Kleen @ 2009-05-16 11:54 UTC (permalink / raw) To: Hui Zhu; +Cc: Andi Kleen, gdb On Sat, May 16, 2009 at 05:51:42PM +0800, Hui Zhu wrote: > Sorry. I made a mistake in gdbarch.sh. > How about this one? Works -- i get a error message. Thanks. The english of the message could be probably improved: "Process recording: The current architecture target does not support recording functionality" -Andi ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: record mode supposed to work on x86_64-linux? 2009-05-16 9:51 ` Hui Zhu 2009-05-16 11:54 ` Andi Kleen @ 2009-05-16 16:35 ` Pedro Alves 2009-05-17 0:15 ` Hui Zhu 1 sibling, 1 reply; 13+ messages in thread From: Pedro Alves @ 2009-05-16 16:35 UTC (permalink / raw) To: gdb; +Cc: Hui Zhu, Andi Kleen On Saturday 16 May 2009 10:51:42, Hui Zhu wrote: > Sorry. I made a mistake in gdbarch.sh. > How about this one? There's no need for a new gdbarch method if you implement what I suggested before: http://sourceware.org/ml/gdb-patches/2009-05/msg00267.html > > Thanks, > Hui > > On Sat, May 16, 2009 at 17:27, Andi Kleen <andi@firstfloor.org> wrote: > > On Sat, May 16, 2009 at 05:09:12PM +0800, Hui Zhu wrote: > >> Hi Andi, > >> > >> Thanks for remind me. > >> I make a patch for it. But I don't have a x86-64 close to me now. > >> Could you help me test it? > > > > Gets > > > > ../../src/gdb/gdbarch.c:648: internal-error: verify_gdbarch: the following are invalid ... > > support_process_record > > A problem internal to GDB has been detected, > > further debugging may prove unreliable. > > > > at startup. I haven't tried further. > > > > -Andi > > > -- Pedro Alves ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: record mode supposed to work on x86_64-linux? 2009-05-16 16:35 ` Pedro Alves @ 2009-05-17 0:15 ` Hui Zhu 2009-05-17 11:51 ` Pedro Alves 0 siblings, 1 reply; 13+ messages in thread From: Hui Zhu @ 2009-05-17 0:15 UTC (permalink / raw) To: Pedro Alves; +Cc: gdb, Andi Kleen [-- Attachment #1: Type: text/plain, Size: 1474 bytes --] Hi Pedro, What do you think about this one? 2009-05-17 Hui Zhu <teawater@gmail.com> * i386-tdep.c (i386_process_record): Remove the static of it. (i386_gdbarch_init): Remove the set_gdbarch_process_record. * i386-tdep.c (i386_process_record): New extern. * i386-linux-tdep.c (i386_linux_init_abi): Call set_gdbarch_process_record. Sorry for my always understand your mean so slow. :) Thanks, Hui On Sun, May 17, 2009 at 00:35, Pedro Alves <pedro@codesourcery.com> wrote: > On Saturday 16 May 2009 10:51:42, Hui Zhu wrote: >> Sorry. I made a mistake in gdbarch.sh. >> How about this one? > > There's no need for a new gdbarch method if you > implement what I suggested before: > > http://sourceware.org/ml/gdb-patches/2009-05/msg00267.html > >> >> Thanks, >> Hui >> >> On Sat, May 16, 2009 at 17:27, Andi Kleen <andi@firstfloor.org> wrote: >> > On Sat, May 16, 2009 at 05:09:12PM +0800, Hui Zhu wrote: >> >> Hi Andi, >> >> >> >> Thanks for remind me. >> >> I make a patch for it. But I don't have a x86-64 close to me now. >> >> Could you help me test it? >> > >> > Gets >> > >> > ../../src/gdb/gdbarch.c:648: internal-error: verify_gdbarch: the following are invalid ... >> > support_process_record >> > A problem internal to GDB has been detected, >> > further debugging may prove unreliable. >> > >> > at startup. I haven't tried further. >> > >> > -Andi >> > >> > > > > -- > Pedro Alves > [-- Attachment #2: prec_move_to_target.txt --] [-- Type: text/plain, Size: 1580 bytes --] --- i386-linux-tdep.c | 2 ++ i386-tdep.c | 4 +--- i386-tdep.h | 3 +++ 3 files changed, 6 insertions(+), 3 deletions(-) --- a/i386-linux-tdep.c +++ b/i386-linux-tdep.c @@ -613,6 +613,8 @@ i386_linux_init_abi (struct gdbarch_info tdep->sc_reg_offset = i386_linux_sc_reg_offset; tdep->sc_num_regs = ARRAY_SIZE (i386_linux_sc_reg_offset); + set_gdbarch_process_record (gdbarch, i386_process_record); + /* Initialize the i386_linux_record_tdep. */ i386_linux_record_tdep.size__old_kernel_stat = I386_LINUX_RECORD_SIZE__old_kernel_stat; --- a/i386-tdep.c +++ b/i386-tdep.c @@ -2982,7 +2982,7 @@ i386_record_lea_modrm (struct i386_recor memory that will be changed in current instruction to "record_arch_list". Return -1 if something wrong. */ -static int +int i386_process_record (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR addr) { @@ -5277,8 +5277,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; } --- a/i386-tdep.h +++ b/i386-tdep.h @@ -220,6 +220,9 @@ extern void i386_elf_init_abi (struct gd /* Initialize a SVR4 architecture variant. */ extern void i386_svr4_init_abi (struct gdbarch_info, struct gdbarch *); + +extern int i386_process_record (struct gdbarch *gdbarch, + struct regcache *regcache, CORE_ADDR addr); \f /* Functions and variables exported from i386bsd-tdep.c. */ ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: record mode supposed to work on x86_64-linux? 2009-05-17 0:15 ` Hui Zhu @ 2009-05-17 11:51 ` Pedro Alves 2009-05-17 12:28 ` Hui Zhu 0 siblings, 1 reply; 13+ messages in thread From: Pedro Alves @ 2009-05-17 11:51 UTC (permalink / raw) To: gdb; +Cc: Hui Zhu, Andi Kleen On Sunday 17 May 2009 01:15:00, Hui Zhu wrote: > Hi Pedro, > > What do you think about this one? I think it's good, thanks. > 2009-05-17 Hui Zhu <teawater@gmail.com> > > * i386-tdep.c (i386_process_record): Remove the static of it. > (i386_gdbarch_init): Remove the set_gdbarch_process_record. > * i386-tdep.c (i386_process_record): New extern. > * i386-linux-tdep.c (i386_linux_init_abi): Call > set_gdbarch_process_record. Please consider the alternative ChangeLog suggestions below instead. > * i386-tdep.c (i386_process_record): Remove the static of it. * i386-tdep.c (i386_process_record): Make it extern. > (i386_gdbarch_init): Remove the set_gdbarch_process_record. From this entry, it isn't clear what you're removing. Actually, it sounds like you're removing the function implementation. Consider instead: (i386_gdbarch_init): Remove the set_gdbarch_process_record call. ^^^^ or even: (i386_gdbarch_init): Don't call set_gdbarch_process_record here. > * i386-tdep.c (i386_process_record): New extern. ^ typo * i386-tdep.h (i386_process_record): Declare. (`new extern' sounds like adding a new variable or function, but you're just changing the linkage of an existing function.) -- Pedro Alves ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: record mode supposed to work on x86_64-linux? 2009-05-17 11:51 ` Pedro Alves @ 2009-05-17 12:28 ` Hui Zhu 2009-05-17 12:30 ` Pedro Alves 0 siblings, 1 reply; 13+ messages in thread From: Hui Zhu @ 2009-05-17 12:28 UTC (permalink / raw) To: Pedro Alves, Andi Kleen; +Cc: gdb Thank you very much Pedro and Andi. I changed the changelog to: 2009-05-17 Hui Zhu <teawater@gmail.com> * i386-tdep.c (i386_process_record): Make it extern. (i386_gdbarch_init): Don't call set_gdbarch_process_record here. * i386-tdep.c (i386_process_record): Declare. * i386-linux-tdep.c (i386_linux_init_abi): Call set_gdbarch_process_record. And checked-in. Hui On Sun, May 17, 2009 at 19:52, Pedro Alves <pedro@codesourcery.com> wrote: > On Sunday 17 May 2009 01:15:00, Hui Zhu wrote: >> Hi Pedro, >> >> What do you think about this one? > > I think it's good, thanks. > >> 2009-05-17 Hui Zhu <teawater@gmail.com> >> >> * i386-tdep.c (i386_process_record): Remove the static of it. >> (i386_gdbarch_init): Remove the set_gdbarch_process_record. >> * i386-tdep.c (i386_process_record): New extern. >> * i386-linux-tdep.c (i386_linux_init_abi): Call >> set_gdbarch_process_record. > > Please consider the alternative ChangeLog suggestions below instead. > >> * i386-tdep.c (i386_process_record): Remove the static of it. > > * i386-tdep.c (i386_process_record): Make it extern. > >> (i386_gdbarch_init): Remove the set_gdbarch_process_record. > > From this entry, it isn't clear what you're removing. Actually, it > sounds like you're removing the function implementation. Consider > instead: > > (i386_gdbarch_init): Remove the set_gdbarch_process_record call. > ^^^^ > > or even: > > (i386_gdbarch_init): Don't call set_gdbarch_process_record here. > > >> * i386-tdep.c (i386_process_record): New extern. > > ^ typo > > * i386-tdep.h (i386_process_record): Declare. > > (`new extern' sounds like adding a new variable or function, > but you're just changing the linkage of an existing function.) > > -- > Pedro Alves > ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: record mode supposed to work on x86_64-linux? 2009-05-17 12:28 ` Hui Zhu @ 2009-05-17 12:30 ` Pedro Alves 2009-05-17 12:40 ` Hui Zhu 0 siblings, 1 reply; 13+ messages in thread From: Pedro Alves @ 2009-05-17 12:30 UTC (permalink / raw) To: gdb; +Cc: Hui Zhu, Andi Kleen On Sunday 17 May 2009 13:28:01, Hui Zhu wrote: > * i386-tdep.c (i386_process_record): Declare. ^ typo still present. -- Pedro Alves ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: record mode supposed to work on x86_64-linux? 2009-05-17 12:30 ` Pedro Alves @ 2009-05-17 12:40 ` Hui Zhu 0 siblings, 0 replies; 13+ messages in thread From: Hui Zhu @ 2009-05-17 12:40 UTC (permalink / raw) To: Pedro Alves; +Cc: gdb, Andi Kleen Oops. fixed. :) Hui On Sun, May 17, 2009 at 20:31, Pedro Alves <pedro@codesourcery.com> wrote: > On Sunday 17 May 2009 13:28:01, Hui Zhu wrote: >> * i386-tdep.c (i386_process_record): Declare. > > ^ typo still present. > > -- > Pedro Alves > ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2009-05-17 12:40 UTC | newest] Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2009-05-15 18:41 record mode supposed to work on x86_64-linux? Andi Kleen 2009-05-16 1:48 ` Hui Zhu 2009-05-16 8:05 ` Andi Kleen 2009-05-16 9:09 ` Hui Zhu 2009-05-16 9:21 ` Andi Kleen 2009-05-16 9:51 ` Hui Zhu 2009-05-16 11:54 ` Andi Kleen 2009-05-16 16:35 ` Pedro Alves 2009-05-17 0:15 ` Hui Zhu 2009-05-17 11:51 ` Pedro Alves 2009-05-17 12:28 ` Hui Zhu 2009-05-17 12:30 ` Pedro Alves 2009-05-17 12:40 ` Hui Zhu
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox