Commit 71158d7e by Arnaud Charlet

[multiple changes]

2010-06-14  Pascal Obry  <obry@adacore.com>

	* prj-proc.adb: Fix copy of object directory for extending projects.

2010-06-14  Jose Ruiz  <ruiz@adacore.com>

	* init.c (__gnat_alternate_stack): Define this space for PowerPC linux
	(__gnat_install_handler, PowerPC linux): Activate the alternative
	signal stack.

From-SVN: r160708
parent ce71b410
2010-06-14 Pascal Obry <obry@adacore.com>
* prj-proc.adb: Fix copy of object directory for extending projects.
2010-06-14 Jose Ruiz <ruiz@adacore.com>
* init.c (__gnat_alternate_stack): Define this space for PowerPC linux
(__gnat_install_handler, PowerPC linux): Activate the alternative
signal stack.
2010-06-13 Gerald Pfeifer <gerald@pfeifer.com>
* gnat_rm.texi: Move to GFDL version 1.3.
......
......@@ -706,7 +706,7 @@ __gnat_error_handler (int sig,
Raise_From_Signal_Handler (exception, msg);
}
#if defined (i386) || defined (__x86_64__)
#if defined (i386) || defined (__x86_64__) || defined (__powerpc__)
/* This must be in keeping with System.OS_Interface.Alternate_Stack_Size. */
char __gnat_alternate_stack[16 * 1024]; /* 2 * SIGSTKSZ */
#endif
......@@ -747,7 +747,7 @@ __gnat_install_handler (void)
handled properly, avoiding a SEGV generation from stack usage by the
handler itself. */
#if defined (i386) || defined (__x86_64__)
#if defined (i386) || defined (__x86_64__) || defined (__powerpc__)
stack_t stack;
stack.ss_sp = __gnat_alternate_stack;
stack.ss_size = sizeof (__gnat_alternate_stack);
......@@ -768,7 +768,7 @@ __gnat_install_handler (void)
sigaction (SIGILL, &act, NULL);
if (__gnat_get_interrupt_state (SIGBUS) != 's')
sigaction (SIGBUS, &act, NULL);
#if defined (i386) || defined (__x86_64__)
#if defined (i386) || defined (__x86_64__) || defined (__powerpc__)
act.sa_flags |= SA_ONSTACK;
#endif
if (__gnat_get_interrupt_state (SIGSEGV) != 's')
......
......@@ -2274,13 +2274,13 @@ package body Prj.Proc is
Is_Extending_All (From_Project_Node, From_Project_Node_Tree)
then
declare
Object_Dir : constant Path_Name_Type :=
Project.Object_Directory.Name;
Object_Dir : constant Path_Information :=
Project.Object_Directory;
begin
Prj := In_Tree.Projects;
while Prj /= null loop
if Prj.Project.Virtual then
Prj.Project.Object_Directory.Name := Object_Dir;
Prj.Project.Object_Directory := Object_Dir;
end if;
Prj := Prj.Next;
end loop;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment