1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
$NetBSD: patch-ac,v 1.1.1.1 1999/09/27 05:37:36 sakamoto Exp $
--- gc/gcconfig.h.orig Fri Jul 9 05:03:22 1999
+++ gc/gcconfig.h Tue Sep 21 08:46:36 1999
@@ -27,6 +27,12 @@
# define LINUX
# endif
+/* NetBSD no longer defines symbol unix */
+# if defined(__NetBSD__)
+# define NETBSD
+# define unix
+# endif
+
/* Determine the machine type: */
# if defined(sun) && defined(mc68000)
# define M68K
@@ -50,7 +56,10 @@
# endif
# if defined(__NetBSD__) && defined(m68k)
# define M68K
-# define NETBSD
+# define mach_type_known
+# endif
+# if defined(__NetBSD__) && defined(__powerpc__)
+# define POWERPC
# define mach_type_known
# endif
# if defined(vax)
@@ -106,11 +115,15 @@
# define mach_type_known
# endif
# if defined(sparc) && defined(unix) && !defined(sun) && !defined(linux) \
- && !defined(__OpenBSD__)
+ && !defined(__OpenBSD__) && !defined(__NetBSD__)
# define SPARC
# define DRSNX
# define mach_type_known
# endif
+# if defined(__NetBSD__) && defined(__sparc__)
+# define SPARC
+# define mach_type_known
+# endif
# if defined(_IBMR2)
# define RS6000
# define mach_type_known
@@ -154,7 +167,7 @@
# endif
# if defined(__alpha) || defined(__alpha__)
# define ALPHA
-# if !defined(LINUX)
+# if !defined(LINUX) && !defined(NETBSD)
# define OSF1 /* a.k.a Digital Unix */
# endif
# define mach_type_known
@@ -203,7 +216,6 @@
# endif
# if defined(__NetBSD__) && defined(i386)
# define I386
-# define NETBSD
# define mach_type_known
# endif
# if defined(bsdi) && defined(i386)
@@ -614,6 +626,7 @@
# define DYNAMIC_LOADING
# endif
# ifdef LINUX
+# define ALIGNMENT 2
# define OS_TYPE "LINUX"
# ifdef __ELF__
# define DATASTART GC_data_start
@@ -631,6 +644,19 @@
# define STACKBOTTOM ((ptr_t) 0xf8000000)
# define DATASTART ((ptr_t)(&etext))
# endif
+# ifdef NETBSD
+# define ALIGNMENT 4
+# define OS_TYPE "NETBSD"
+# define HEURISTIC2
+ extern char etext;
+# define DATASTART GC_data_start
+# define DYNAMIC_LOADING
+# endif
+# ifdef NETBSD
+# define OS_TYPE "NETBSD"
+# define HEURISTIC2
+# define DATASTART ((ptr_t)(&etext))
+# endif
# endif
# ifdef I386
@@ -917,6 +943,16 @@
# ifdef ALPHA
# define MACH_TYPE "ALPHA"
# define ALIGNMENT 8
+# ifdef NETBSD
+# define OS_TYPE "NETBSD"
+# define HEURISTIC2
+# define DATASTART GC_data_start
+# define ELFCLASS32 32
+# define ELFCLASS64 64
+# define ELF_CLASS ELFCLASS64
+# define CPP_WORDSZ 64
+# define DYNAMIC_LOADING
+# endif
# ifdef OSF1
# define OS_TYPE "OSF1"
# define DATASTART ((ptr_t) 0x140000000)
@@ -1088,7 +1124,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. */
|