Move GC_MARK_SECONDARY_STACK from src/s to configure
authorGlenn Morris <rgm@gnu.org>
Fri, 13 Jul 2012 21:54:35 +0000 (17:54 -0400)
committerGlenn Morris <rgm@gnu.org>
Fri, 13 Jul 2012 21:54:35 +0000 (17:54 -0400)
* 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
configure.ac
src/ChangeLog
src/s/gnu-linux.h

index b71e3cb..5415956 100644 (file)
--- 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  <rgm@gnu.org>
 
index b6a8b99..ed500dd 100644 (file)
@@ -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*)
index 9f26c23..b7736ae 100644 (file)
@@ -1,5 +1,7 @@
 2012-07-13  Glenn Morris  <rgm@gnu.org>
 
+       * 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.
 
index 6c20c78..0a083fe 100644 (file)
@@ -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 <http://www.gnu.org/licenses/>.  */
 
-#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