From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20662 invoked by alias); 29 Feb 2012 17:08:07 -0000 Received: (qmail 20648 invoked by uid 22791); 29 Feb 2012 17:08:06 -0000 X-SWARE-Spam-Status: No, hits=-6.7 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_HI,SPF_HELO_PASS,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 29 Feb 2012 17:07:52 +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 q1TH7pAH014599 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Wed, 29 Feb 2012 12:07:52 -0500 Received: from hit-nxdomain.opendns.com (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id q1TGKrd3004427 for ; Wed, 29 Feb 2012 11:20:54 -0500 Subject: [PATCH 12/14] -Wmissing-prototypes: Hook linux_has_shared_address_space. To: gdb-patches@sourceware.org From: Pedro Alves Date: Wed, 29 Feb 2012 17:12:00 -0000 Message-ID: <20120229162053.23918.71069.stgit@hit-nxdomain.opendns.com> In-Reply-To: <20120229161628.23918.51354.stgit@hit-nxdomain.opendns.com> References: <20120229161628.23918.51354.stgit@hit-nxdomain.opendns.com> User-Agent: StGit/0.15 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit 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 X-SW-Source: 2012-02/txt/msg00717.txt.bz2 $ make -j8 1>/dev/null ../../src/gdb/linux-tdep.c:177:1: error: no previous prototype for ‘linux_has_shared_address_space’ [-Werror=missing-prototypes] cc1: all warnings being treated as errors This function isn't used today, but only because I had missed hooking it, it seems. This should make GDB handle multi-process breakpoints better on non-MMU systems, though I haven't tried this in years. Let me know if you want to test this, or if this ends up causing any trouble. I ran the testsuite on x86_64 Fedora, with linux_has_shared_address_space force-hacked to return 1, and watchpoint-multi showed regressions, which were actually expected, as they were caused by GDB thinking watchpoints on both processes only needed to be inserted once (because they were at the same addresses), which should be true on a non-MMU system. 2012-02-29 Pedro Alves * linux-tdep.c (linux_has_shared_address_space): Make static. Add gdbarch parameter. (linux_init_abi): Install it as has_shared_address_space gdbarch callback. --- gdb/linux-tdep.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/gdb/linux-tdep.c b/gdb/linux-tdep.c index 3ab98c7..1aee071 100644 --- a/gdb/linux-tdep.c +++ b/gdb/linux-tdep.c @@ -173,8 +173,8 @@ linux_get_siginfo_type (struct gdbarch *gdbarch) return siginfo_type; } -int -linux_has_shared_address_space (void) +static int +linux_has_shared_address_space (struct gdbarch *gdbarch) { /* Determine whether we are running on uClinux or normal Linux kernel. */ @@ -860,6 +860,8 @@ linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) set_gdbarch_info_proc (gdbarch, linux_info_proc); set_gdbarch_find_memory_regions (gdbarch, linux_find_memory_regions); set_gdbarch_make_corefile_notes (gdbarch, linux_make_corefile_notes_1); + set_gdbarch_has_shared_address_space (gdbarch, + linux_has_shared_address_space); } void