(target_pre_inferior): Call no_shared_libraries.
* infcmd.c (run_command_1): Do not call objfile_purge_solibs
or clear_solib.
(attach_command): Do not call clear_solib.
+2008-08-09 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * target.c: Include "solib.h".
+ (target_pre_inferior): Call no_shared_libraries.
+ * infcmd.c (run_command_1): Do not call objfile_purge_solibs
+ or clear_solib.
+ (attach_command): Do not call clear_solib.
+
2008-08-09 Mark Kettenis <kettenis@gnu.org>
* i386obsd-nat.c (i386obsd_supply_pcb): Supply the right bytes for
this function should probably be moved into target_pre_inferior. */
target_pre_inferior (from_tty);
- /* Purge old solib objfiles. */
- objfile_purge_solibs ();
-
- clear_solib ();
-
/* The comment here used to read, "The exec file is re-read every
time we do a generic_mourn_inferior, so we just have to worry
about the symbol file." The `generic_mourn_inferior' function
this function should probably be moved into target_pre_inferior. */
target_pre_inferior (from_tty);
- /* Clear out solib state. Otherwise the solib state of the previous
- inferior might have survived and is entirely wrong for the new
- target. This has been observed on GNU/Linux using glibc 2.3. How
- to reproduce:
-
- bash$ ./foo&
- [1] 4711
- bash$ ./foo&
- [1] 4712
- bash$ gdb ./foo
- [...]
- (gdb) attach 4711
- (gdb) detach
- (gdb) attach 4712
- Cannot access memory at address 0xdeadbeef
- */
- clear_solib ();
-
if (args)
{
async_exec = strip_bg_char (&args);
#include "exceptions.h"
#include "target-descriptions.h"
#include "gdbthread.h"
+#include "solib.h"
static void target_info (char *, int);
void
target_pre_inferior (int from_tty)
{
+ /* Clear out solib state. Otherwise the solib state of the previous
+ inferior might have survived and is entirely wrong for the new
+ target. This has been observed on GNU/Linux using glibc 2.3. How
+ to reproduce:
+
+ bash$ ./foo&
+ [1] 4711
+ bash$ ./foo&
+ [1] 4712
+ bash$ gdb ./foo
+ [...]
+ (gdb) attach 4711
+ (gdb) detach
+ (gdb) attach 4712
+ Cannot access memory at address 0xdeadbeef
+ */
+ no_shared_libraries (NULL, from_tty);
+
invalidate_target_mem_regions ();
target_clear_description ();