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.
+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.
/****/
+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)
{