-#ifdef GENCGC
- gc_assert((lispobj *)CONTROL_STACK_END > ((&read_only_roots)+1));
- setup_i386_stack_scav(((&static_roots)-2), (lispobj *)CONTROL_STACK_END);
+#if (defined(LISP_FEATURE_GENCGC) && defined(LISP_FEATURE_X86))
+#if 0
+ /* This is what we should do, but can't unless the threads in
+ * question are suspended with ptrace. That's right, purify is not
+ * threadsafe
+ */
+ for_each_thread(thread) {
+ void **ptr;
+ struct user_regs_struct regs;
+ if(ptrace(PTRACE_GETREGS,thread->pid,0,®s)){
+ fprintf(stderr,"child pid %d, %s\n",thread->pid,strerror(errno));
+ lose("PTRACE_GETREGS");
+ }
+ setup_i386_stack_scav(regs.ebp,
+ ((void *)thread->control_stack_end));
+ }
+#endif /* 0 */
+ /* stopgap until we can set things up as in preceding comment */
+ setup_i386_stack_scav(((&static_roots)-2),
+ ((void *)all_threads->control_stack_end));