summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2008-07-21 16:47:11 +0000
committerTom Tromey <tromey@redhat.com>2008-07-21 16:47:11 +0000
commit1698a906a2c14590f966fc5472ab18e47fb5eaee (patch)
tree4b315d23cc421077369d54f2c9faeaee2e516491
parent6d3564d709d68aeaf68ccc711e45c970e5a0cce8 (diff)
downloadgdb-1698a906a2c14590f966fc5472ab18e47fb5eaee.tar.gz
gdb
* symfile.c (reread_symbols): Don't pass argument to observer. * exec.c (exec_file_attach): Don't pass argument to observer. * ada-lang.c (ada_executable_changed_observer): Remove argument. * symtab.c (symtab_observer_executable_changed): Remove argument. * observer.sh: Handle functions with no arguments. gdb/doc * observer.texi (GDB Observers): Remove obsolete comment. <executable_changed>: Remove argument.
-rw-r--r--gdb/ChangeLog8
-rw-r--r--gdb/ada-lang.c2
-rw-r--r--gdb/doc/ChangeLog5
-rw-r--r--gdb/doc/observer.texi5
-rw-r--r--gdb/exec.c2
-rwxr-xr-xgdb/observer.sh15
-rw-r--r--gdb/symfile.c2
-rw-r--r--gdb/symtab.c2
8 files changed, 33 insertions, 8 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 73c032ceec8..9bd9c8f1279 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,11 @@
+2008-07-21 Tom Tromey <tromey@redhat.com>
+
+ * symfile.c (reread_symbols): Don't pass argument to observer.
+ * exec.c (exec_file_attach): Don't pass argument to observer.
+ * ada-lang.c (ada_executable_changed_observer): Remove argument.
+ * symtab.c (symtab_observer_executable_changed): Remove argument.
+ * observer.sh: Handle functions with no arguments.
+
2008-07-20 Sergei Poselenov <sposelenov@emcraft.com>
Chris Demetriou <cgd@google.com>
diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
index 0eecd90aada..f3f1f349624 100644
--- a/gdb/ada-lang.c
+++ b/gdb/ada-lang.c
@@ -9769,7 +9769,7 @@ ada_exception_support_info_sniffer (void)
each time a new executable is loaded by GDB. */
static void
-ada_executable_changed_observer (void *unused)
+ada_executable_changed_observer (void)
{
/* If the executable changed, then it is possible that the Ada runtime
is different. So we need to invalidate the exception support info
diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog
index 3c6b66d3e14..5378fdb4675 100644
--- a/gdb/doc/ChangeLog
+++ b/gdb/doc/ChangeLog
@@ -1,3 +1,8 @@
+2008-07-21 Tom Tromey <tromey@redhat.com>
+
+ * observer.texi (GDB Observers): Remove obsolete comment.
+ <executable_changed>: Remove argument.
+
2008-07-18 Tom Tromey <tromey@redhat.com>
* gdb.texinfo (Macros): Update. Use @code rather than @command.
diff --git a/gdb/doc/observer.texi b/gdb/doc/observer.texi
index 7d4d808b25e..572f2370085 100644
--- a/gdb/doc/observer.texi
+++ b/gdb/doc/observer.texi
@@ -88,8 +88,6 @@ Send a notification to all @var{event} observers.
The following observable events are defined:
-@c note: all events must take at least one parameter.
-
@deftypefun void normal_stop (struct bpstats *@var{bs})
The inferior has stopped for real.
@end deftypefun
@@ -98,7 +96,7 @@ The inferior has stopped for real.
The target's register contents have changed.
@end deftypefun
-@deftypefun void executable_changed (void *@var{unused_args})
+@deftypefun void executable_changed (void)
The executable being debugged by GDB has changed: The user decided
to debug a different program, or the program he was debugging has
been modified since being loaded by the debugger (by being recompiled,
@@ -141,4 +139,3 @@ The thread specified by @var{t} has exited.
The target was resumed. The @var{ptid} parameter specifies which
thread was resume, and may be RESUME_ALL if all threads are resumed.
@end deftypefun
-
diff --git a/gdb/exec.c b/gdb/exec.c
index 0bfad94757c..ff944818235 100644
--- a/gdb/exec.c
+++ b/gdb/exec.c
@@ -275,7 +275,7 @@ exec_file_attach (char *filename, int from_tty)
(*deprecated_exec_file_display_hook) (filename);
}
bfd_cache_close_all ();
- observer_notify_executable_changed (NULL);
+ observer_notify_executable_changed ();
}
/* Process the first arg in ARGS as the new exec file.
diff --git a/gdb/observer.sh b/gdb/observer.sh
index 2b2eb159cca..af32b98b313 100755
--- a/gdb/observer.sh
+++ b/gdb/observer.sh
@@ -123,8 +123,14 @@ EOF
static struct observer_list *${event}_subject = NULL;
+EOF
+ if test "$formal" != "void"; then
+ cat<<EOF >>${otmp}
struct ${event}_args { `echo "${formal}" | sed -e 's/,/;/g'`; };
+EOF
+ fi
+ cat <<EOF >>${otmp}
static void
observer_${event}_notification_stub (const void *data, const void *args_data)
{
@@ -150,8 +156,17 @@ observer_detach_${event} (struct observer *observer)
void
observer_notify_${event} (${formal})
{
+EOF
+ if test "$formal" != "void"; then
+ cat<<EOF >>${otmp}
struct ${event}_args args;
`echo ${actual} | sed -e 's/\([a-z0-9_][a-z0-9_]*\)/args.\1 = \1/g'`;
+
+EOF
+ else
+ echo "char *args = NULL;" >> ${otmp}
+ fi
+ cat<<EOF >>${otmp}
if (observer_debug)
fprintf_unfiltered (gdb_stdlog, "observer_notify_${event}() called\n");
generic_observer_notify (${event}_subject, &args);
diff --git a/gdb/symfile.c b/gdb/symfile.c
index 12f17ac5bc2..1825641ccd1 100644
--- a/gdb/symfile.c
+++ b/gdb/symfile.c
@@ -2495,7 +2495,7 @@ reread_symbols (void)
clear_symtab_users ();
/* At least one objfile has changed, so we can consider that
the executable we're debugging has changed too. */
- observer_notify_executable_changed (NULL);
+ observer_notify_executable_changed ();
}
}
diff --git a/gdb/symtab.c b/gdb/symtab.c
index f676a0cc111..2ab520d515e 100644
--- a/gdb/symtab.c
+++ b/gdb/symtab.c
@@ -4325,7 +4325,7 @@ main_name (void)
/* Handle ``executable_changed'' events for the symtab module. */
static void
-symtab_observer_executable_changed (void *unused)
+symtab_observer_executable_changed (void)
{
/* NAME_OF_MAIN may no longer be the same, so reset it for now. */
set_main_name (NULL);