/* From infcmd.c */
+/* Initial inferior setup. Determines the exec file is not yet known,
+ takes any necessary post-attaching actions, fetches the target
+ description and syncs the shared library list. */
+
+extern void setup_inferior (int from_tty);
+
extern void post_create_inferior (struct target_ops *, int);
extern void attach_command (char *, int);
extern void notice_new_inferior (ptid_t, int, int);
-struct dummy_frame_context_saver;
-extern struct value *get_return_value
- (struct value *function, struct type *value_type,
- struct dummy_frame_context_saver *ctx_saver);
+extern struct value *get_return_value (struct value *function,
+ struct type *value_type);
/* Prepare for execution command. TARGET is the target that will run
the command. BACKGROUND determines whether this is a foreground
specific thread, see `struct thread_info'. */
struct continuation *continuations;
+ /* True if setup_inferior wasn't called for this inferior yet.
+ Until that is done, we must not access inferior memory or
+ registers, as we haven't determined the target
+ architecture/description. */
+ int needs_setup;
+
/* Private data used by the target vector implementation. */
struct private_inferior *priv;