]> granicus.if.org Git - gc/commitdiff
2009-05-18 Miguel de Icaza <miguel@novell.com>
authorMiguel de Icaza <miguel@gnome.org>
Tue, 19 May 2009 00:09:19 +0000 (00:09 +0000)
committerguest <ivmai@mail.ru>
Fri, 29 Jul 2011 11:31:21 +0000 (15:31 +0400)
       * include/private/gcconfig.h: Add support for Linux on the PS3

svn path=/trunk/mono/; revision=134354

ChangeLog
include/private/gcconfig.h
os_dep.c

index 32553f198d1795eda9b1e5cf8fd76c2790a43fbf..a54c000551c097f017825610e7fee3ca7e0e3347 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2009-05-18  Miguel de Icaza  <miguel@novell.com>
+
+       * include/private/gcconfig.h: Add support for Linux on the PS3
+
 2009-04-28  Zoltan Varga  <vargaz@gmail.com>
 
        * misc.c (GC_init): Avoid casting an lvalue. Fixes part of #498692.
index 519f831229d20b54c2defb19d6a396512e3d45ed..58bbb525917de1f9943d73db8120e6f9e8094832 100644 (file)
 #     define STACKBOTTOM ((ptr_t) LMGetCurStackBase())
 #     define DATAEND  /* not needed */
 #   endif
+\r
 #   ifdef LINUX
 #     if defined(__powerpc64__)
 #       define ALIGNMENT 8
 #     define DATASTART GC_data_start
 #     define DYNAMIC_LOADING
 #   endif
+#   ifdef SN_TARGET_PS3\r
+#       define NO_GETENV\r
+#       define CPP_WORDSZ 32\r
+#       define ALIGNMENT 4\r
+        extern int _end [];\r
+//       extern int _dso_handle[];\r
+               extern int __bss;\r
+\r
+#       define DATAEND (_end)\r
+#       define DATASTART (__bss)\r
+#       define HEURISTIC2\r
+#       define USE_GENERIC_PUSHREGS\r
+#   endif\r
+\r
 #   ifdef NOSYS
 #     define ALIGNMENT 4
 #     define OS_TYPE "NOSYS"
                          GC_amiga_get_mem((size_t)bytes + GC_page_size) \
                          + GC_page_size-1)
 #            else
+#           if defined(SN_TARGET_PS3)\r
+                  extern void *ps3_get_mem (size_t size);\r
+#              define GET_MEM(bytes) (struct hblk*) ps3_get_mem (bytes)\r
+#           else\r
                extern ptr_t GC_unix_get_mem();
 #               define GET_MEM(bytes) (struct hblk *)GC_unix_get_mem(bytes)
+#endif\r
 #            endif
 #          endif
 #        endif
index 83b166c44a9c9d8e8f18bf3c3bdad194f9094263..5017bdc5e8aa1492f194d93e9fbd43acfbe2e59b 100644 (file)
--- a/os_dep.c
+++ b/os_dep.c
@@ -54,7 +54,7 @@
 # endif
 
 # include <stdio.h>
-# if defined(MSWINCE)
+# if defined(MSWINCE) || defined (SN_TARGET_PS3)
 #   define SIGSEGV 0 /* value is irrelevant */
 # else
 #   include <signal.h>
@@ -511,7 +511,7 @@ void GC_enable_signals(void)
 #  if !defined(PCR) && !defined(AMIGA) && !defined(MSWIN32) \
       && !defined(MSWINCE) \
       && !defined(MACOS) && !defined(DJGPP) && !defined(DOS4GW) \
-      && !defined(NOSYS) && !defined(ECOS)
+      && !defined(NOSYS) && !defined(ECOS) && !defined(SN_TARGET_PS3)
 
 #   if defined(sigmask) && !defined(UTS4) && !defined(HURD)
        /* Use the traditional BSD interface */