From: Glenn Morris Date: Fri, 13 Jul 2012 21:54:35 +0000 (-0400) Subject: Move GC_MARK_SECONDARY_STACK from src/s to configure X-Git-Tag: emacs-24.2.90~1199^2~6 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=5b63334279790dfee1da5a7ffb83630fb8202a87;p=emacs.git 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. --- diff --git a/ChangeLog b/ChangeLog index b71e3cbad46..54159560e5d 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 b6a8b99e52b..ed500dd6ea8 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 9f26c236fed..b7736ae5db6 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 6c20c788150..0a083fe3f15 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