all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Ken Brown <kbrown@cornell.edu>
To: Eli Zaretskii <eliz@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: New emacs maintainer for cygwin
Date: Tue, 19 May 2009 20:21:15 -0400	[thread overview]
Message-ID: <4A134CFB.7070403@cornell.edu> (raw)
In-Reply-To: <83ljoyqwmn.fsf@gnu.org>

On 5/15/2009 10:16 AM, Eli Zaretskii wrote:
> There are also a few Cygwin-related problems in etc/PROBLEMS.

I've started looking at this, and it's not clear to me exactly what is
supposed to be in etc/PROBLEMS.  If a problem is solved, should the
discussion be updated to indicate what the solution was or should it
just be deleted?  Here's a specific example.  There is a discussion in
etc/PROBLEMS of a rebasing problem, followed by this workaround:

> To work around this, build Emacs like this:
> 
>   LDFLAGS='-Wl,--enable-auto-import -Wl,--enable-auto-image-base' ./configure
>   make LD='$(CC)'
>   make LD='$(CC)' install
> 
> This produces an Emacs binary that is independent of rebasing.
> 
> Note that you _must_ use LD='$(CC)' in the last two commands above, to
> prevent GCC from passing the "--image-base 0x20000000" option to the
> linker, which is what it does by default.  That option produces an
> Emacs binary with the base address 0x20000000, which will cause Emacs
> to hang after Cygwin DLLs are rebased.

But a much more straightforward solution to the problem is to apply the
following patch to src/s/cygwin.h:

--- origsrc/emacs-23.0.92/src/s/cygwin.h	2009-01-08 06:46:27.000000000 -0500
+++ src/emacs-23.0.92/src/s/cygwin.h	2009-05-17 11:40:55.812500000 -0400
@@ -108,8 +108,12 @@ along with GNU Emacs.  If not, see <http
  /* force the emacs image to start high in memory, so dll relocation
     can put things in low memory without causing all sorts of grief for
     emacs lisp pointers */
-#define DATA_SEG_BITS 0x20000000
-#define LINKER $(CC) -Wl,--image-base,DATA_SEG_BITS
+/* but this can cause problems if the user later rebases; so I'm
+   changing it (KB) */
+
+/* #define DATA_SEG_BITS 0x20000000 */
+/* #define LINKER $(CC) -Wl,--image-base,DATA_SEG_BITS */
+#define LINKER $(CC)

  /* Use terminfo instead of termcap.  Fewer environment variables to
     go wrong, more terminal types. */

If the emacs developers accept this patch, then we can just remove the
whole thing from etc/PROBLEMS.  Or is it better to just report that the
workaround is no longer needed as a result of the patch?

While I'm on the subject of cygwin.h, I asked one of the cygwin 
developers to look at that file and see if it seems reasonable.  He had 
a couple of comments:

 > #define PTY_OPEN					\
 > >  do							\
 > >    {							\
 > >      int dummy;					\
 > >      SIGMASKTYPE mask;					\
 > >      mask = sigblock (sigmask (SIGCHLD));		\
 > >      if (-1 == openpty (&fd, &dummy, pty_name, 0, 0))	\
 > >	fd = -1;					\
 > >      sigsetmask (mask);				\
 > >      emacs_close (dummy);				\

 > This will close a random number if openpty fails.

 > > #define vfork fork

 > This is a no-op since vfork == fork.

Ken






  parent reply	other threads:[~2009-05-20  0:21 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-15 13:41 New emacs maintainer for cygwin Ken Brown
2009-05-15 14:16 ` Eli Zaretskii
2009-05-15 14:35   ` Ken Brown
2009-05-15 14:42     ` Lennart Borgman
2009-05-15 14:55     ` Chong Yidong
2009-05-17  4:01     ` Stefan Monnier
2009-05-20  0:21   ` Ken Brown [this message]
2009-05-20  2:14     ` Stefan Monnier
2009-05-20  2:39       ` Ken Brown
2009-05-20 15:22         ` Stefan Monnier
2009-05-20 17:37           ` Ken Brown
  -- strict thread matches above, loose matches on Subject: below --
2009-05-20  8:05 Angelo Graziosi
2009-05-20 12:30 ` Ken Brown
2009-05-20 12:46   ` Angelo Graziosi
2009-05-20 22:19 Angelo Graziosi
2009-05-20 22:39 ` Ken Brown

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4A134CFB.7070403@cornell.edu \
    --to=kbrown@cornell.edu \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@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 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.