gdb/gdb-6.3-bz182116-exec-from-pthread.patch
aoliva 753f5e6d3e - Backport support for i386 nop memory instructions.
- Fix debuginfo addresses resolving for --emit-relocs Linux kernels (BZ
    203661, from Jan Kratochvil, like the remaining changes).
- Bugfix segv on the source display by ^X 1 (fixes Patch130, BZ
200048).
- Do not step into the PPC solib trampolines (BZ 200533).
- Fix exec() from threaded program, partial CVS backport (BZ 182116).
- Fix occasional failure to load shared libraries (BZ 146810).
- Bugfix object names completion (fixes Patch116, BZ 193763).
- Avoid crash of 'info threads' if stale threads exist (BZ 195429).
- Handle corrupted or missing location list information (BZ 196439).
2006-08-24 06:18:06 +00:00

24 lines
845 B
Diff

https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=182116
Index: gdb-6.5/gdb/linux-thread-db.c
===================================================================
--- gdb-6.5.orig/gdb/linux-thread-db.c 2006-08-24 02:55:24.000000000 -0300
+++ gdb-6.5/gdb/linux-thread-db.c 2006-08-24 02:56:16.000000000 -0300
@@ -939,6 +939,15 @@ thread_db_wait (ptid_t ptid, struct targ
|| ourstatus->kind == TARGET_WAITKIND_SIGNALLED)
return pid_to_ptid (-1);
+ if (ourstatus->kind == TARGET_WAITKIND_EXECD)
+ {
+ remove_thread_event_breakpoints ();
+ unpush_target (&thread_db_ops);
+ using_thread_db = 0;
+
+ return pid_to_ptid (GET_PID (ptid));
+ }
+
if (ourstatus->kind == TARGET_WAITKIND_STOPPED
&& (ourstatus->value.sig == TARGET_SIGNAL_TRAP
|| ourstatus->value.sig == TARGET_SIGNAL_ILL))