public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Pedro Alves <palves@redhat.com>
To: John Baldwin <jhb@freebsd.org>, Luis Machado <lgustavo@codesourcery.com>
Cc: gdb-patches@sourceware.org
Subject: Re: [PATCH v2] Define an error function in the PPC simulator library.
Date: Mon, 04 Sep 2017 14:19:00 -0000	[thread overview]
Message-ID: <6ff2bd23-446a-b27c-0b04-2c0d6b92315b@redhat.com> (raw)
In-Reply-To: <2136315.0HrDL9yZYa@ralph.baldwin.cx>

Hi John,

(Since it seems that Mike doesn't have much time for the
sim currently, I'm trying to help move things along by
reviewing this patch.)

On 04/13/2017 06:18 PM, John Baldwin wrote:
> On Thursday, April 13, 2017 08:25:27 AM Luis Machado wrote:
>> On 04/05/2017 11:33 AM, John Baldwin wrote:
>>> Previously this used the error function from GDB directly when linked
>>> against GDB 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.
>>>
>>
>> There is another implementation of error (...) in sim/ppc/main.c and 
>> sim/ppc/misc.c. Should those be kept as is or should we only use the new 
>> function you're providing?
> 
> My understanding is that they should be kept as-is.  This file is only used
> when linking the library against GDB (and actually, rereading the log message,
> I should reword the opening sentence to make this clearer).  sim-calls.o isn't
> included in the actual library.  Each consumer of the library is required
> to export a couple of symbols that libsim.a uses including "error".  The dgen,
> igen, tmp-filter, tmp-ld-decode, tmp-ld-cache, and tmp-ld-insn programs use
> the functions from misc.c.  psim uses the functions from main.c, and
> GDB uses the functions from sim-calls.o.

It'd be nice to include this info somewhere, likely in the commit log.

> glibc includes a global function
> called 'error' that libsim.a is linking against when linked into GDB on
> Linux which is why it doesn't fail to link on Linux (but if it ever needs
> to raise an error it probably blows up as error(3) doesn't have the same
> calling convention).
> 
>> Also, i don't see error being implemented in the other sim backends. I 
>> wonder if we should just use whatever is available (sim_io_error?) 
>> instead of supplying our own ppc-specific version?
> 
> Other sims don't use an "error" function (ppc seems to be special in this
> case).  I think Pedro took a stab at replacing "error" (there's a thread
> with the subject "gdb-7.12-powerpc-rtems4.12-gdb does not build on FreeBSD"
> on gdb@) but thought this approach was simpler (and could also be merged
> to 7.12 though that may be OBE by now).
> 

Yeah.  Your patch looks good to me as you have it.  Even though renaming
the sim's "error" function to something else would be nice, I don't
think that should be a requirement.  We've been calling it "error" since
forever.

Thanks,
Pedro Alves

  parent reply	other threads:[~2017-09-04 14:19 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-05 16:34 John Baldwin
2017-04-13 13:25 ` Luis Machado
2017-04-14 18:02   ` John Baldwin
2017-05-05 19:51     ` John Baldwin
2017-05-19 16:28       ` [PING] " John Baldwin
2017-06-06 17:49         ` John Baldwin
2017-06-23  6:39           ` Sebastian Huber
2017-09-04 14:19     ` Pedro Alves [this message]
2017-09-05  3:00       ` John Baldwin
2017-09-05  9:14         ` Pedro Alves
2017-09-05 11:46           ` John Baldwin
2017-09-05 19:38             ` Joel Brobecker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6ff2bd23-446a-b27c-0b04-2c0d6b92315b@redhat.com \
    --to=palves@redhat.com \
    --cc=gdb-patches@sourceware.org \
    --cc=jhb@freebsd.org \
    --cc=lgustavo@codesourcery.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).