Author: mizhka Date: Mon Oct 2 20:33:16 2017 New Revision: 324219 URL: https://svnweb.freebsd.org/changeset/base/324219
Log: [libthr] revert change of visibility of _thread_keytable to unbreak debugger Fix regression by r318539. The sysutils/pstack uses library libthread_db to read information about threads state. The function pt_ta_new makes lookup of several key symbols including _thread_keytable. But r318539 mades this field static. It causes silent ignore of libthr library by pstack and as result sysutils/pstack doesn't output any thread information. This fix changes this field back to non-static. MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D11738 Modified: head/lib/libthr/thread/thr_private.h head/lib/libthr/thread/thr_spec.c Modified: head/lib/libthr/thread/thr_private.h ============================================================================== --- head/lib/libthr/thread/thr_private.h Mon Oct 2 20:02:25 2017 (r324218) +++ head/lib/libthr/thread/thr_private.h Mon Oct 2 20:33:16 2017 (r324219) @@ -719,6 +719,8 @@ extern char *_usrstack __hidden; extern int _libthr_debug; extern int _thread_event_mask; extern struct pthread *_thread_last_event; +/* Used in symbol lookup of libthread_db */ +extern struct pthread_key _thread_keytable[]; /* List of all threads: */ extern pthreadlist _thread_list; Modified: head/lib/libthr/thread/thr_spec.c ============================================================================== --- head/lib/libthr/thread/thr_spec.c Mon Oct 2 20:02:25 2017 (r324218) +++ head/lib/libthr/thread/thr_spec.c Mon Oct 2 20:33:16 2017 (r324219) @@ -42,7 +42,8 @@ __FBSDID("$FreeBSD$"); #include "thr_private.h" -static struct pthread_key _thread_keytable[PTHREAD_KEYS_MAX]; +/* Used in symbol lookup of libthread_db */ +struct pthread_key _thread_keytable[PTHREAD_KEYS_MAX]; __weak_reference(_pthread_key_create, pthread_key_create); __weak_reference(_pthread_key_delete, pthread_key_delete); _______________________________________________ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"