This is the mail archive of the gdb-cvs@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]

[binutils-gdb/gdb-8.0-branch] Define an error function in the PPC simulator library.


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=6854bcdfba43dd3a2058565bbf85868c9914bf39

commit 6854bcdfba43dd3a2058565bbf85868c9914bf39
Author: John Baldwin <jhb@FreeBSD.org>
Date:   Mon Sep 4 19:53:50 2017 -0700

    Define an error function in the PPC simulator library.
    
    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.
    
    Note that there are also error functions in sim/ppc/main.c and
    sim/ppc/misc.c.  The ppc libsim.a expects each consumer to provide
    several symbols used by the library including "error".  sim-calls.c
    provides these symbols when the library is linked into gdb.  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.
    
    sim/ppc/ChangeLog:
    
    	PR sim/20863
    	* sim_calls.c (error): New function.

Diff:
---
 sim/ppc/ChangeLog   |  5 +++++
 sim/ppc/sim_calls.c | 10 ++++++++++
 2 files changed, 15 insertions(+)

diff --git a/sim/ppc/ChangeLog b/sim/ppc/ChangeLog
index c0bb1f5..9573e7b 100644
--- a/sim/ppc/ChangeLog
+++ b/sim/ppc/ChangeLog
@@ -1,3 +1,8 @@
+2017-09-05  John Baldwin  <jhb@FreeBSD.org>
+
+	PR sim/20863
+	* sim_calls.c (error): New function.
+
 2017-02-13  Mike Frysinger  <vapier@gentoo.org>
 
 	* cpu.h: Include libiberty.h.
diff --git a/sim/ppc/sim_calls.c b/sim/ppc/sim_calls.c
index 470c958..eb5d1a7 100644
--- a/sim/ppc/sim_calls.c
+++ b/sim/ppc/sim_calls.c
@@ -386,6 +386,16 @@ sim_io_error (SIM_DESC sd, const char *fmt, ...)
 
 /****/
 
+void NORETURN
+error (const char *msg, ...)
+{
+  va_list ap;
+  va_start(ap, msg);
+  callbacks->evprintf_filtered (callbacks, msg, ap);
+  va_end(ap);
+  callbacks->error (callbacks, "");
+}
+
 void *
 zalloc(long size)
 {


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