Support R_SPARC_WDISP10 and R_SPARC_H34.
[external/binutils.git] / sim / common / sim-events.c
index c28a0a9..4e06a2c 100644 (file)
@@ -1,6 +1,6 @@
 /* The common simulator framework for GDB, the GNU Debugger.
 
-   Copyright 2002, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+   Copyright 2002, 2007-2012 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney and Red Hat.
 
@@ -74,7 +74,7 @@ typedef enum {
   watch_sim_le_2,
   watch_sim_le_4,
   watch_sim_le_8,
-  
+
   /* wallclock */
   watch_clock,
 
@@ -111,7 +111,7 @@ struct _sim_event {
 
 /* The event queue maintains a single absolute time using two
    variables.
-   
+
    TIME_OF_EVENT: this holds the time at which the next event is ment
    to occur.  If no next event it will hold the time of the last
    event.
@@ -279,7 +279,7 @@ sim_events_zalloc (SIM_DESC sd)
       /*-LOCK-*/
       sigset_t old_mask;
       sigset_t new_mask;
-      sigfillset(&new_mask);
+      sigfillset (&new_mask);
       sigprocmask (SIG_SETMASK, &new_mask, &old_mask);
 #endif
       new = ZALLOC (sim_event);
@@ -387,7 +387,7 @@ sim_events_remain_time (SIM_DESC sd, sim_event *event)
 {
   if (event == 0)
     return 0;
-  
+
   return (event->time_of_event - sim_events_time (sd));
 }
 
@@ -447,10 +447,10 @@ insert_sim_event (SIM_DESC sd,
 
   if (delta < 0)
     sim_io_error (sd, "what is past is past!\n");
-  
+
   /* compute when the event should occur */
   time_of_event = sim_events_time (sd) + delta;
-  
+
   /* find the queue insertion point - things are time ordered */
   prev = &events->queue;
   curr = events->queue;
@@ -462,12 +462,12 @@ insert_sim_event (SIM_DESC sd,
       curr = curr->next;
     }
   SIM_ASSERT (curr == NULL || time_of_event < curr->time_of_event);
-  
+
   /* insert it */
   new_event->next = curr;
   *prev = new_event;
   new_event->time_of_event = time_of_event;
-  
+
   /* adjust the time until the first event */
   update_time_from_event (sd);
 }
@@ -523,16 +523,16 @@ sim_events_schedule_vtracef (SIM_DESC sd,
   new_event->watching = watch_timer;
   if (fmt == NULL || !ETRACE_P || vasprintf (&new_event->trace, fmt, ap) < 0)
     new_event->trace = NULL;
-  insert_sim_event(sd, new_event, delta_time);
-  ETRACE((_ETRACE,
-         "event scheduled at %ld - tag 0x%lx - time %ld, handler 0x%lx, data 0x%lx%s%s\n",
-         (long)sim_events_time(sd),
-         (long)new_event,
-         (long)new_event->time_of_event,
-         (long)new_event->handler,
-         (long)new_event->data,
-         (new_event->trace != NULL) ? ", " : "",
-         (new_event->trace != NULL) ? new_event->trace : ""));
+  insert_sim_event (sd, new_event, delta_time);
+  ETRACE ((_ETRACE,
+          "event scheduled at %ld - tag 0x%lx - time %ld, handler 0x%lx, data 0x%lx%s%s\n",
+          (long)sim_events_time (sd),
+          (long)new_event,
+          (long)new_event->time_of_event,
+          (long)new_event->handler,
+          (long)new_event->data,
+          (new_event->trace != NULL) ? ", " : "",
+          (new_event->trace != NULL) ? new_event->trace : ""));
   return new_event;
 }
 #endif
@@ -551,10 +551,10 @@ sim_events_schedule_after_signal (SIM_DESC sd,
   /*-LOCK-*/
   sigset_t old_mask;
   sigset_t new_mask;
-  sigfillset(&new_mask);
+  sigfillset (&new_mask);
   sigprocmask (SIG_SETMASK, &new_mask, &old_mask);
 #endif
-  
+
   /* allocate an event entry from the signal buffer */
   new_event = &events->held [events->nr_held];
   events->nr_held ++;
@@ -563,7 +563,7 @@ sim_events_schedule_after_signal (SIM_DESC sd,
       sim_engine_abort (NULL, NULL, NULL_CIA,
                        "sim_events_schedule_after_signal - buffer oveflow");
     }
-  
+
   new_event->data = data;
   new_event->handler = handler;
   new_event->time_of_event = delta_time; /* work it out later */
@@ -575,10 +575,10 @@ sim_events_schedule_after_signal (SIM_DESC sd,
   /*-UNLOCK-*/
   sigprocmask (SIG_SETMASK, &old_mask, NULL);
 #endif
-  
+
   ETRACE ((_ETRACE,
           "signal scheduled at %ld - tag 0x%lx - time %ld, handler 0x%lx, data 0x%lx\n",
-          (long)sim_events_time(sd),
+          (long)sim_events_time (sd),
           (long)new_event,
           (long)new_event->time_of_event,
           (long)new_event->handler,
@@ -1069,7 +1069,7 @@ sim_events_preprocess (SIM_DESC sd,
                       int events_were_last,
                       int events_were_next)
 {
-  sim_events *events = STATE_EVENTS(sd);
+  sim_events *events = STATE_EVENTS (sd);
   if (events_were_last)
     {
       /* Halted part way through event processing */
@@ -1092,8 +1092,8 @@ INLINE_SIM_EVENTS\
 (void)
 sim_events_process (SIM_DESC sd)
 {
-  sim_events *events = STATE_EVENTS(sd);
-  signed64 event_time = sim_events_time(sd);
+  sim_events *events = STATE_EVENTS (sd);
+  signed64 event_time = sim_events_time (sd);
 
   /* Clear work_pending before checking nr_held.  Clearing
      work_pending after nr_held (with out a lock could loose an
@@ -1105,13 +1105,13 @@ sim_events_process (SIM_DESC sd)
   if (events->nr_held > 0)
     {
       int i;
-      
+
 #if defined(HAVE_SIGPROCMASK) && defined(SIG_SETMASK)
       /*-LOCK-*/
       sigset_t old_mask;
       sigset_t new_mask;
-      sigfillset(&new_mask);
-      sigprocmask(SIG_SETMASK, &new_mask, &old_mask);
+      sigfillset (&new_mask);
+      sigprocmask (SIG_SETMASK, &new_mask, &old_mask);
 #endif
 
       for (i = 0; i < events->nr_held; i++)
@@ -1123,14 +1123,14 @@ sim_events_process (SIM_DESC sd)
                               entry->data);
        }
       events->nr_held = 0;
-      
+
 #if defined(HAVE_SIGPROCMASK) && defined(SIG_SETMASK)
       /*-UNLOCK-*/
-      sigprocmask(SIG_SETMASK, &old_mask, NULL);
+      sigprocmask (SIG_SETMASK, &old_mask, NULL);
 #endif
-      
+
     }
-  
+
   /* Process any watchpoints. Be careful to allow a watchpoint to
      appear/disappear under our feet.
      To ensure that watchpoints are processed only once per cycle,
@@ -1145,14 +1145,14 @@ sim_events_process (SIM_DESC sd)
        {
          sim_event_handler *handler = to_do->handler;
          void *data = to_do->data;
-         ETRACE((_ETRACE,
-                 "event issued at %ld - tag 0x%lx - handler 0x%lx, data 0x%lx%s%s\n",
-                 (long) event_time,
-                 (long) to_do,
-                 (long) handler,
-                 (long) data,
-                 (to_do->trace != NULL) ? ", " : "",
-                 (to_do->trace != NULL) ? to_do->trace : ""));
+         ETRACE ((_ETRACE,
+                  "event issued at %ld - tag 0x%lx - handler 0x%lx, data 0x%lx%s%s\n",
+                  (long) event_time,
+                  (long) to_do,
+                  (long) handler,
+                  (long) data,
+                  (to_do->trace != NULL) ? ", " : "",
+                  (to_do->trace != NULL) ? to_do->trace : ""));
          sim_events_free (sd, to_do);
          handler (sd, data);
        }
@@ -1162,7 +1162,7 @@ sim_events_process (SIM_DESC sd)
          events->watchedpoints = to_do;
        }
     }
-  
+
   /* consume all events for this or earlier times.  Be careful to
      allow an event to appear/disappear under our feet */
   while (events->queue->time_of_event <
@@ -1173,24 +1173,24 @@ sim_events_process (SIM_DESC sd)
       void *data = to_do->data;
       events->queue = to_do->next;
       update_time_from_event (sd);
-      ETRACE((_ETRACE,
-             "event issued at %ld - tag 0x%lx - handler 0x%lx, data 0x%lx%s%s\n",
-             (long) event_time,
-             (long) to_do,
-             (long) handler,
-             (long) data,
-             (to_do->trace != NULL) ? ", " : "",
-             (to_do->trace != NULL) ? to_do->trace : ""));
+      ETRACE ((_ETRACE,
+              "event issued at %ld - tag 0x%lx - handler 0x%lx, data 0x%lx%s%s\n",
+              (long) event_time,
+              (long) to_do,
+              (long) handler,
+              (long) data,
+              (to_do->trace != NULL) ? ", " : "",
+              (to_do->trace != NULL) ? to_do->trace : ""));
       sim_events_free (sd, to_do);
       handler (sd, data);
     }
-  
+
   /* put things back where they belong ready for the next iteration */
   events->watchpoints = events->watchedpoints;
   events->watchedpoints = NULL;
   if (events->watchpoints != NULL)
     events->work_pending = 1;
-  
+
   /* advance the time */
   SIM_ASSERT (events->time_from_event >= events->nr_ticks_to_process);
   SIM_ASSERT (events->queue != NULL); /* always poll event */