comparison src/s/freebsd.h @ 5494:861f2601a38b

Sync s/ files with GNU 23.1.92, delete obsolete stuff, simplify other stuff --- ChangeLog 2010-02-20 Ben Wing <ben@xemacs.org> * configure: * configure.ac (XE_EXPAND_VARIABLE): * configure.ac (TAB): irix6-0.h renamed to irix6-5.h; sco7.h deleted. bsd4-3.h renamed to bsd-common.h. Simplify setting machine= for intel386, mips. Put back linux.h. Incorporate some stuff about debug/optimization flags in irix6-5.h into configure.ac. Add a comment about LCC stuff with optimization flags that should be fixed up. --- src/ChangeLog 2010-02-20 Ben Wing <ben@xemacs.org> * sysdep.c: * sysdep.c (qxe_reliable_signal): * sysdep.c (retry_open_1): * sysdep.c (retry_close): * sysdep.c (retry_read_1): * sysdep.c (retry_write_1): * sysdep.c (retry_fopen): * sysdep.c (retry_fclose): * sysdep.c (retry_fread): * sysdep.c (retry_fwrite): Remove conditionalization on INTERRUPTIBLE_IO, INTERRUPTIBLE_OPEN, INTERRUPTIBLE_CLOSE -- always check for EINTR as there's no harm in it. Remove old #if 0'ed out SA_RESTART code. Use manifest constant IRIX6_5 instead of IRIX. * Makefile.in.in: * dired.c: * dired.c (Ffile_attributes): Use manifest constant IRIX6_5 instead of IRIX. Eliminate constant BSD4_2, use BSD4_3 instead. * getloadavg.c: * getloadavg.c (getloadavg): * getloadavg.c (LDAV_PRIVILEGED): * getloadavg.c (LDAV_DONE): Sync with GNU 23.1.92. 2010-02-20 Ben Wing <ben@xemacs.org> * s/README: * s/aix4-2.h: * s/aix4-2.h (MAIL_USE_LOCKF): * s/bsd-common.h: * s/freebsd.h: * s/freebsd.h (Carey): * s/freebsd.h (or): * s/gnu.h: * s/gnu.h (DATA_START): * s/hpux11-shr.h: * s/hpux11.h: * s/hpux11.h (random): * s/irix6-5.h: * s/linux.h: * s/mach-bsd4-3.h: * s/netbsd.h: * s/netbsd.h (or): * s/netbsd.h (A_TEXT_OFFSET): * s/netbsd.h (NO_MATHERR): * s/openbsd.h: * s/sol2.h: * s/usg5-4-2.h: * s/usg5-4.h: * s/usg5-4.h (or): * s/usg5-4.h (ORDINARY_LINK): Sync with GNU 23.1.92. Put back linux.h. Rename: bsd4-3.h -> bsd-common.h; irix6-0.h -> irix6-5.h. Delete: template.h (useless). Delete a whole bunch of obsolete stuff in sol2.h, linux.h, freebsd.h -- assume anything over 10 years old is sufficiently obsolete to be deleted. Remove LIBS_DEBUG, C_DEBUG_SWITCH, C_OPTIMIZE_SWITCH, KERNEL_FILE, LDAV_SYMBOL, most remaining PTY stuff, remaining TERMINFO/TERMCAP stuff. Update README appropriately. Remove stuff in hpux11-shr.h duplicated in hpux11.h. Remove sco7.h, identical with usg5-4-2.h. Remove unused POSIX flag, BROKEN_TIOC*, NO_SIOCTL_H. 2010-02-20 Ben Wing <ben@xemacs.org> * m/arm.h: * m/hp800.h: * m/intel386.h: * m/mips.h: * m/powerpc.h: * m/sparc.h: * m/template.h: Temporarily ifdef out all defines involving load-average stuff -- using define ENABLE_SM_FILE_DECLS_OF_LOADAVG_STUFF, which is not defined. I'm pretty sure getloadavg.c will take care of defining stuff properly on all systems without the need to duplicate the info in m/*. --ben Delete LIBS_TERMCAP; configure auto-handles this. Delete extra stuff in hp800.h. Delete C_DEBUG_SWITCH, C_OPTIMIZE_SWITCH, LDAV_SYMBOL; incorporate some stuff into configure.ac.
author Ben Wing <ben@xemacs.org>
date Sat, 20 Feb 2010 06:03:00 -0600
parents 22858d5a5a7f
children
comparison
equal deleted inserted replaced
5493:f62141fe007d 5494:861f2601a38b
1 /* Synched up with: FSF 19.31. */ 1 /* System description header for FreeBSD systems.
2 This file describes the parameters that system description files
3 should define or not.
4 Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
5 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
6 Free Software Foundation, Inc.
7 Copyright (C) 2010 Ben Wing.
2 8
3 /* s/ file for freebsd system. */ 9 Author: Shawn M. Carey
10 (according to authors.el)
4 11
5 /* '__FreeBSD__' is defined by the preprocessor on FreeBSD-1.1 and up. 12 This file is part of XEmacs.
6 Earlier versions do not have shared libraries, so inhibit them.
7 You can inhibit them on newer systems if you wish
8 by defining NO_SHARED_LIBS. */
9 #ifndef __FreeBSD__
10 #define NO_SHARED_LIBS
11 #endif
12 13
13 /* Get most of the stuff from bsd4.3 */ 14 XEmacs is free software: you can redistribute it and/or modify
14 #include "bsd4-3.h" 15 it under the terms of the GNU General Public License as published by
16 the Free Software Foundation, either version 3 of the License, or
17 (at your option) any later version.
15 18
16 /* For mem-limits.h. */ 19 XEmacs is distributed in the hope that it will be useful,
17 #define BSD4_2 20 but WITHOUT ANY WARRANTY; without even the implied warranty of
21 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 GNU General Public License for more details.
18 23
19 /* These aren't needed, since we have getloadavg. */ 24 You should have received a copy of the GNU General Public License
20 #undef KERNEL_FILE 25 along with XEmacs. If not, see <http://www.gnu.org/licenses/>. */
21 #undef LDAV_SYMBOL
22 26
27 /* Synced up with: FSF 23.1.92. */
28 /* Synced by: Ben Wing, 2-18-10. */
29
30 /* Get the correct __FreeBSD_version, even if this is before that was
31 defined. */
32 #ifndef __FreeBSD_version
33 #include <osreldate.h>
34 #endif /* !defined __FreeBSD_version */
35
36 /* XEmacs: Delete obsolete stuff for FreeBSD v1 and v2 */
37 /* Get most of the stuff from bsd-common */
38 #include "bsd-common.h"
39
40 /* Delete BSD4_2 -- unused in XEmacs */
41
42 /* KERNEL_FILE, LDAV_SYMBOL deleted */
23 #define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base) 43 #define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base)
24 44
25 #define INTERRUPTIBLE_OPEN 45 /* XEmacs deleted LIBS_DEBUG */
26 46
27 #define LIBS_DEBUG
28 /* FreeBSD 2.2 or later */
29 #ifndef __FreeBSD_version
30 #include <osreldate.h>
31 #endif
32 #if __FreeBSD_version >= 199701 && __FreeBSD_version < 600006 47 #if __FreeBSD_version >= 199701 && __FreeBSD_version < 600006
48 /* XEmacs: */
33 #define LIBS_SYSTEM "-lutil -lxpg4" 49 #define LIBS_SYSTEM "-lutil -lxpg4"
34 #else 50 #else
35 #define LIBS_SYSTEM "-lutil" 51 #define LIBS_SYSTEM "-lutil"
36 #endif 52 #endif
53
54 /* LIBS_TERMCAP, TERMINFO deleted */
55
56 /* SYSV_SYSTEM_DIR, BSD_PGRPS deleted */
57
58 #ifdef __ELF__ /* since from 3.0-CURRENT(maybe 19980831 or later) */
59 /* XEmacs: */
60 #ifndef NOT_C_CODE
61 #include <stddef.h>
62 #endif
63
64 /* GNU: [[ Let `ld' find image libs and similar things in /usr/local/lib. The
65 system compiler, GCC, has apparently been modified to not look
66 there, contrary to what a stock GCC would do. ]] But we don't add
67 /usr/local/lib to LD_SWITCH_SYSTEM; there are configure flags for that. */
68
69 #define LD_SWITCH_SYSTEM /* -L/usr/local/lib */
70 #define START_FILES pre-crt0.o /usr/lib/crt1.o /usr/lib/crti.o /usr/lib/crtbegin.o
71 #define UNEXEC "unexelf.o"
72 #define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtend.o /usr/lib/crtn.o
73 /* XEmacs addition this line: */
74 #define LINKER "$(CC) -nostdlib"
75 #undef LIB_GCC
76 #define LIB_GCC
77
78 #else /* not __ELF__ */
79
80 #error "Obsolete pre-v3 versions not supported"
81
82 #endif /* not __ELF__ */
83
84 /* HAVE_GETLOADAVG, HAVE_TERMIOS, NO_TERMIO deleted */
85 #define DECLARE_GETPWUID_WITH_UID_T
86
87 /* freebsd uses OXTABS instead of the expected TAB3. */
88 #define TABDLY OXTABS
89 #define TAB3 OXTABS
90
91 /* this silences a few compilation warnings */
92 #undef BSD_SYSTEM
93 /* XEmacs: Delete obsolete stuff for FreeBSD v1 and v2 */
94 #define BSD_SYSTEM 199506
95 #endif
96
97 /* DONT_REOPEN_PTY deleted -- unused in XEmacs */
98
99 /* If the system's imake configuration file defines `NeedWidePrototypes'
100 as `NO', we must define NARROWPROTO manually. Such a define is
101 generated in the Makefile generated by `xmkmf'. If we don't
102 define NARROWPROTO, we will see the wrong function prototypes
103 for X functions taking float or double parameters. */
104
105 /* NARROWPROTO deleted */
106
107 /* The following is needed to make `configure' find Xpm, Xaw3d and
108 image include and library files if using /usr/bin/gcc. That
109 compiler seems to be modified to not find headers in
110 /usr/local/include or libs in /usr/local/lib by default. */
111
112 /* XEmacs: let configure flags do this */
113 /* #define C_SWITCH_SYSTEM -I/usr/X11R6/include -I/usr/local/include -L/usr/local/lib */
114
115 #if 0 /* unnecessary GNU stuff */
116 /* Circumvent a bug in FreeBSD. In the following sequence of
117 writes/reads on a PTY, read(2) returns bogus data:
118
119 write(2) 1022 bytes
120 write(2) 954 bytes, get EAGAIN
121 read(2) 1024 bytes in process_read_output
122 read(2) 11 bytes in process_read_output
123
124 That is, read(2) returns more bytes than have ever been written
125 successfully. The 1033 bytes read are the 1022 bytes written
126 successfully after processing (for example with CRs added if the
127 terminal is set up that way which it is here). The same bytes will
128 be seen again in a later read(2), without the CRs. */
129
130 #define BROKEN_PTY_READ_AFTER_EAGAIN 1
131
132 /* Deleted GC_SETJMP_WORKS, GC_MARK_STACK, USE_MMAP_FOR_BUFFERS,
133 POSIX_SIGNALS -- unnecessary and/or autoconfigured on XEmacs */
134
135 /* The `combreloc' setting became the default, and it seems to be
136 incompatible with unexec. Symptom is an immediate SEGV in
137 XtInitializeWidget when starting Emacs under X11. */
138
139 #if defined __FreeBSD_version && __FreeBSD_version >= 500042
140 #define LD_SWITCH_SYSTEM_TEMACS -znocombreloc
141 #endif
142 #endif /* 0 */
143
144 /* arch-tag: 426529ca-b7c4-448f-b10a-d4dcdc9c78eb
145 (do not change this comment) */
146
147 /* Begin XEmacs additions */
37 148
38 #ifndef NOT_C_CODE 149 #ifndef NOT_C_CODE
39 #ifdef BSD /* fixing BSD define */ 150 #ifdef BSD /* fixing BSD define */
40 #undef BSD 151 #undef BSD
41 #endif 152 #endif
42 #include <sys/param.h> 153 #include <sys/param.h>
43 /* Kludge to work around setlocale(LC_ALL,...) not working after 01/1997 */
44 #if __FreeBSD_version >= 199701 && __FreeBSD_version < 226000
45 #ifdef HAVE_X_WINDOWS
46 #include <X11/Xlocale.h>
47 #define setlocale(locale_category, locale_spec) setlocale(LC_CTYPE, locale_spec)
48 #endif /* HAVE X */
49 #endif /* FreeBSD >= 199701 && < 226000 */
50 #endif /* C code */ 154 #endif /* C code */
51
52 #define LIBS_TERMCAP "-ltermcap"
53
54 #ifdef __ELF__ /* since from 3.0-CURRENT(maybe 19980831 or later) */
55 #ifndef NOT_C_CODE
56 #include <stddef.h>
57 #endif
58 #define LD_SWITCH_SYSTEM
59 #define START_FILES pre-crt0.o /usr/lib/crt1.o /usr/lib/crti.o /usr/lib/crtbegin.o
60 #define UNEXEC "unexelf.o"
61 #define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtend.o /usr/lib/crtn.o
62 #define LINKER "$(CC) -nostdlib"
63 #undef LIB_GCC
64 #define LIB_GCC
65
66 #else /* not __ELF__ */
67
68 #ifndef NO_SHARED_LIBS
69 #if 0 /* mrb */
70 #define LIB_GCC "-lgcc"
71 #define LD_SWITCH_SYSTEM "-dc -dp -e start"
72 #define START_FILES "pre-crt0.o /usr/lib/crt0.o"
73 #else /* mrb */
74 #define ORDINARY_LINK
75 #undef LIB_GCC
76 #undef LD_SWITCH_SYSTEM
77 #undef START_FILES
78 #endif /* mrb */
79
80 #define HAVE_TEXT_START /* No need to define `start_of_text'. */
81 #define UNEXEC "unexfreebsd.o"
82 #define RUN_TIME_REMAP
83
84 #ifndef N_TRELOFF
85 #define N_PAGSIZ(x) __LDPGSZ
86 #define N_BSSADDR(x) (N_ALIGN(x, N_DATADDR(x)+x.a_data))
87 #define N_TRELOFF(x) N_RELOFF(x)
88 #endif
89 #else /* NO_SHARED_LIBS */
90 #ifdef __FreeBSD__ /* shared libs are available, but the user prefers
91 not to use them. */
92 #define LD_SWITCH_SYSTEM "-Bstatic"
93 #define A_TEXT_OFFSET(x) (sizeof (struct exec))
94 #define A_TEXT_SEEK(hdr) (N_TXTOFF(hdr) + A_TEXT_OFFSET(hdr))
95 #endif /* __FreeBSD__ */
96 #endif /* NO_SHARED_LIBS */
97
98 #endif /* not __ELF__ */
99
100 /* #define NO_TERMIO */ /* detected in configure */
101 #define DECLARE_GETPWUID_WITH_UID_T
102
103 /* freebsd uses OXTABS instead of the expected TAB3. */
104 #define TABDLY OXTABS
105 #define TAB3 OXTABS