all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#9926: patch: emacs-24.0.91 FTBFS on GNU/Hurd
@ 2011-10-31 22:54 Svante Signell
  2011-11-01 17:42 ` Stefan Monnier
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Svante Signell @ 2011-10-31 22:54 UTC (permalink / raw
  To: 9926

Hello,

Interesting to see that emacs-24.1 is on its way with many new features.
When trying to compile the latest pre-release under GNU/Hurd, the build
fails due to a missing definition in src/gnu.h. Inlined is a patch to
add the proper definition of GC_MARK_STACK (as on many of the other
architectures). Otherwise the global variable: static Lisp_Object Vdead;
is undefined on line 6264: if (!EQ (obj, Vdead)) in function
which_symbols().

Thanks!

--- emacs-24.0.91/src/s/gnu.h~  2011-10-14 02:40:36.000000000 +0200
+++ emacs-24.0.91/src/s/gnu.h   2011-10-31 23:28:48.000000000 +0100
@@ -44,3 +44,5 @@
 #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







^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#9926: patch: emacs-24.0.91 FTBFS on GNU/Hurd
  2011-10-31 22:54 bug#9926: patch: emacs-24.0.91 FTBFS on GNU/Hurd Svante Signell
@ 2011-11-01 17:42 ` Stefan Monnier
  2011-11-07  5:43 ` Paul Eggert
  2011-11-08 12:21 ` Svante Signell
  2 siblings, 0 replies; 10+ messages in thread
From: Stefan Monnier @ 2011-11-01 17:42 UTC (permalink / raw
  To: Svante Signell; +Cc: 9926

> Interesting to see that emacs-24.1 is on its way with many new features.
> When trying to compile the latest pre-release under GNU/Hurd, the build
> fails due to a missing definition in src/gnu.h. Inlined is a patch to
> add the proper definition of GC_MARK_STACK (as on many of the other
> architectures). Otherwise the global variable: static Lisp_Object Vdead;
> is undefined on line 6264: if (!EQ (obj, Vdead)) in function
> which_symbols().

Actually GC_MAKE_GCPROS_NOOPS should be made the default, and the build
should succeed even if GC_MARK_STACK is not set to GC_MAKE_GCPROS_NOOPS.
So the bug is in the which_symbols code.


        Stefan





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#9926: patch: emacs-24.0.91 FTBFS on GNU/Hurd
  2011-10-31 22:54 bug#9926: patch: emacs-24.0.91 FTBFS on GNU/Hurd Svante Signell
  2011-11-01 17:42 ` Stefan Monnier
@ 2011-11-07  5:43 ` Paul Eggert
  2011-11-08 12:21 ` Svante Signell
  2 siblings, 0 replies; 10+ messages in thread
From: Paul Eggert @ 2011-11-07  5:43 UTC (permalink / raw
  To: 9926

I installed the following patch in the trunk as bzr 106311
to fix the fails-to-compile bug.

Making GC_MAKE_GCPROS_NOOPS the default sounds good, but as
it doesn't fix a bug and we're in feature-freeze now I left
that for later.

=== modified file 'src/ChangeLog'
--- src/ChangeLog	2011-11-07 02:00:43 +0000
+++ src/ChangeLog	2011-11-07 05:37:49 +0000
@@ -1,3 +1,10 @@
+2011-11-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* alloc.c (DEADP): New macro, for porting to GNU/Hurd (Bug#9926).
+	This is also needed for porting to any host where GC_MARK_STACK is
+	not GC_MAKE_GCPROS_NOOPS.
+	(which_symbols): Use it.
+
 2011-11-07  Kenichi Handa  <handa@m17n.org>
 
 	* coding.c (coding_set_destination): Check coding->src_pos only

=== modified file 'src/alloc.c'
--- src/alloc.c	2011-10-29 17:25:44 +0000
+++ src/alloc.c	2011-11-07 05:37:49 +0000
@@ -315,6 +315,7 @@
    on free lists recognizable in O(1).  */
 
 static Lisp_Object Vdead;
+#define DEADP(x) EQ (x, Vdead)
 
 #ifdef GC_MALLOC_CHECK
 
@@ -411,6 +412,10 @@
 
 #endif /* GC_MARK_STACK || GC_MALLOC_CHECK */
 
+#ifndef DEADP
+# define DEADP(x) 0
+#endif
+
 /* Recording what needs to be marked for gc.  */
 
 struct gcpro *gcprolist;
@@ -6261,7 +6266,7 @@
    int gc_count = inhibit_garbage_collection ();
    Lisp_Object found = Qnil;
 
-   if (!EQ (obj, Vdead))
+   if (! DEADP (obj))
      {
        for (sblk = symbol_block; sblk; sblk = sblk->next)
 	 {






^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#9926: patch: emacs-24.0.91 FTBFS on GNU/Hurd
  2011-10-31 22:54 bug#9926: patch: emacs-24.0.91 FTBFS on GNU/Hurd Svante Signell
  2011-11-01 17:42 ` Stefan Monnier
  2011-11-07  5:43 ` Paul Eggert
@ 2011-11-08 12:21 ` Svante Signell
  2011-11-08 13:31   ` Stefan Monnier
  2011-11-08 16:44   ` Paul Eggert
  2 siblings, 2 replies; 10+ messages in thread
From: Svante Signell @ 2011-11-08 12:21 UTC (permalink / raw
  To: 9926; +Cc: eggert


> I installed the following patch in the trunk as bzr 106311
> to fix the fails-to-compile bug.
> 
> Making GC_MAKE_GCPROS_NOOPS the default sounds good, but as
> it doesn't fix a bug and we're in feature-freeze now I left
> that for later.
> 
> === modified file 'src/ChangeLog'
> --- src/ChangeLog       2011-11-07 02:00:43 +0000
> +++ src/ChangeLog       2011-11-07 05:37:49 +0000
> @@ -1,3 +1,10 @@
> +2011-11-07  Paul Eggert  <address@hidden>
> +
> +       * alloc.c (DEADP): New macro, for porting to GNU/Hurd (Bug#9926).
> +       This is also needed for porting to any host where GC_MARK_STACK is
> +       not GC_MAKE_GCPROS_NOOPS.
> +       (which_symbols): Use it.

Reading your patch shows that GC_MARK_STACK will still not be set for
GNU/Hurd. However, the previous comment by Stefan Monnier says that
GC_MAKE_GCPROS_NOOPS should be set as the default. So what is wrong
with patching gnu.h??

Anyway, which are the differences/consequences of that part of the code
in which_symbols being executed compared to not when GC_MARK_STACK is
unset or set to GC_MAKE_GCPROS_NOOPS?






^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#9926: patch: emacs-24.0.91 FTBFS on GNU/Hurd
  2011-11-08 12:21 ` Svante Signell
@ 2011-11-08 13:31   ` Stefan Monnier
  2011-11-08 16:44   ` Paul Eggert
  1 sibling, 0 replies; 10+ messages in thread
From: Stefan Monnier @ 2011-11-08 13:31 UTC (permalink / raw
  To: srs; +Cc: eggert, 9926

> Anyway, which are the differences/consequences of that part of the code
> in which_symbols being executed compared to not when GC_MARK_STACK is
> unset or set to GC_MAKE_GCPROS_NOOPS?

They don't matter: which_symbols is a function only for use from
a C debugger: there is no call to this function within Emacs itself.


        Stefan





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#9926: patch: emacs-24.0.91 FTBFS on GNU/Hurd
  2011-11-08 12:21 ` Svante Signell
  2011-11-08 13:31   ` Stefan Monnier
@ 2011-11-08 16:44   ` Paul Eggert
  2011-11-08 17:09     ` Stefan Monnier
  2011-11-08 17:23     ` Eli Zaretskii
  1 sibling, 2 replies; 10+ messages in thread
From: Paul Eggert @ 2011-11-08 16:44 UTC (permalink / raw
  To: srs; +Cc: 9926

On 11/08/11 04:21, Svante Signell wrote:
> the previous comment by Stefan Monnier says that
> GC_MAKE_GCPROS_NOOPS should be set as the default. So what is wrong
> with patching gnu.h??

I don't see anything wrong with changing Emacs to use GC_MAKE_GCPROS_NOOPS
on GNU/Hurd.  If there's no objection I would like to install the change
suggested by Stefan, which should have the same effect as patching gnu.h
but results in cleaner code internally.  Please see the patch below.

> Anyway, which are the differences/consequences of that part of the code
> in which_symbols being executed compared to not when GC_MARK_STACK is
> unset or set to GC_MAKE_GCPROS_NOOPS?

As Stefan wrote, which_symbols is executed only if you run Emacs under
a debugger and execute it yourself.  And in that case, the new DEADP
macro should do the right thing, regardless of what GC_MARK_STACK is set
or unset to.

=== modified file 'src/ChangeLog'
--- src/ChangeLog	2011-11-08 07:25:56 +0000
+++ src/ChangeLog	2011-11-08 16:36:16 +0000
@@ -1,3 +1,15 @@
+2011-11-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Set GC_MARK_STACK to GC_MAKE_GCPROS_NOOPS on GNU/Hurd (Bug#9926).
+	* lisp.h (GC_MARK_STACK): Default to GC_MAKE_GCPROS_NOOPS.
+	* s/cygwin.h, s/darwin.h, s/freebsd.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/ms-w32.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  Chong Yidong  <cyd@gnu.org>
 
 	* window.c (Fwindow_left_column, Fwindow_top_line): Doc fix.

=== modified file 'src/lisp.h'
--- src/lisp.h	2011-11-07 17:04:01 +0000
+++ src/lisp.h	2011-11-08 16:29:11 +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 16:29:11 +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 16:29:11 +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 16:29:11 +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 16:29:11 +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 16:29:11 +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/hpux10-20.h'
--- src/s/hpux10-20.h	2011-02-16 01:35:20 +0000
+++ src/s/hpux10-20.h	2011-11-08 16:29:11 +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 16:29:11 +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/ms-w32.h'
--- src/s/ms-w32.h	2011-11-05 16:30:13 +0000
+++ src/s/ms-w32.h	2011-11-08 16:29:11 +0000
@@ -402,5 +402,8 @@
 #define DebPrint(stuff)
 #endif
 
+/* 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/msdos.h'
--- src/s/msdos.h	2011-02-26 12:55:10 +0000
+++ src/s/msdos.h	2011-11-08 16:29:11 +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 16:29:11 +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 16:29:11 +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 16:29:11 +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






^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#9926: patch: emacs-24.0.91 FTBFS on GNU/Hurd
  2011-11-08 16:44   ` Paul Eggert
@ 2011-11-08 17:09     ` Stefan Monnier
  2011-11-08 20:18       ` Paul Eggert
  2011-11-08 17:23     ` Eli Zaretskii
  1 sibling, 1 reply; 10+ messages in thread
From: Stefan Monnier @ 2011-11-08 17:09 UTC (permalink / raw
  To: Paul Eggert; +Cc: 9926, srs

> I don't see anything wrong with changing Emacs to use GC_MAKE_GCPROS_NOOPS
> on GNU/Hurd.  If there's no objection I would like to install the change
> suggested by Stefan, which should have the same effect as patching gnu.h
> but results in cleaner code internally.  Please see the patch below.

I'd rather keep the old default for now and change it in 24.2, only.
So I'd rather use the OP's patch that only affects the Hurd.

> === modified file 'src/s/ms-w32.h'
> --- src/s/ms-w32.h	2011-11-05 16:30:13 +0000
> +++ src/s/ms-w32.h	2011-11-08 16:29:11 +0000
> @@ -402,5 +402,8 @@
>  #define DebPrint(stuff)
>  #endif
 
> +/* 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
 
Really?  This sounds wrong,


        Stefan





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#9926: patch: emacs-24.0.91 FTBFS on GNU/Hurd
  2011-11-08 16:44   ` Paul Eggert
  2011-11-08 17:09     ` Stefan Monnier
@ 2011-11-08 17:23     ` Eli Zaretskii
  2011-11-08 20:36       ` Paul Eggert
  1 sibling, 1 reply; 10+ messages in thread
From: Eli Zaretskii @ 2011-11-08 17:23 UTC (permalink / raw
  To: Paul Eggert; +Cc: 9926, srs

> Date: Tue, 08 Nov 2011 08:44:21 -0800
> From: Paul Eggert <eggert@cs.ucla.edu>
> Cc: 9926@debbugs.gnu.org
> 
> --- src/s/ms-w32.h	2011-11-05 16:30:13 +0000
> +++ src/s/ms-w32.h	2011-11-08 16:29:11 +0000
> @@ -402,5 +402,8 @@
>  #define DebPrint(stuff)
>  #endif
>  
> +/* 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

Given that nt/config.nt defines this:

/* Enable conservative stack marking for GC.  */
#define GC_MARK_STACK 1

I wonder if the above change for ms-w32.h is TRT.





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#9926: patch: emacs-24.0.91 FTBFS on GNU/Hurd
  2011-11-08 17:09     ` Stefan Monnier
@ 2011-11-08 20:18       ` Paul Eggert
  0 siblings, 0 replies; 10+ messages in thread
From: Paul Eggert @ 2011-11-08 20:18 UTC (permalink / raw
  To: Stefan Monnier; +Cc: 9926-done, srs

On 11/08/11 09:09, Stefan Monnier wrote:
> So I'd rather use the OP's patch that only affects the Hurd.

Sounds good.  I did that as bzr 106331
and am marking this bug as done.





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#9926: patch: emacs-24.0.91 FTBFS on GNU/Hurd
  2011-11-08 17:23     ` Eli Zaretskii
@ 2011-11-08 20:36       ` Paul Eggert
  0 siblings, 0 replies; 10+ messages in thread
From: Paul Eggert @ 2011-11-08 20:36 UTC (permalink / raw
  To: Eli Zaretskii; +Cc: 9926

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@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@cs.ucla.edu>
+
 	* s/gnu.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS (Bug#9926).
 
 2011-11-08  Paul Eggert  <eggert@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





^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2011-11-08 20:36 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-10-31 22:54 bug#9926: patch: emacs-24.0.91 FTBFS on GNU/Hurd Svante Signell
2011-11-01 17:42 ` Stefan Monnier
2011-11-07  5:43 ` Paul Eggert
2011-11-08 12:21 ` Svante Signell
2011-11-08 13:31   ` Stefan Monnier
2011-11-08 16:44   ` Paul Eggert
2011-11-08 17:09     ` Stefan Monnier
2011-11-08 20:18       ` Paul Eggert
2011-11-08 17:23     ` Eli Zaretskii
2011-11-08 20:36       ` Paul Eggert

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.