This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 2/3] Adjust calls for setting "catch syscall" information


On 11/13/2014 12:18 AM, Sergio Durigan Junior wrote:
> --- a/gdb/breakpoint.c
> +++ b/gdb/breakpoint.c
> @@ -8607,10 +8607,11 @@ print_it_catch_syscall (bpstat bs)
>    ptid_t ptid;
>    struct target_waitstatus last;
>    struct syscall s;
> +  struct gdbarch *gdbarch = target_gdbarch ();

I think this would better be bs->bp_location_at->gdbarch .

> @@ -8653,6 +8654,7 @@ print_one_catch_syscall (struct breakpoint *b,
>    struct syscall_catchpoint *c = (struct syscall_catchpoint *) b;
>    struct value_print_options opts;
>    struct ui_out *uiout = current_uiout;
> +  struct gdbarch *gdbarch = target_gdbarch ();

Here, we can use b->loc->gdbarch.

Later, to handle the case "catch syscall open" with multiple
inferiors of different archs, I think we'll end up with a
location for each inferior, or for each arch, and we'll iterate
over locations here.  For now, I think we can assume there's only
one location.

Similarly for other places.

> @@ -15343,7 +15348,7 @@ static VEC (char_ptr) *
>  catch_syscall_completer (struct cmd_list_element *cmd,
>                           const char *text, const char *word)
>  {
> -  const char **list = get_syscall_names ();
> +  const char **list = get_syscall_names (target_gdbarch ());
>    VEC (char_ptr) *retlist
>      = (list == NULL) ? NULL : complete_on_enum (list, word, word);

This one is handling user input, so should be "get_current_arch ()":

/* Return "current" architecture.  If the target is running, this is
   the architecture of the selected frame.  Otherwise, the "current"
   architecture defaults to the target architecture.

   This function should normally be called solely by the command
   interpreter routines to determine the architecture to execute a
   command in.  */
struct gdbarch *
get_current_arch (void)


Thanks,
Pedro Alves


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]