OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [tags/] [start/] [gdb-5.0/] [sim/] [common/] [sim-abort.c] - Blame information for rev 579

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 106 markom
/* Generic simulator abort.
2
   Copyright (C) 1997 Free Software Foundation, Inc.
3
   Contributed by Cygnus Support.
4
 
5
This file is part of GDB, the GNU debugger.
6
 
7
This program is free software; you can redistribute it and/or modify
8
it under the terms of the GNU General Public License as published by
9
the Free Software Foundation; either version 2, or (at your option)
10
any later version.
11
 
12
This program is distributed in the hope that it will be useful,
13
but WITHOUT ANY WARRANTY; without even the implied warranty of
14
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
GNU General Public License for more details.
16
 
17
You should have received a copy of the GNU General Public License along
18
with this program; if not, write to the Free Software Foundation, Inc.,
19
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
20
 
21
#include <stdio.h>
22
 
23
#include "sim-main.h"
24
#include "sim-assert.h"
25
 
26
/* This is an implementation of sim_engine_abort that does not use
27
   longjmp, instead it just calls sim_io_error.  sim_io_error will
28
   jump right out of the simulator.
29
 
30
   It is intended as a holder for simulators that have started to use
31
   sim-core et.al. but are not yet in a position to use sim-engine
32
   (the setjmp/longjmp code). */
33
 
34
 
35
void
36
sim_engine_abort (SIM_DESC sd,
37
                  sim_cpu *cpu,
38
                  sim_cia cia,
39
                  const char *fmt,
40
                  ...)
41
{
42
  ASSERT (sd == NULL || STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
43
  if (sd != NULL)
44
    {
45
      va_list ap;
46
      va_start(ap, fmt);
47
      sim_io_evprintf (sd, fmt, ap);
48
      va_end(ap);
49
      sim_io_error (sd, "\n");
50
    }
51
  else
52
    {
53
      va_list ap;
54
      va_start(ap, fmt);
55
      vfprintf (stderr, fmt, ap);
56
      va_end(ap);
57
      fprintf (stderr, "\n");
58
      abort ();
59
    }
60
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.