summaryrefslogtreecommitdiff
blob: d05cc7dff7afdad03c9b87c8a9773620aa69a30c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
diff -Naurp spim-7.2.1-r1/CPU/spim-utils.c spim-7.2.1-r1.mult_except/CPU/spim-utils.c
--- spim-7.2.1-r1/CPU/spim-utils.c	2005-08-28 13:58:13.000000000 -0700
+++ spim-7.2.1-r1.mult_except/CPU/spim-utils.c	2005-10-26 14:22:15.000000000 -0700
@@ -76,7 +76,7 @@ mem_addr initial_k_data_limit = K_DATA_L
 /* Initialize or reinitialize the state of the machine. */
 
 void
-initialize_world (char* exception_file_name)
+initialize_world (char* exception_file_names)
 {
   /* Allocate the floating point registers */
   if (FGR == NULL)
@@ -96,18 +96,26 @@ initialize_world (char* exception_file_n
   data_begins_at_point (DATA_BOT);
   text_begins_at_point (TEXT_BOT);
 
-  if (exception_file_name != NULL)
+  if (exception_file_names != NULL)
     {
       int old_bare = bare_machine;
       int old_accept = accept_pseudo_insts;
+      char *state, *filename;
 
       bare_machine = 0;		/* Exception handler uses extended machine */
       accept_pseudo_insts = 1;
-      if (read_assembly_file (exception_file_name))
-	fatal_error ("Cannot read exception handler: %s\n", exception_file_name);
+
+      for(filename = strtok_r(exception_file_names, ":", &state);
+          filename;
+          filename = strtok_r(NULL,  ":", &state)) {
+
+        if (read_assembly_file (filename))
+          fatal_error ("Cannot read exception handler: %s\n", filename);
+        write_output (message_out, "Loaded: %s\n", filename);
+      }
+
       bare_machine = old_bare;
       accept_pseudo_insts = old_accept;
-      write_output (message_out, "Loaded: %s\n", exception_file_name);
 
       if (!bare_machine)
       {
diff -Naurp spim-7.2.1-r1/CPU/spim-utils.h spim-7.2.1-r1.mult_except/CPU/spim-utils.h
--- spim-7.2.1-r1/CPU/spim-utils.h	2005-08-28 13:58:13.000000000 -0700
+++ spim-7.2.1-r1.mult_except/CPU/spim-utils.h	2005-10-26 14:23:08.000000000 -0700
@@ -46,7 +46,7 @@ void format_mem (str_stream *ss, mem_add
 void format_registers (str_stream *ss, int print_gpr_hex, int print_fpr_hex);
 void initialize_registers ();
 void initialize_run_stack (int argc, char **argv);
-void initialize_world (char *exception_file_name);
+void initialize_world (char *exception_file_names);
 void list_breakpoints ();
 name_val_val *map_int_to_name_val_val (name_val_val tbl[], int tbl_len, int num);
 name_val_val *map_string_to_name_val_val (name_val_val tbl[], int tbl_len, char *id);