bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#13939: 24.3; Emacs 24.3 release won't compile on Windows with the ms


From: 李丁
Subject: bug#13939: 24.3; Emacs 24.3 release won't compile on Windows with the msvc toolchain
Date: Thu, 14 Mar 2013 09:21:44 +0800

Sorry about that.  I guess no one tried to build Emacs with MSVC
during the entire pretest period.  Perhaps in the future you could do
that, so that any such problems could be fixed in time.

I'd like to.

 Or maybe it should say
  !if $(USE_CRT_DLL)
instead?
 
Yes, seems more appropriate.

Not only MinGW, but I believe Fabrice (CC'ed) also builds Emacs with
MSVC and uses GC_MARK_STACK.

Maybe the the bug is introduced after Emacs 24.2, which can be built and dumped with GC_MARK_STACK.

Regarding the GC_MARK_STACK, I want to provide a little more information: the error occurred after the first Fgarbage_collect while loading loadup.el, and some important functions are not marked and thus garbage collected. As in alloc.c the `car' of a cons is set to `Vdead' when freed, I suppose this is where the "DEAD" comes from.


2013/3/14 Eli Zaretskii <address@hidden>
> Date: Wed, 13 Mar 2013 06:47:56 +0800
> From: 李丁 <address@hidden>
>
> The latest 24.3 release won't compile on Windows with Visual C++ 2010 sp1
> compiler (comes with windows sdk 7.1). There are two problems:

Sorry about that.  I guess no one tried to build Emacs with MSVC
during the entire pretest period.  Perhaps in the future you could do
that, so that any such problems could be fixed in time.

> 1. nmake.defs has a syntax error on line 119: `!if' should be `!ifdef'

Or maybe it should say

  !if $(USE_CRT_DLL)

instead?

> 2. GC_MARK_STACK is 1 by default in config.nt, but this default is broken
> with the msvc toolchain.  When temacs started to dump,
> it immediately exited with the message `Invalid function: "DEAD"'. Eli had
> previously told me (in #12878) to see bug #13070, but it didn't solve the
> problem. When I tried to change GC_MARK_STACK to 0, Emacs compiled fine. So
> there must be something wrong about the GCPROS_NOOPS way of marking stack
> under the vc compiler, maybe someone familiar with the garbage collector
> can fix it. (MinGW gcc is ok with the default)

Not only MinGW, but I believe Fabrice (CC'ed) also builds Emacs with
MSVC and uses GC_MARK_STACK.  Fabrice, can you please comment on this?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]