diff options
author | Ulrich Weigand <uweigand@de.ibm.com> | 2007-04-27 13:23:47 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@de.ibm.com> | 2007-04-27 13:23:47 +0000 |
commit | 1f480a5e28ef0f10bb3236b5088a14346e7b9b20 (patch) | |
tree | 6c580792a2372b7cf66c130605c9a719a2322205 | |
parent | 037a727e3d7574f797adebad86e3eb8e37899be4 (diff) | |
download | gdb-1f480a5e28ef0f10bb3236b5088a14346e7b9b20.zip gdb-1f480a5e28ef0f10bb3236b5088a14346e7b9b20.tar.gz gdb-1f480a5e28ef0f10bb3236b5088a14346e7b9b20.tar.bz2 |
* config/rs6000/nm-rs6000.h (TARGET_CREATE_INFERIOR_HOOK): Remove.
* fork-child.c (fork_inferior): Don't call TARGET_CREATE_INFERIOR_HOOK.
* rs6000-nat.c (super_create_inferior): New variable.
(rs6000_create_inferior): Make static. Adapt argument list. Call
original version of create_inferior via super_create_inferior.
(_initialize_core_rs6000): Install to_create_inferior target method.
-rw-r--r-- | gdb/ChangeLog | 9 | ||||
-rw-r--r-- | gdb/config/rs6000/nm-rs6000.h | 5 | ||||
-rw-r--r-- | gdb/fork-child.c | 5 | ||||
-rw-r--r-- | gdb/rs6000-nat.c | 12 | ||||
-rw-r--r-- | gdb/target.h | 6 |
5 files changed, 19 insertions, 18 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index b8e256c..2abe05d 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,14 @@ 2007-04-27 Ulrich Weigand <uweigand@de.ibm.com> + * config/rs6000/nm-rs6000.h (TARGET_CREATE_INFERIOR_HOOK): Remove. + * fork-child.c (fork_inferior): Don't call TARGET_CREATE_INFERIOR_HOOK. + * rs6000-nat.c (super_create_inferior): New variable. + (rs6000_create_inferior): Make static. Adapt argument list. Call + original version of create_inferior via super_create_inferior. + (_initialize_core_rs6000): Install to_create_inferior target method. + +2007-04-27 Ulrich Weigand <uweigand@de.ibm.com> + * aix-thread.c (aix_thread_xfer_memory): Replace by ... (aix_thread_xfer_partial): ... this. (init_aix_thread_ops): Install to_xfer_partial instead diff --git a/gdb/config/rs6000/nm-rs6000.h b/gdb/config/rs6000/nm-rs6000.h index 9690491..2d8542b 100644 --- a/gdb/config/rs6000/nm-rs6000.h +++ b/gdb/config/rs6000/nm-rs6000.h @@ -64,8 +64,3 @@ extern char *xcoff_solib_address (CORE_ADDR); /* A normal waitstatus. Let the usual macros deal with it. */ \ 0) -/* Notice when a new child process is started. */ - -#define TARGET_CREATE_INFERIOR_HOOK rs6000_create_inferior -extern void rs6000_create_inferior (int); - diff --git a/gdb/fork-child.c b/gdb/fork-child.c index 9a193cd..37fe927 100644 --- a/gdb/fork-child.c +++ b/gdb/fork-child.c @@ -398,11 +398,6 @@ fork_inferior (char *exec_file_arg, char *allargs, char **env, /* We are now in the child process of interest, having exec'd the correct program, and are poised at the first instruction of the new program. */ - - /* Allow target dependent code to play with the new process. This - might be used to have target-specific code initialize a variable - in the new process prior to executing the first instruction. */ - TARGET_CREATE_INFERIOR_HOOK (pid); } /* Accept NTRAPS traps from the inferior. */ diff --git a/gdb/rs6000-nat.c b/gdb/rs6000-nat.c index 986f9a0..365463a 100644 --- a/gdb/rs6000-nat.c +++ b/gdb/rs6000-nat.c @@ -999,14 +999,18 @@ vmap_exec (void) /* Set the current architecture from the host running GDB. Called when starting a child process. */ -void -rs6000_create_inferior (int pid) +static void (*super_create_inferior) (char *exec_file, char *allargs, + char **env, int from_tty); +static void +rs6000_create_inferior (char *exec_file, char *allargs, char **env, int from_tty) { enum bfd_architecture arch; unsigned long mach; bfd abfd; struct gdbarch_info info; + super_create_inferior (exec_file, allargs, env, from_tty); + if (__power_rs ()) { arch = bfd_arch_rs6000; @@ -1250,6 +1254,10 @@ _initialize_core_rs6000 (void) t->to_fetch_registers = rs6000_fetch_inferior_registers; t->to_store_registers = rs6000_store_inferior_registers; t->to_xfer_partial = rs6000_xfer_partial; + + super_create_inferior = t->to_create_inferior; + t->to_create_inferior = rs6000_create_inferior; + add_target (t); /* Initialize hook in rs6000-tdep.c for determining the TOC address diff --git a/gdb/target.h b/gdb/target.h index d9f1ca1..2420b2e 100644 --- a/gdb/target.h +++ b/gdb/target.h @@ -1112,12 +1112,6 @@ extern void (*deprecated_target_new_objfile_hook) (struct objfile *); #define target_get_thread_local_address_p() \ (target_get_thread_local_address != NULL) -/* Hook to call target dependent code just after inferior target process has - started. */ - -#ifndef TARGET_CREATE_INFERIOR_HOOK -#define TARGET_CREATE_INFERIOR_HOOK(PID) -#endif /* Hardware watchpoint interfaces. */ |