X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fgdb-events.sh;h=458e4b60b9c34bd60ca71e376875674c29721e0b;hb=b0f5c6f2c52033da1e578398e7bf3cc61315b780;hp=3e4a01bf9b99bedd38e416d287b9494c190389ac;hpb=27e232885db363fb545fd2f450e72d929e59b8f6;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/gdb-events.sh b/gdb/gdb-events.sh index 3e4a01bf9b..458e4b60b9 100755 --- a/gdb/gdb-events.sh +++ b/gdb/gdb-events.sh @@ -1,7 +1,7 @@ #!/bin/sh # User Interface Events. -# Copyright 1999-2000 Free Software Foundation, Inc. +# Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc. # # Contributed by Cygnus Solutions. # @@ -34,7 +34,7 @@ # here with respect to annotate. We might need to accomodate a hook # stack that allows several ui blocks to install their own events. -# Each of the variable events (as currently generated) is converteded +# Each of the variable events (as currently generated) is converted # to either a straight function call or a function call with a # predicate. @@ -61,6 +61,13 @@ function_list () f:void:breakpoint_create:int b:b f:void:breakpoint_delete:int b:b 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 +f:void:target_changed:void +f:void:selected_frame_level_changed:int level:level +f:void:selected_thread_changed:int thread_num:thread_num #*:void:annotate_starting_hook:void #*:void:annotate_stopped_hook:void #*:void:annotate_signalled_hook:void @@ -83,9 +90,6 @@ f:void:breakpoint_modify:int b:b #*:void:readline_begin_hook:char *format, ...:format #*:char *:readline_hook:char *prompt:prompt #*:void:readline_end_hook:void -#*:void:register_changed_hook:int regno:regno -#*:void:memory_changed_hook:CORE_ADDR addr, int len:addr, len -#*:void:context_hook:int num:num #*:int:target_wait_hook:int pid, struct target_waitstatus *status:pid, status #*:void:call_command_hook:struct cmd_list_element *c, char *cmd, int from_tty:c, cmd, from_tty #*:NORETURN void:error_hook:void:: ATTR_NORETURN @@ -109,7 +113,8 @@ copyright () { cat <&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 @@ -296,9 +307,6 @@ cat <${function};" - echo "}" - echo "" - echo "${returntype}" - echo "${function}_event (${formal})" - echo "{" - echo " return current_events->${function} (${actual});" - echo "}" +cat <${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 <${function}) + return; + current_event_hooks->${function} (${actual}); +} +EOF ;; esac done @@ -384,6 +396,18 @@ cat <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);" @@ -488,7 +518,7 @@ gdb_events_deliver (struct gdb_events *vector) { struct event *event = delivering_events; delivering_events = event->next; - free (event); + xfree (event); } /* Process any pending events. Because one of the deliveries could bail out we move everything off of the pending queue onto an @@ -507,15 +537,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 @@ -523,7 +558,7 @@ done cat <next; - free (event); + xfree (event); } } EOF @@ -573,10 +608,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