aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2010-06-14 10:06:34 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2010-06-14 10:06:34 +0200
commit71158d7e6d3ce21ac0ef3b96a516073870178631 (patch)
treec63c0484219a240c529048c454d5cc7adf6dbe53
parentce71b410ae578bb9038c534989bb9324ff299c6b (diff)
downloadgcc-71158d7e6d3ce21ac0ef3b96a516073870178631.zip
gcc-71158d7e6d3ce21ac0ef3b96a516073870178631.tar.gz
gcc-71158d7e6d3ce21ac0ef3b96a516073870178631.tar.bz2
[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
-rw-r--r--gcc/ada/ChangeLog10
-rw-r--r--gcc/ada/init.c6
-rw-r--r--gcc/ada/prj-proc.adb6
3 files changed, 16 insertions, 6 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 2de22a1..fb03ead 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -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.
diff --git a/gcc/ada/init.c b/gcc/ada/init.c
index 28498c4..551bdf9 100644
--- a/gcc/ada/init.c
+++ b/gcc/ada/init.c
@@ -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')
diff --git a/gcc/ada/prj-proc.adb b/gcc/ada/prj-proc.adb
index 4984152..1120d5b 100644
--- a/gcc/ada/prj-proc.adb
+++ b/gcc/ada/prj-proc.adb
@@ -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;