Avoid crash in print_ada_task_info
authorTom Tromey <tromey@adacore.com>
Thu, 21 Nov 2019 16:05:10 +0000 (09:05 -0700)
committerTom Tromey <tromey@adacore.com>
Fri, 22 Nov 2019 22:11:57 +0000 (15:11 -0700)
commitc83d8d32c9b3379a39c434fcaa9f304b6e4432ca
tree742c0a8d8eb8628814acb573f5ee605a8c8b216e
parent987012b89bce7f6385ed88585547f852a8005a3f
Avoid crash in print_ada_task_info

In MI mode, print_ada_task_info can crash in find_thread_ptid when
trying to print an Ada task that is no longer alive.  This patch
avoids the problem by checking for this case.

Because this is Ada-specific, and because Joel approved it internally,
I am checking it in.

gdb/ChangeLog
2019-11-22  Tom Tromey  <tromey@adacore.com>

* ada-tasks.c (ada_task_is_alive): Make parameter const.
(print_ada_task_info): Don't try to fetch thread id if task is not
alive.

gdb/gdbserver/ChangeLog
2019-11-22  Tom Tromey  <tromey@adacore.com>

* gdb.ada/tasks.exp: Add -ada-task-info regression test.
* gdb.ada/tasks/foo.adb: Add another stopping location.

Change-Id: If25eae6507eebb7537eb8adbcbaa1fc1eec88f5c
gdb/ChangeLog
gdb/ada-tasks.c
gdb/gdbserver/ChangeLog
gdb/testsuite/gdb.ada/tasks.exp
gdb/testsuite/gdb.ada/tasks/foo.adb