2010-06-14 Pascal Obry <obry@adacore.com>
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 14 Jun 2010 08:06:34 +0000 (08:06 +0000)
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 14 Jun 2010 08:06:34 +0000 (08:06 +0000)
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160708 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ada/ChangeLog
gcc/ada/init.c
gcc/ada/prj-proc.adb

index 2de22a1..fb03ead 100644 (file)
@@ -1,3 +1,13 @@
+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.
index 28498c4..551bdf9 100644 (file)
@@ -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')
index 4984152..1120d5b 100644 (file)
@@ -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;