Package: emacs;
Reported by: monnier <at> IRO.UMontreal.CA
Date: Mon, 31 Oct 2011 22:58:02 UTC
Severity: wishlist
Done: Paul Eggert <eggert <at> cs.ucla.edu>
Bug is archived. No further changes may be made.
Message #37 received at 9926 <at> debbugs.gnu.org (full text, mbox):
From: Paul Eggert <eggert <at> cs.ucla.edu> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 9926 <at> debbugs.gnu.org Subject: Re: bug#9926: patch: emacs-24.0.91 FTBFS on GNU/Hurd Date: Tue, 08 Nov 2011 12:36:31 -0800
On 11/08/11 09:23, Eli Zaretskii wrote: > I wonder if the above change for ms-w32.h is TRT. Yes, Stefan wondered the same thing. I expect the answer is "no". Here's a revised patch (intended for 24.2). === modified file 'src/ChangeLog' --- src/ChangeLog 2011-11-08 20:15:17 +0000 +++ src/ChangeLog 2011-11-08 20:31:58 +0000 @@ -1,5 +1,17 @@ 2011-11-08 Paul Eggert <eggert <at> cs.ucla.edu> + Make GC_MAKE_GCPROS_NOOPS the default (Bug#9926). + * lisp.h (GC_MARK_STACK): Default to GC_MAKE_GCPROS_NOOPS. + * s/cygwin.h, s/darwin.h, s/freebsd.h, s/gnu.h, s/irix6-5.h, s/msdos.h: + * s/netbsd.h, s/sol2-6.h: + Remove definition of GC_MARK_STACK, since the default now works. + * s/aix4-2.h, s/hpux10-20.h, s/unixware.h: + Define GC_MARK_STACK to GC_USE_GCPROS_AS_BEFORE, since that's + no longer the default. + * s/gnu-linux.h (GC_MARK_STACK): Adjust to change in default. + +2011-11-08 Paul Eggert <eggert <at> cs.ucla.edu> + * s/gnu.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS (Bug#9926). 2011-11-08 Paul Eggert <eggert <at> cs.ucla.edu> === modified file 'src/lisp.h' --- src/lisp.h 2011-11-07 17:04:01 +0000 +++ src/lisp.h 2011-11-08 20:31:58 +0000 @@ -2213,7 +2213,7 @@ #define GC_USE_GCPROS_CHECK_ZOMBIES 3 #ifndef GC_MARK_STACK -#define GC_MARK_STACK GC_USE_GCPROS_AS_BEFORE +#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS #endif /* Whether we do the stack marking manually. */ === modified file 'src/s/aix4-2.h' --- src/s/aix4-2.h 2011-07-07 01:32:56 +0000 +++ src/s/aix4-2.h 2011-11-08 20:31:58 +0000 @@ -75,3 +75,7 @@ Emacs currently calls xrealloc on the results of get_current_dir name, to avoid a crash just use the Emacs implementation for that function. */ #define BROKEN_GET_CURRENT_DIR_NAME 1 + +/* Conservative garbage collection has not been tested, so for now + play it safe and stick with the old-fashioned way of marking. */ +#define GC_MARK_STACK GC_USE_GCPROS_AS_BEFORE === modified file 'src/s/cygwin.h' --- src/s/cygwin.h 2011-03-17 05:15:08 +0000 +++ src/s/cygwin.h 2011-11-08 20:31:58 +0000 @@ -85,12 +85,6 @@ change their controlling terminal */ #define vfork fork -/* This should work (at least when compiling with gcc). But I have no way - or intention to verify or even test it. If you encounter a problem with - it, feel free to change this setting, but please add a comment here about - why it needed to be changed. */ -#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS - /* Virtual addresses of pure and impure space can vary, as on Windows. */ #define VIRT_ADDR_VARIES === modified file 'src/s/darwin.h' --- src/s/darwin.h 2011-08-09 22:13:11 +0000 +++ src/s/darwin.h 2011-11-08 20:31:58 +0000 @@ -145,6 +145,3 @@ It is already a controlling terminal of subprocess, because we did ioctl TIOCSCTTY. */ #define DONT_REOPEN_PTY - -/* Use the GC_MAKE_GCPROS_NOOPS (see lisp.h) method for marking the stack. */ -#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS === modified file 'src/s/freebsd.h' --- src/s/freebsd.h 2011-02-16 01:35:20 +0000 +++ src/s/freebsd.h 2011-11-08 20:31:58 +0000 @@ -58,6 +58,3 @@ /* Tell that garbage collector that setjmp is known to save all registers relevant for conservative garbage collection in the jmp_buf. */ #define GC_SETJMP_WORKS 1 - -/* Use the GC_MAKE_GCPROS_NOOPS (see lisp.h) method for marking the stack. */ -#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS === modified file 'src/s/gnu-linux.h' --- src/s/gnu-linux.h 2011-09-09 01:06:52 +0000 +++ src/s/gnu-linux.h 2011-11-08 20:31:58 +0000 @@ -145,7 +145,6 @@ || defined __arm__ || defined __powerpc__ || defined __amd64__ \ || defined __ia64__ || defined __sh__ #define GC_SETJMP_WORKS 1 -#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS #ifdef __mc68000__ #define GC_LISP_OBJECT_ALIGNMENT 2 #endif @@ -158,4 +157,6 @@ __builtin_ia64_bsp (), 0); \ } while (0) #endif +#else +#define GC_MARK_STACK GC_USE_GCPROS_AS_BEFORE #endif === modified file 'src/s/gnu.h' --- src/s/gnu.h 2011-11-08 20:15:17 +0000 +++ src/s/gnu.h 2011-11-08 20:31:58 +0000 @@ -43,6 +43,3 @@ ((FILE)->_IO_write_ptr - (FILE)->_IO_write_base) #endif /* !_IO_STDIO_H */ #endif /* emacs */ - -/* Use the GC_MAKE_GCPROS_NOOPS (see lisp.h) method for marking the stack. */ -#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS === modified file 'src/s/hpux10-20.h' --- src/s/hpux10-20.h 2011-02-16 01:35:20 +0000 +++ src/s/hpux10-20.h 2011-11-08 20:31:58 +0000 @@ -101,6 +101,10 @@ on HP-UX. (You get duplicate symbol errors on linking). */ #undef _FILE_OFFSET_BITS +/* Conservative garbage collection has not been tested, so for now + play it safe and stick with the old-fashioned way of marking. */ +#define GC_MARK_STACK GC_USE_GCPROS_AS_BEFORE + /* Define VIRT_ADDR_VARIES if the virtual addresses of pure and impure space as loaded can vary, and even their relative order cannot be relied on. === modified file 'src/s/irix6-5.h' --- src/s/irix6-5.h 2011-07-07 03:24:33 +0000 +++ src/s/irix6-5.h 2011-11-08 20:31:58 +0000 @@ -95,7 +95,6 @@ /* Tested on Irix 6.5. SCM worked on earlier versions. */ #define GC_SETJMP_WORKS 1 -#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS /* DATA_SEG_BITS forces extra bits to be or'd in with any pointers which === modified file 'src/s/msdos.h' --- src/s/msdos.h 2011-02-26 12:55:10 +0000 +++ src/s/msdos.h 2011-11-08 20:31:58 +0000 @@ -137,5 +137,3 @@ /* Tell the garbage collector that setjmp is known to save all registers relevant for conservative garbage collection in the jmp_buf. */ #define GC_SETJMP_WORKS 1 -#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS - === modified file 'src/s/netbsd.h' --- src/s/netbsd.h 2011-02-16 01:35:20 +0000 +++ src/s/netbsd.h 2011-11-08 20:31:58 +0000 @@ -38,6 +38,3 @@ /* Tell that garbage collector that setjmp is known to save all registers relevant for conservative garbage collection in the jmp_buf. */ #define GC_SETJMP_WORKS 1 - -/* Use the GC_MAKE_GCPROS_NOOPS (see lisp.h) method. */ -#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS === modified file 'src/s/sol2-6.h' --- src/s/sol2-6.h 2011-04-16 22:06:00 +0000 +++ src/s/sol2-6.h 2011-11-08 20:31:58 +0000 @@ -59,4 +59,3 @@ } #define GC_SETJMP_WORKS 1 -#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS === modified file 'src/s/unixware.h' --- src/s/unixware.h 2011-04-16 22:06:00 +0000 +++ src/s/unixware.h 2011-11-08 20:31:58 +0000 @@ -50,3 +50,7 @@ } #define PENDING_OUTPUT_COUNT(FILE) ((FILE)->__ptr - (FILE)->__base) + +/* Conservative garbage collection has not been tested, so for now + play it safe and stick with the old-fashioned way of marking. */ +#define GC_MARK_STACK GC_USE_GCPROS_AS_BEFORE
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.