Initial git import
[sxemacs] / src / s / netbsd.h
1 /* Synched up with: FSF 19.31. */
2
3 /* s/ file for netbsd system.  */
4
5 /* Get most of the stuff from bsd4.3 */
6 #include "bsd4-3.h"
7
8 #undef BSD
9
10 #ifndef NOT_C_CODE
11 #include <sys/param.h>
12 #include <sys/exec.h>
13 #endif                          /* C_CODE */
14
15 /* For mem-limits.h.  */
16 #define BSD4_2
17
18 #undef KERNEL_FILE
19 #undef LDAV_SYMBOL
20
21 #define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base)
22
23 /* netbsd uses OXTABS instead of the expected TAB3.  */
24 #define TABDLY OXTABS
25 #define TAB3 OXTABS
26
27 #define A_TEXT_OFFSET(x) (sizeof (struct exec))
28 #define A_TEXT_SEEK(hdr) (N_TXTOFF(hdr) + A_TEXT_OFFSET(hdr))
29
30 #define LIBS_DEBUG
31 /* -lutil is not needed for NetBSD >0.9.  */
32 /* #define LIBS_SYSTEM -lutil */
33 /* XEmacs change */
34 #define LIBS_TERMCAP "-ltermcap"
35
36 #define NEED_ERRNO
37
38 #if 0                           /* mrb */
39 #ifndef NO_SHARED_LIBS
40 /* These definitions should work for either dynamic or static linking,
41    whichever is the default for `cc -nostdlib'.  */
42 /* but they probably don't, and life's too short - jrg@doc.ic.ac.uk
43    ask for no shared libs if you have 0.9 */
44 /* mrb -- ORDINARY_LINK works just fine... */
45 #define LD_SWITCH_SYSTEM "-e start"
46 #define START_FILES "pre-crt0.o /usr/lib/crt0.o"
47 #define RUN_TIME_REMAP
48 #else
49 #define START_FILES "crt0.o"
50
51 #endif                          /* not NO_SHARED_LIBS */
52 #endif                          /* 0 - mrb */
53
54 #define HAVE_TEXT_START         /* No need to define `start_of_text'.  */
55 #define ORDINARY_LINK
56
57 /* As of this writing (Netbsd 1.5 was just released), Netbsd is
58    converting from a.out to elf - x86 and Sparc are using ELF.
59    But we're clever and let the compiler tell us which one to use.  */
60
61 /*
62  * everything is pdump now. --SY
63  * #ifdef __ELF__
64  * #define UNEXEC "unexelf.o"
65  * #else
66  * #define UNEXEC "unexfreebsd.o"
67  * #endif
68  */
69 #undef UNEXEC
70
71 #if 0
72 /* Try to make this work for both 0.9 and >0.9.  */
73 #define N_PAGSIZ(x) __LDPGSZ
74 #define N_BSSADDR(x) (N_ALIGN(x, N_DATADDR(x)+x.a_data))
75 /* #define N_TRELOFF(x) N_RELOFF(x) */
76 /* the 1.0 way.. */
77 #endif                          /* 0 */
78
79 #define N_RELOFF(x) N_TRELOFF(x)
80
81 #define NO_MATHERR
82
83 #define AMPERSAND_FULL_NAME