[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: w3m-990526
For sparc.
They are switching to ELF, though.
-- み
== patch-ac ==
--- gc/gcconfig.h.orig Wed May 19 17:38:55 1999
+++ gc/gcconfig.h Fri Jun 4 21:18:34 1999
@@ -48,6 +48,11 @@
# define NETBSD
# define mach_type_known
# endif
+# if defined(__NetBSD__) && defined(__powerpc__)
+# define POWERPC
+# define NETBSD
+# define mach_type_known
+# endif
# if defined(vax)
# define VAX
# ifdef ultrix
@@ -100,11 +105,16 @@
# endif
# define mach_type_known
# endif
-# if defined(sparc) && defined(unix) && !defined(sun) && !defined(linux)
+# if defined(sparc) && defined(unix) && !defined(sun) && !defined(linux) && !defined(__NetBSD__)
# define SPARC
# define DRSNX
# define mach_type_known
# endif
+# if defined(__NetBSD__) && defined(__sparc__)
+# define SPARC
+# define NETBSD
+# define mach_type_known
+# endif
# if defined(_IBMR2)
# define RS6000
# define mach_type_known
@@ -486,8 +496,8 @@
# ifdef POWERPC
# define MACH_TYPE "POWERPC"
-# define ALIGNMENT 2
# ifdef MACOS
+# define ALIGNMENT 2
# ifndef __LOWMEM__
# include <LowMem.h>
# endif
@@ -497,6 +507,7 @@
# define DATAEND /* not needed */
# endif
# ifdef LINUX
+# define ALIGNMENT 2
# define OS_TYPE "LINUX"
# define HEURISTIC1
# undef STACK_GRAN
@@ -505,6 +516,14 @@
extern int _end;
# define DATAEND (&_end)
# endif
+# ifdef NETBSD
+# define ALIGNMENT 4
+# define OS_TYPE "NETBSD"
+# define HEURISTIC2
+ extern char etext;
+# define DATASTART GC_data_start
+# define DYNAMIC_LOADING
+# endif
# endif
# ifdef VAX
@@ -603,6 +622,11 @@
# define SVR4
# define STACKBOTTOM ((ptr_t) 0xf0000000)
# endif
+# ifdef NETBSD
+# define OS_TYPE "NETBSD"
+# define HEURISTIC2
+# define DATASTART ((ptr_t)(&etext))
+# endif
# endif
# ifdef I386
@@ -1052,7 +1076,7 @@
/* Use setjmp based hack to mark from callee-save registers. */
# define USE_GENERIC_PUSH_REGS
# endif
-# if defined(SPARC) && !defined(LINUX)
+# if defined(SPARC) && !defined(LINUX) && !defined(NETBSD)
# define SAVE_CALL_CHAIN
# define ASM_CLEAR_CODE /* Stack clearing is crucial, and we */
/* include assembly code to do it well. */
== patch-ae ==
--- gc/os_dep.c.orig Wed May 19 17:38:53 1999
+++ gc/os_dep.c Fri Jun 4 21:19:06 1999
@@ -84,6 +84,19 @@
# include <machine/trap.h>
#endif
+#if defined(NETBSD) && defined(POWERPC)
+ ptr_t GC_data_start;
+
+ void GC_init_netbsd_powerpc()
+ {
+ extern ptr_t GC_find_limit();
+ extern char **environ;
+ /* This may need to be environ, without the underscore, for */
+ /* some versions. */
+ GC_data_start = GC_find_limit((ptr_t)&environ, FALSE);
+ }
+#endif
+
#ifdef AMIGA
# include <proto/exec.h>
# include <proto/dos.h>
@@ -2234,7 +2247,7 @@
* Call stack save code for debugging.
* Should probably be in mach_dep.c, but that requires reorganization.
*/
-#if defined(SPARC) && !defined(LINUX)
+#if defined(SPARC) && !defined(LINUX) && !defined(NETBSD)
# if defined(SUNOS4)
# include <machine/frame.h>
# else
- References:
- w3m-990526
- From: SUNAGAWA Keiki <kei_sun@ba2.so-net.ne.jp>