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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gdb-7.1/] [sim/] [common/] [sim-abort.c] - Blame information for rev 868

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

Line No. Rev Author Line
1 227 jeremybenn
/* Generic simulator abort.
2
   Copyright (C) 1997, 2007, 2008, 2009, 2010 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 3 of the License, or
10
(at your option) 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
18
along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
19
 
20
#include <stdio.h>
21
 
22
#include "sim-main.h"
23
#include "sim-assert.h"
24
 
25
/* This is an implementation of sim_engine_abort that does not use
26
   longjmp, instead it just calls sim_io_error.  sim_io_error will
27
   jump right out of the simulator.
28
 
29
   It is intended as a holder for simulators that have started to use
30
   sim-core et al. but are not yet in a position to use sim-engine
31
   (the setjmp/longjmp code). */
32
 
33
 
34
void
35
sim_engine_abort (SIM_DESC sd,
36
                  sim_cpu *cpu,
37
                  sim_cia cia,
38
                  const char *fmt,
39
                  ...)
40
{
41
  ASSERT (sd == NULL || STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
42
  if (sd != NULL)
43
    {
44
      va_list ap;
45
      va_start(ap, fmt);
46
      sim_io_evprintf (sd, fmt, ap);
47
      va_end(ap);
48
      sim_io_error (sd, "\n");
49
    }
50
  else
51
    {
52
      va_list ap;
53
      va_start(ap, fmt);
54
      vfprintf (stderr, fmt, ap);
55
      va_end(ap);
56
      fprintf (stderr, "\n");
57
      abort ();
58
    }
59
}

powered by: WebSVN 2.1.0

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