Move "system type" macros from src/s to configure
[bpt/emacs.git] / src / s / gnu-linux.h
CommitLineData
3a707ba5 1/* This file is the configuration file for Linux-based GNU systems
2f86b22b 2
acaf905b 3Copyright (C) 1985-1986, 1992, 1994, 1996, 1999, 2001-2012
e9bffc61 4 Free Software Foundation, Inc.
566e3587 5
e05aebe9
GM
6This file was put together by Michael K. Johnson and Rik Faith.
7
566e3587
JB
8This file is part of GNU Emacs.
9
4b158629 10GNU Emacs is free software: you can redistribute it and/or modify
566e3587 11it under the terms of the GNU General Public License as published by
4b158629
GM
12the Free Software Foundation, either version 3 of the License, or
13(at your option) any later version.
566e3587
JB
14
15GNU Emacs is distributed in the hope that it will be useful,
16but WITHOUT ANY WARRANTY; without even the implied warranty of
17MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18GNU General Public License for more details.
19
20You should have received a copy of the GNU General Public License
4b158629 21along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
566e3587 22
e3177e43
AS
23#ifdef __ia64__
24#define GC_MARK_SECONDARY_STACK() \
25 do { \
26 extern void *__libc_ia64_register_backing_store_base; \
27 __builtin_ia64_flushrs (); \
28 mark_memory (__libc_ia64_register_backing_store_base, \
2adb6e85 29 __builtin_ia64_bsp ()); \
e3177e43
AS
30 } while (0)
31#endif
e091e1bd
GM
32
33/* Tell that garbage collector that setjmp is known to save all
34 registers relevant for conservative garbage collection in the jmp_buf.
35 Not all the architectures are tested, but there are Debian packages
36 for SCM and/or Guile on them, so the technique must work. See also
37 comments in alloc.c concerning setjmp and gcc. Fixme: it's
38 probably safe to just let the GCC conditional in AH_BOTTOM handle this.
39*/
40#if defined __i386__ || defined __sparc__ || defined __mc68000__ \
41 || defined __alpha__ || defined __mips__ || defined __s390__ \
42 || defined __arm__ || defined __powerpc__ || defined __amd64__ \
43 || defined __ia64__ || defined __sh__
44#define GC_SETJMP_WORKS 1
b948ce8b
PE
45#else
46#define GC_MARK_STACK GC_USE_GCPROS_AS_BEFORE
bb15bd9a 47#endif