* gdb/remote.c (remote_open_1): Do preopen tasks before
irreversably destroying state.
diff --git a/ChangeLog.csl b/ChangeLog.csl
index 4c6cab0..56983a3 100644
--- a/ChangeLog.csl
+++ b/ChangeLog.csl
@@ -1,5 +1,8 @@
2006-06-08 Nathan Sidwell <nathan@codesourcery.com>
+ * gdb/remote.c (remote_open_1): Do preopen tasks before
+ irreversably destroying state.
+
* gdb/m68k-tdep.c (m68k_svr4_extract_return_value): Use
tdep->ptr_value_regnum for pointer returns.
(m68k_svr4_store_return_value): Likewise.
diff --git a/gdb/remote.c b/gdb/remote.c
index 599bb21..131df89 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -2178,15 +2178,15 @@
if (!async_p)
wait_forever_enabled_p = 1;
+ target_preopen (from_tty);
+
+ unpush_target (target);
+
remote_fileio_reset ();
reopen_exec_file ();
reread_symbols ();
- target_preopen (from_tty);
-
- unpush_target (target);
-
remote_desc = remote_serial_open (name);
if (!remote_desc)
perror_with_name (name);