Lines 97-103
Link Here
|
97 |
# endif |
97 |
# endif |
98 |
# if defined(__aarch64__) |
98 |
# if defined(__aarch64__) |
99 |
# define AARCH64 |
99 |
# define AARCH64 |
100 |
# if !defined(LINUX) |
100 |
# if !defined(LINUX) && !defined(FREEBSD) |
101 |
# define NOSYS |
101 |
# define NOSYS |
102 |
# define mach_type_known |
102 |
# define mach_type_known |
103 |
# endif |
103 |
# endif |
Lines 169-175
Link Here
|
169 |
# define EWS4800 |
169 |
# define EWS4800 |
170 |
# endif |
170 |
# endif |
171 |
# if !defined(LINUX) && !defined(EWS4800) && !defined(NETBSD) \ |
171 |
# if !defined(LINUX) && !defined(EWS4800) && !defined(NETBSD) \ |
172 |
&& !defined(OPENBSD) |
172 |
&& !defined(OPENBSD) && !defined(FREEBSD) |
173 |
# if defined(ultrix) || defined(__ultrix) |
173 |
# if defined(ultrix) || defined(__ultrix) |
174 |
# define ULTRIX |
174 |
# define ULTRIX |
175 |
# else |
175 |
# else |
Lines 402-407
Link Here
|
402 |
# define I386 |
402 |
# define I386 |
403 |
# define mach_type_known |
403 |
# define mach_type_known |
404 |
# endif |
404 |
# endif |
|
|
405 |
# if defined(FREEBSD) && defined(__aarch64__) |
406 |
# define AARCH64 |
407 |
# define mach_type_known |
408 |
# endif |
405 |
# if defined(FREEBSD) && (defined(__amd64__) || defined(__x86_64__)) |
409 |
# if defined(FREEBSD) && (defined(__amd64__) || defined(__x86_64__)) |
406 |
# define X86_64 |
410 |
# define X86_64 |
407 |
# define mach_type_known |
411 |
# define mach_type_known |
Lines 1647-1652
Link Here
|
1647 |
# define DATAEND ((ptr_t)(&_end)) |
1651 |
# define DATAEND ((ptr_t)(&_end)) |
1648 |
# define DYNAMIC_LOADING |
1652 |
# define DYNAMIC_LOADING |
1649 |
# endif |
1653 |
# endif |
|
|
1654 |
# ifdef FREEBSD |
1655 |
# define OS_TYPE "FREEBSD" |
1656 |
# define ALIGNMENT 4 |
1657 |
# define SIG_SUSPEND SIGUSR1 |
1658 |
# define SIG_THR_RESTART SIGUSR2 |
1659 |
# define FREEBSD_STACKBOTTOM |
1660 |
# ifdef __ELF__ |
1661 |
# define DYNAMIC_LOADING |
1662 |
# endif |
1663 |
extern char etext[]; |
1664 |
extern char edata[]; |
1665 |
extern char end[]; |
1666 |
# define NEED_FIND_LIMIT |
1667 |
# define DATASTART ((ptr_t)(&etext)) |
1668 |
ptr_t GC_find_limit(ptr_t, GC_bool); |
1669 |
# define DATAEND (GC_find_limit (DATASTART, TRUE)) |
1670 |
# define DATAEND_IS_FUNC |
1671 |
# define DATASTART2 ((ptr_t)(&edata)) |
1672 |
# define DATAEND2 ((ptr_t)(&end)) |
1673 |
# endif |
1650 |
# if defined(NONSTOP) |
1674 |
# if defined(NONSTOP) |
1651 |
# define CPP_WORDSZ 32 |
1675 |
# define CPP_WORDSZ 32 |
1652 |
# define OS_TYPE "NONSTOP" |
1676 |
# define OS_TYPE "NONSTOP" |
Lines 1998-2003
Link Here
|
1998 |
extern char _end[]; |
2022 |
extern char _end[]; |
1999 |
# define DATAEND ((ptr_t)(&_end)) |
2023 |
# define DATAEND ((ptr_t)(&_end)) |
2000 |
# endif |
2024 |
# endif |
|
|
2025 |
# ifdef FREEBSD |
2026 |
# define ALIGNMENT 8 |
2027 |
# define OS_TYPE "FREEBSD" |
2028 |
# ifdef __ELF__ |
2029 |
# define DYNAMIC_LOADING |
2030 |
# endif |
2031 |
# define HEURISTIC2 |
2032 |
extern char etext[]; |
2033 |
# define SEARCH_FOR_DATA_START |
2034 |
# endif |
2001 |
# ifdef NOSYS |
2035 |
# ifdef NOSYS |
2002 |
/* __data_start is usually defined in the target linker script. */ |
2036 |
/* __data_start is usually defined in the target linker script. */ |
2003 |
extern int __data_start[]; |
2037 |
extern int __data_start[]; |