[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: x86_64 problems/fix (was: alloc.c problem when GC_MARK_STACK is GC_U
From: |
Kim F. Storm |
Subject: |
Re: x86_64 problems/fix (was: alloc.c problem when GC_MARK_STACK is GC_USE_GCPROS_AS_BEFORE) |
Date: |
12 Jul 2004 11:33:14 +0200 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.3.50 |
Barry Fishman <address@hidden> writes:
> I was unable to make any change to alloc.c that would fix the GC_MARK_STACK
> problem without later crashes in the build while compiling the lisp
> files.
Does the following patch work (if you undo the patch you suggested below)?
*** alloc.c 23 Jun 2004 10:30:52 +0200 1.346
--- alloc.c 12 Jul 2004 11:29:19 +0200
***************
*** 5033,5038 ****
--- 5033,5039 ----
break;
case Lisp_Misc_Save_Value:
+ #if GC_MARK_STACK
{
register struct Lisp_Save_Value *ptr = XSAVE_VALUE (obj);
/* If DOGC is set, POINTER is the address of a memory
***************
*** 5045,5050 ****
--- 5046,5052 ----
mark_maybe_object (*p);
}
}
+ #endif
break;
case Lisp_Misc_Overlay:
>
> However, I suspect the attached change to src/s/gnu-linux.h is
> approprate. This produces a working emacs (for me) on a amd64
> gnu-linux system (SuSE 9.1), although it sidesteps the problem in
> alloc.c.
This is a good change -- have you been using that for some time
now without problems? If so, I will commit your patch.
>
> Index: gnu-linux.h
> ===================================================================
> RCS file: /cvsroot/emacs/emacs/src/s/gnu-linux.h,v
> retrieving revision 1.89
> diff -c -r1.89 gnu-linux.h
> *** gnu-linux.h 1 Sep 2003 15:45:58 -0000 1.89
> --- gnu-linux.h 6 Jul 2004 23:49:36 -0000
> ***************
> *** 355,361 ****
>
> #if defined __i386__ || defined __sparc__ || defined __mc68000__ \
> || defined __alpha__ || defined __mips__ || defined __s390__ \
> ! || defined __arm__ || defined __powerpc__
> #define GC_SETJMP_WORKS 1
> #define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
> #ifdef __mc68000__
> --- 355,361 ----
>
> #if defined __i386__ || defined __sparc__ || defined __mc68000__ \
> || defined __alpha__ || defined __mips__ || defined __s390__ \
> ! || defined __arm__ || defined __powerpc__ || defined __amd64__
> #define GC_SETJMP_WORKS 1
> #define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
> #ifdef __mc68000__
>
> --
> Barry Fishman
> _______________________________________________
> Emacs-devel mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/emacs-devel
--
Kim F. Storm <address@hidden> http://www.cua.dk