From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12497 invoked by alias); 14 Nov 2014 15:53:47 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 12485 invoked by uid 89); 14 Nov 2014 15:53:47 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.0 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS,SPF_PASS,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Fri, 14 Nov 2014 15:53:46 +0000 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id sAEFrhSq020019 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Fri, 14 Nov 2014 10:53:43 -0500 Received: from [127.0.0.1] (ovpn01.gateway.prod.ext.ams2.redhat.com [10.39.146.11]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id sAEFrfLZ026458; Fri, 14 Nov 2014 10:53:42 -0500 Message-ID: <54662585.5070205@redhat.com> Date: Fri, 14 Nov 2014 15:53:00 -0000 From: Pedro Alves User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.1.1 MIME-Version: 1.0 To: Sergio Durigan Junior , GDB Patches CC: Gabriel Krisman Bertazi Subject: Re: [PATCH 2/3] Adjust calls for setting "catch syscall" information References: <1415837887-28888-1-git-send-email-sergiodj@redhat.com> <1415837887-28888-3-git-send-email-sergiodj@redhat.com> In-Reply-To: <1415837887-28888-3-git-send-email-sergiodj@redhat.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-SW-Source: 2014-11/txt/msg00314.txt.bz2 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