From 5b63334279790dfee1da5a7ffb83630fb8202a87 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Fri, 13 Jul 2012 17:54:35 -0400 Subject: [PATCH 1/1] Move GC_MARK_SECONDARY_STACK from src/s to configure * configure.ac (GC_MARK_SECONDARY_STACK): Move here from src/s. * src/s/gnu-linux.h (GC_MARK_SECONDARY_STACK): Let configure set it. --- ChangeLog | 4 ++-- configure.ac | 8 ++++++++ src/ChangeLog | 2 ++ src/s/gnu-linux.h | 10 ---------- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/ChangeLog b/ChangeLog index b71e3cbad4..54159560e5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -8,8 +8,8 @@ (BSD_SYSTEM_AHB): New hack macro. (AH_BOTTOM): Set BSD_SYSTEM, using BSD_SYSTEM_AHB. - * configure.ac (NSIG_MINIMUM, ULIMIT_BREAK_VALUE): - Move here from src/s. + * configure.ac (NSIG_MINIMUM, ULIMIT_BREAK_VALUE, SETUP_SLAVE_PTY) + (GC_MARK_SECONDARY_STACK): Move here from src/s. 2012-07-12 Glenn Morris diff --git a/configure.ac b/configure.ac index b6a8b99e52..ed500dd6ea 100644 --- a/configure.ac +++ b/configure.ac @@ -3578,6 +3578,14 @@ case $opsys in # error "not i386" #endif ]], [[]])], AC_DEFINE(ULIMIT_BREAK_VALUE, [(32*1024*1024)]), []) + + AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[ +#ifndef __ia64__ +# error "not ia64" +#endif + ]], [[]])], AC_DEFINE(GC_MARK_SECONDARY_STACK(), + [do { extern void *__libc_ia64_register_backing_store_base; __builtin_ia64_flushrs (); mark_memory (__libc_ia64_register_backing_store_base, __builtin_ia64_bsp ());} while (0)], + [Mark a secondary stack, like the register stack on the ia64.]), []) ;; hpux*) diff --git a/src/ChangeLog b/src/ChangeLog index 9f26c236fe..b7736ae5db 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,7 @@ 2012-07-13 Glenn Morris + * s/gnu-linux.h (GC_MARK_SECONDARY_STACK): Let configure set it. + * s/usg5-4-common.h (SETUP_SLAVE_PTY): Let configure set it. * s/irix6-5.h (SETUP_SLAVE_PTY): No more need to unset it. diff --git a/src/s/gnu-linux.h b/src/s/gnu-linux.h index 6c20c78815..0a083fe3f1 100644 --- a/src/s/gnu-linux.h +++ b/src/s/gnu-linux.h @@ -20,16 +20,6 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Emacs. If not, see . */ -#ifdef __ia64__ -#define GC_MARK_SECONDARY_STACK() \ - do { \ - extern void *__libc_ia64_register_backing_store_base; \ - __builtin_ia64_flushrs (); \ - mark_memory (__libc_ia64_register_backing_store_base, \ - __builtin_ia64_bsp ()); \ - } while (0) -#endif - /* Tell that garbage collector that setjmp is known to save all registers relevant for conservative garbage collection in the jmp_buf. Not all the architectures are tested, but there are Debian packages -- 2.20.1