This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC 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]

[Ada] fix task support for vxworks 6 rtp in debugger


Tested on i686-linux, committed on trunk.

Ada task support in the debugger was not working with RTPs on VxWorks 6. It
was because task Ids stored in the Ada Task Control Block (ATCB) are different
from task Ids reported by external tools (e.g. windsh and the debugger).
Object Ids, including task Ids, are actually opaque "handles" on the user side,
which means that a task Id on the user side does not correspond to the task Id
of this task on the kernel side. These handles do not directly correspond to
the Ids used on the kernel (which are actually addresses).
This problem has been fixed by means of storing task Ids used by the kernel in
a different field within the ATCB (called LWP); this is the field that will be
later retrieved by the debugger.

2006-10-31  Jose Ruiz  <ruiz@adacore.com>

	* s-osinte-vxworks.ads, s-osinte-vxworks.adb: 
	(getpid): New body for this function that uses the underlying taskIdSelf
	function for VxWorks 5 and VxWorks 6 in kernel mode.
	(unsigned_int): New type, modular to allow logical bit operations.
	(taskOptionsGet): New imported function.

	* s-taspri-vxworks.ads (Private_Data): Change the type for the LWP
	field to be compliant with the type used by the corresponding operating
	system primitive.

Attachment: difs
Description: Text document


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