annotate src/m/sparc.h @ 4901:7504864a986c

Don't use Boyer-Moore if repeated octets & case-insensitive search. 2010-01-30 Aidan Kehoe <kehoea@parhasard.net> * search.c (search_buffer): Don't use Boyer-Moore for case-insensitive search if the search pattern contains repeated Ibytes and the corresponding character has case information (or, equivalently, if one of its case equivalents would contain repeated Ibytes).
author Aidan Kehoe <kehoea@parhasard.net>
date Sat, 30 Jan 2010 22:25:39 +0000
parents abe6d1db359e
children 308d34e9f07d 861f2601a38b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1 /* machine description file for Sun 4 SPARC.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2 Copyright (C) 1987, 1994 Free Software Foundation, Inc.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4 This file is part of GNU Emacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
6 GNU Emacs is free software; you can redistribute it and/or modify
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
7 it under the terms of the GNU General Public License as published by
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8 the Free Software Foundation; either version 2, or (at your option)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
9 any later version.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
10
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
11 GNU Emacs is distributed in the hope that it will be useful,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
14 GNU General Public License for more details.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
15
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
16 You should have received a copy of the GNU General Public License
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
17 along with XEmacs; see the file COPYING. If not, write to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
19 Boston, MA 02111-1307, USA. */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
20
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
21 /* Synched up with: FSF 19.31. */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
22
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
23 /* The following line tells the configuration script what sort of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
24 operating system this machine is likely to run.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
25 USUAL-OPSYS="note"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
26
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
27 NOTE-START
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
28 Use -opsystem=sunos4 for operating system version 4, and
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
29 -opsystem=bsd4-2 for earlier versions.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
30 NOTE-END */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
31
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
32 /* XEmacs change */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
33 /* Say this machine is a sparc if we are not generating the Makefiles.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
34 In that case say we are a SPARC. Otherwise people who have sparc
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
35 in a path will not be happy. */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
36
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
37 #ifdef NOT_C_CODE
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
38 # define SPARC
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
39 #else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
40 # ifndef sparc
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
41 # define sparc
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
42 # endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
43 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
44
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
45 /* Mask for address bits within a memory segment */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
46
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
47 #define SEGMENT_MASK (SEGSIZ - 1)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
48
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
49 #if ! defined (__NetBSD__) && ! defined (__linux__) && !defined (__OpenBSD__)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
50 /* This really belongs in s/sun.h. */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
51
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
52 /* Data type of load average, as read out of kmem. */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
53
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
54 #define LOAD_AVE_TYPE long
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
55
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
56 /* Convert that into an integer that is 100 for a load average of 1.0 */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
57
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
58 #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
59
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
60 /* Say that the text segment of a.out includes the header;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
61 the header actually occupies the first few bytes of the text segment
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
62 and is counted in hdr.a_text. */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
63
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
64 #define A_TEXT_OFFSET(HDR) sizeof (HDR)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
65
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
66 /* This is the offset of the executable's text, from the start of the file. */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
67
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
68 #define A_TEXT_SEEK(HDR) (N_TXTOFF (hdr) + sizeof (hdr))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
69
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
70 #endif /* not Linux or NetBSD or OpenBSD */