From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26051 invoked by alias); 23 Dec 2016 21:29:04 -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 26001 invoked by uid 89); 23 Dec 2016 21:29:03 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.1 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS,SPF_SOFTFAIL autolearn=no version=3.3.2 spammy=saturday, Baldwin, baldwin, Saturday X-HELO: mail.baldwin.cx Received: from bigwig.baldwin.cx (HELO mail.baldwin.cx) (96.47.65.170) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 23 Dec 2016 21:28:53 +0000 Received: from ralph.baldwin.cx (c-73-231-226-104.hsd1.ca.comcast.net [73.231.226.104]) by mail.baldwin.cx (Postfix) with ESMTPSA id 2A1FC10AA59; Fri, 23 Dec 2016 16:28:52 -0500 (EST) From: John Baldwin To: gdb-patches@sourceware.org Cc: Mike Frysinger Subject: Re: [PATCH] Define an error function in the PPC simulator. Date: Fri, 23 Dec 2016 21:29:00 -0000 Message-ID: <31603722.RNSdJu0eBR@ralph.baldwin.cx> User-Agent: KMail/4.14.10 (FreeBSD/11.0-PRERELEASE; KDE/4.14.10; amd64; ; ) In-Reply-To: <2476434.ez5udtjJNp@ralph.baldwin.cx> References: <20161124152917.52189-1-jhb@FreeBSD.org> <20161126221946.GR21655@vapier.lan> <2476434.ez5udtjJNp@ralph.baldwin.cx> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-IsSubscribed: yes X-SW-Source: 2016-12/txt/msg00411.txt.bz2 On Tuesday, December 06, 2016 11:08:07 AM John Baldwin wrote: > On Saturday, November 26, 2016 02:19:46 PM Mike Frysinger wrote: > > On 25 Nov 2016 09:21, John Baldwin wrote: > > > On Friday, November 25, 2016 08:49:08 AM Mike Frysinger wrote: > > > > On 24 Nov 2016 07:29, John Baldwin wrote: > > > > > Previously this used the error function from GDB directly instead of > > > > > the error method in the host callbacks structure. This was exposed via > > > > > a link error when GDB was converted to C++. The error function invokes > > > > > the error callback similar to sim_io_error. > > > > > > > > ppc/main.c and ppc/misc.c already have error() definitions > > > > > > Yes, though those are not included when libsim is linked into gdb itself. > > > misc.o is explicitly included for certain binaries in sim/ppc/Makefile.in. > > > Note that zalloc() is defined in both misc.c and sim_calls.c as well, I > > > suspect for similar reasons. > > > > > > Looking at main.c, it overrides various symbols (sim_io_*, also > > > zalloc) that are defined in sim_calls.c with local versions. (Perhaps > > > psim should not be linking sim_calls.o in at all?) 'error' is another > > > such symbol. > > > > yes, the ppc sim is a bit of mess due to its history. i'm not sure we > > should just keep throwing onto the pile though. > > > > if psim/main.c doesn't need it, then dropping it sounds easy enough. > > I misread the Makefiles a bit and psim doesn't link in sim_calls.o, so it > still needs its own zalloc() and error() in main.c. > > In particular, ppc/Makefile generates the libsim.a that gdb links against > which includes sim_calls.o (via GDB_OBJ) but not main.o or misc.o. The > psim binary includes main.o (but not sim_calls.o or misc.o), and the other > binaries (igen, dgen, tmp-filter) include misc.o (but not sim_calls.o or > main.o). > > While it might make sense to merge bits of main.c with misc.c, I think the > GDB-specific functions in sim_calls.c are always going to be required > (including a custom error() that invokes GDB's error hook). *ping* (This fixes PR sim/20863 btw) -- John Baldwin