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: Re: [PING] Re: [PATCH v2] Define an error function in the PPC simulator library.


On 06/06/17 19:48, John Baldwin wrote:

On Friday, May 19, 2017 09:27:01 AM John Baldwin wrote:
On Friday, May 05, 2017 12:22:43 PM John Baldwin wrote:
On Thursday, April 13, 2017 10:18:14 AM 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.  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).
Ping?
Ping++

This does fix a PR, is a regression in 7.12, and is relatively small, so I
think it's a candidate for 8.0 if accepted.
Ping?


This issue breaks also at least the PowerPC GDB 7.12 and 8.0 support on MacOS X. Its not only related to FreeBSD.

--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber@embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.


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