This is the mail archive of the
gdb-cvs@sourceware.org
mailing list for the GDB project.
src/gdb ChangeLog ada-tasks.c ravenscar-thread.c
- From: brobecke at sourceware dot org
- To: gdb-cvs at sourceware dot org
- Date: 4 Jul 2011 19:32:07 -0000
- Subject: src/gdb ChangeLog ada-tasks.c ravenscar-thread.c
CVSROOT: /cvs/src
Module name: src
Changes by: brobecke@sourceware.org 2011-07-04 19:32:07
Modified files:
gdb : ChangeLog ada-tasks.c ravenscar-thread.c
Log message:
ada-tasks.c: handle known tasks maintained by a simply-linked list.
The mapping between Ada tasks, and the underlying threads is
normally maintained by the GNAT runtime under the known_tasks
array. For performance reasons, this array is just a static
array with 10_000 entries in it. However, this is not very
practical in certain environments where memory is limited.
For those environments, the runtime has been enhanced to use
an alternate scheme with a linked list.
This change enhances the Ada tasking support to recognize this
situation and use the correct way of reading the tasks info
based on the the situation.
gdb/ChangeLog (Tristan Gingold)
* ada-tasks.c (KNOWN_TASKS_LIST): New macro.
(tcb_fieldno): Add activation_link field.
(get_known_tasks_addr): Moved and rewritten.
(get_tcb_types_info): Set activation_link field.
(read_known_tasks_array): Add parameter. Rewritten.
(read_known_tasks_list): New function.
(read_known_tasks): New function.
(ada_build_task_list): Call read_known_tasks instead of
read_known_tasks_array.
* ravenscar-thread.c: Add first_task_name constant.
(has_ravenscar_runtime): Check for task list too.
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/ChangeLog.diff?cvsroot=src&r1=1.13163&r2=1.13164
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/ada-tasks.c.diff?cvsroot=src&r1=1.38&r2=1.39
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/ravenscar-thread.c.diff?cvsroot=src&r1=1.6&r2=1.7