* configure.ac (GC_MARK_SECONDARY_STACK): Move here from src/s.
* src/s/gnu-linux.h (GC_MARK_SECONDARY_STACK): Let configure set it.
(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>
# 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*)
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.
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