Fix for PR gdb/209, PR gdb/156:
[deliverable/binutils-gdb.git] / gdb / gdb-events.sh
index 5573766de43cbe58105050f826f56a029d32d8aa..eb7346551a094bec82a642b34f89b3fa3183fc53 100755 (executable)
@@ -64,6 +64,7 @@ f:void:breakpoint_modify:int b:b
 f:void:tracepoint_create:int number:number
 f:void:tracepoint_delete:int number:number
 f:void:tracepoint_modify:int number:number
+f:void:architecture_changed:void
 #*:void:annotate_starting_hook:void
 #*:void:annotate_stopped_hook:void
 #*:void:annotate_signalled_hook:void
@@ -277,12 +278,15 @@ echo ""
 echo "#endif"
 exec 1>&2
 #../move-if-change new-gdb-events.h gdb-events.h
-if test -r gdb-events.h
+if test -r gdb-events.h
 then
+  diff -c gdb-events.h new-gdb-events.h
+  if [ $? = 1 ]
+  then
+    echo "gdb-events.h changed? cp new-gdb-events.h gdb-events.h" 1>&2
+  fi
+else
   echo "File missing? mv new-gdb-events.h gdb-events.h" 1>&2
-elif ! diff -c gdb-events.h new-gdb-events.h
-then
-  echo "gdb-events.h changed? cp new-gdb-events.h gdb-events.h" 1>&2
 fi
 
 
@@ -330,30 +334,34 @@ do
   case "${class}" in
     "*" ) continue ;;
     "?" )
-       echo ""
-       echo "int"
-       echo "${function}_event_p (${formal})"
-       echo "{"
-       echo "  return current_event_hooks->${function};"
-       echo "}"
-       echo ""
-       echo "${returntype}"
-       echo "${function}_event (${formal})"
-       echo "{"
-       echo "  return current_events->${function} (${actual});"
-       echo "}"
+cat <<EOF
+
+int
+${function}_event_p (${formal})
+{
+  return current_event_hooks->${function};
+}
+
+${returntype}
+${function}_event (${formal})
+{
+  return current_events->${function} (${actual});
+}
+EOF
        ;;
      "f" )
-       echo ""
-       echo "void"
-       echo "${function}_event (${formal})"
-       echo "{"
-       echo "  if (gdb_events_debug)"
-       echo "    fprintf_unfiltered (gdb_stdlog, \"${function}_event\\n\");"
-       echo "  if (!current_event_hooks->${function})"
-       echo "    return;"
-       echo "  current_event_hooks->${function} (${actual});"
-       echo "}"
+cat <<EOF
+
+void
+${function}_event (${formal})
+{
+  if (gdb_events_debug)
+    fprintf_unfiltered (gdb_stdlog, "${function}_event\n");
+  if (!current_event_hooks->${function})
+    return;
+  current_event_hooks->${function} (${actual});
+}
+EOF
        ;;
   esac
 done
@@ -412,11 +420,14 @@ function_list | while eval read $read
 do
   case "${class}" in
     "f" )
-      echo "struct ${function}"
-      echo "  {"
-      echo "    `echo ${formal} | tr '[,]' '[;]'`;"
-      echo "  };"
-      echo ""
+      if test ${actual}
+      then
+        echo "struct ${function}"
+        echo "  {"
+        echo "    `echo ${formal} | tr '[,]' '[;]'`;"
+        echo "  };"
+        echo ""
+      fi
       ;;
   esac
 done
@@ -434,7 +445,10 @@ function_list | while eval read $read
 do
   case "${class}" in
     "f" )
-      echo "        struct ${function} ${function};"
+      if test ${actual}
+      then
+        echo "        struct ${function} ${function};"
+      fi
       ;;
   esac
 done
@@ -471,7 +485,7 @@ do
       echo "{"
       echo "  struct event *event = XMALLOC (struct event);"
       echo "  event->type = ${function};"
-      for arg in `echo ${actual} | tr '[,]' '[ ]'`; do
+      for arg in `echo ${actual} | tr '[,]' '[:]' | tr -d '[ ]'`; do
         echo "  event->data.${function}.${arg} = ${arg};"
       done
       echo "  append (event);"
@@ -510,15 +524,20 @@ do
   case "${class}" in
     "f" )
       echo "        case ${function}:"
-      echo "          vector->${function}"
-      sep="            ("
-      ass=""
-      for arg in `echo ${actual} | tr '[,]' '[ ]'`; do
-        ass="${ass}${sep}event->data.${function}.${arg}"
-       sep=",
-             "
-      done
-      echo "${ass});"
+      if test ${actual}
+      then
+        echo "          vector->${function}"
+        sep="            ("
+        ass=""
+        for arg in `echo ${actual} | tr '[,]' '[:]' | tr -d '[ ]'`; do
+          ass="${ass}${sep}event->data.${function}.${arg}"
+         sep=",
+               "
+        done
+        echo "${ass});"
+      else
+        echo "          vector->${function} ();"
+      fi
       echo "          break;"
       ;;
   esac
@@ -576,10 +595,13 @@ sed < new-gdb-events.c > tmp-gdb-events.c \
     -e 's/\(   \)*        /\1  /g'
 mv tmp-gdb-events.c new-gdb-events.c
 # Move if changed?
-if test -r gdb-events.c
+if test -r gdb-events.c
 then
+  diff -c gdb-events.c new-gdb-events.c
+  if [ $? = 1 ]
+  then
+    echo "gdb-events.c changed? cp new-gdb-events.c gdb-events.c" 1>&2
+  fi
+else
   echo "File missing? mv new-gdb-events.c gdb-events.c" 1>&2
-elif ! diff -c gdb-events.c new-gdb-events.c
-then
-  echo "gdb-events.c changed? cp new-gdb-events.c gdb-events.c" 1>&2
 fi
This page took 0.025016 seconds and 4 git commands to generate.