Lines 1-5
Link Here
|
1 |
--- ./include/private/gcconfig.h.orig |
1 |
--- include/private/gcconfig.h.orig 2014-06-03 06:08:02 UTC |
2 |
+++ ./include/private/gcconfig.h |
2 |
+++ include/private/gcconfig.h |
|
|
3 |
@@ -97,7 +97,7 @@ |
4 |
# endif |
5 |
# if defined(__aarch64__) |
6 |
# define AARCH64 |
7 |
-# if !defined(LINUX) |
8 |
+# if !defined(LINUX) && !defined(FREEBSD) |
9 |
# define NOSYS |
10 |
# define mach_type_known |
11 |
# endif |
3 |
@@ -169,7 +169,7 @@ |
12 |
@@ -169,7 +169,7 @@ |
4 |
# define EWS4800 |
13 |
# define EWS4800 |
5 |
# endif |
14 |
# endif |
Lines 9-15
Link Here
|
9 |
# if defined(ultrix) || defined(__ultrix) |
18 |
# if defined(ultrix) || defined(__ultrix) |
10 |
# define ULTRIX |
19 |
# define ULTRIX |
11 |
# else |
20 |
# else |
12 |
@@ -1647,6 +1647,26 @@ |
21 |
@@ -402,6 +402,10 @@ |
|
|
22 |
# define I386 |
23 |
# define mach_type_known |
24 |
# endif |
25 |
+# if defined(FREEBSD) && defined(__aarch64__) |
26 |
+# define AARCH64 |
27 |
+# define mach_type_known |
28 |
+# endif |
29 |
# if defined(FREEBSD) && (defined(__amd64__) || defined(__x86_64__)) |
30 |
# define X86_64 |
31 |
# define mach_type_known |
32 |
@@ -1647,6 +1651,26 @@ |
13 |
# define DATAEND ((ptr_t)(&_end)) |
33 |
# define DATAEND ((ptr_t)(&_end)) |
14 |
# define DYNAMIC_LOADING |
34 |
# define DYNAMIC_LOADING |
15 |
# endif |
35 |
# endif |
Lines 36-38
Link Here
|
36 |
# if defined(NONSTOP) |
56 |
# if defined(NONSTOP) |
37 |
# define CPP_WORDSZ 32 |
57 |
# define CPP_WORDSZ 32 |
38 |
# define OS_TYPE "NONSTOP" |
58 |
# define OS_TYPE "NONSTOP" |
|
|
59 |
@@ -1998,6 +2022,20 @@ |
60 |
extern char _end[]; |
61 |
# define DATAEND ((ptr_t)(&_end)) |
62 |
# endif |
63 |
+# ifdef FREEBSD |
64 |
+# define OS_TYPE "FREEBSD" |
65 |
+# ifndef GC_FREEBSD_THREADS |
66 |
+# define MPROTECT_VDB |
67 |
+# endif |
68 |
+# define FREEBSD_STACKBOTTOM |
69 |
+# ifdef __ELF__ |
70 |
+# define DYNAMIC_LOADING |
71 |
+# endif |
72 |
+ extern char etext[]; |
73 |
+ ptr_t GC_FreeBSDGetDataStart(size_t, ptr_t); |
74 |
+# define DATASTART GC_FreeBSDGetDataStart(0x1000, (ptr_t)etext) |
75 |
+# define DATASTART_IS_FUNC |
76 |
+# endif |
77 |
# ifdef NOSYS |
78 |
/* __data_start is usually defined in the target linker script. */ |
79 |
extern int __data_start[]; |