From: Paul Eggert <eggert@cs.ucla.edu>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 9926@debbugs.gnu.org
Subject: bug#9926: patch: emacs-24.0.91 FTBFS on GNU/Hurd
Date: Tue, 08 Nov 2011 12:36:31 -0800 [thread overview]
Message-ID: <4EB992CF.9000101@cs.ucla.edu> (raw)
In-Reply-To: <83ipmuil42.fsf@gnu.org>
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
prev parent reply other threads:[~2011-11-08 20:36 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
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 [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4EB992CF.9000101@cs.ucla.edu \
--to=eggert@cs.ucla.edu \
--cc=9926@debbugs.gnu.org \
--cc=eliz@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).