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
next prev 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
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=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 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).