mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-10-18 21:34:13 +08:00
* infcmd.c (attach_command): Call CLEAR_SOLIB if available.
This commit is contained in:
@ -1,3 +1,7 @@
|
|||||||
|
2005-01-17 Corinna Vinschen <vinschen@redhat.com>
|
||||||
|
|
||||||
|
* infcmd.c (attach_command): Call CLEAR_SOLIB if available.
|
||||||
|
|
||||||
2005-01-17 Andrew Cagney <cagney@gnu.org>
|
2005-01-17 Andrew Cagney <cagney@gnu.org>
|
||||||
|
|
||||||
* top.h (source_error, source_pre_error): Delete declaration.
|
* top.h (source_error, source_pre_error): Delete declaration.
|
||||||
|
20
gdb/infcmd.c
20
gdb/infcmd.c
@ -1776,6 +1776,26 @@ attach_command (char *args, int from_tty)
|
|||||||
error ("Not killed.");
|
error ("Not killed.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 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 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
|
||||||
|
*/
|
||||||
|
#ifdef CLEAR_SOLIB
|
||||||
|
CLEAR_SOLIB ();
|
||||||
|
#endif
|
||||||
|
|
||||||
target_attach (args, from_tty);
|
target_attach (args, from_tty);
|
||||||
|
|
||||||
/* Set up the "saved terminal modes" of the inferior
|
/* Set up the "saved terminal modes" of the inferior
|
||||||
|
Reference in New Issue
Block a user