This is the mail archive of the gdb-testers@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] Fix assertion failure in linux-thread-db


*** TEST RESULTS FOR COMMIT e0fd7c47bd01e0a6eecf5dec4a4be958f8b3bbc8 ***

Author: Ulrich Weigand <ulrich.weigand@de.ibm.com>
Branch: master
Commit: e0fd7c47bd01e0a6eecf5dec4a4be958f8b3bbc8

Fix assertion failure in linux-thread-db

Since we are no longer using thread events by default in linux-thread-db,
the find_new_threads_once routine contains an assertion that it should
never be called on a live inferior unless using thread events:
  gdb_assert (!target_has_execution || thread_db_use_events ());

However, there is a code path from thread_db_get_thread_local_address
that will in fact call find_new_threads_once in some scenarios.  In
particular, this is currently always triggered when starting up any
Cell/B.E. combined exeuctable.

To fix this, this patch removes the call to thread_db_find_new_threads_1
when the current thread was not yet detected.  In its place, we now just
call thread_from_lwp to detect this one thread if necessary.

ChangeLog:

	* linux-thread-db.c (thread_db_get_thread_local_address): If the
	thread was not yet discovered, use thread_from_lwp instead of
	calling thread_db_find_new_threads_1.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]