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] improve stack checking on vxworks


Manually tested on i586-vxworks,
tested on i686-linux, committed on trunk.

The routine __gnat_get_stack_info is used by VxWorks targets to have access
to task-specific data and be able to extract the stack boundaries for stack
checking. It uses taskInfoGet (not present in all VxWorks kernels) and we
were dragging a dependency on this symbol even when stack checking was not
enabled. Moving this routine to a different standalone file ensures that the
routine (and hence the taskInfoGet VxWorks routine) are only used when stack
checking is enabled.

2007-10-15  Vasiliy Fofanov  <fofanov@adacore.com>
	    Jose Ruiz  <ruiz@adacore.com>

	* vx_stack_info.c: New file.

	* i-forbla-unimplemented.ads: New file.

	* Makefile.in: i-forbla-unimplemented.ads: a variant of i-forbla.ads
	for unsupported configurations; use it on VMS targets instead of the
	real one.
	(EXTRA_LIBGNAT_SRCS,EXTRA_LIBGNAT_OBJS for VxWorks): Include
	vx_stack_info.{c,o} that contains the routine __gnat_get_stack_info
	used by VxWorks targets to have access to task-specific data and be
	able to extract the stack boundaries for stack checking.
	Use system-vms-ia64.ads on ivms.

	* Make-lang.in: Update dependencies.

	* sysdep.c (__gnat_get_stack_info): Move to a standalone file
	(vx_stack_info.c).

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]