From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Building the igc branch on MS-Windows Date: Wed, 24 Apr 2024 18:06:30 +0300 Message-ID: <86il063imh.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="19717"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Gerd =?iso-8859-1?Q?M=F6llmann?= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Apr 24 17:07:14 2024 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rzeDJ-0004xx-Ma for ged-emacs-devel@m.gmane-mx.org; Wed, 24 Apr 2024 17:07:13 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rzeCs-00057x-3A; Wed, 24 Apr 2024 11:06:46 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rzeCn-00057W-4k for emacs-devel@gnu.org; Wed, 24 Apr 2024 11:06:42 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rzeCm-0000X0-S2; Wed, 24 Apr 2024 11:06:40 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:Subject:To:From:Date:in-reply-to: references; bh=nb9WDgPcuNIyIdy9g8stlPiCWCHpUrwYOcubOCIGZMM=; b=SDACCmQl0BOyg0 enHtSj5p88MH6+U6phOTVDo8TJQS6ONNJ9j/SLVCyP1jfLkGtD52psdw9EXptd8KhsKUZCIO8NCmo 6V85oKSKLH7bM8DAnMjeSysji74bRtn9sRaH7lhlEdGNHayIsDx5MWH7ws0Q7gmV5On8vL58AJNRR 5r3vNgIFeHubstkDPye4HuvaeL929M86r1Ci6ND4Lk6N8KksNV/gS3ORAEbDCOwmqjwsCXAJbjRcb Rh0eU1kFILj/ae34tXrNVqCv/Y7zeTw+O3u675RnJbOrLLAik4HCrAZIv6PbcAvpe+5ImUeIwf7DJ NubuB2mCsJxNSFfAh9GA==; X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:318032 Archived-At: I took a stab on this. MPS doesn't support MinGW on MS-Windows OOTB, so I needed to create a new platform configuration for it. That took awhile, but eventually the build worked and all the tests passed. For the first build, I configured without tree-sitter, without native compilation, and without wide-ints. So this is supposed to be the simplest 32-bit configuration possible. Building Emacs, I has a few relatively simple problems to get it to compile without any warnings and errors (see my commit a few minutes ago), but then bootstrap-emacs aborts in pbootstrap phase due to assertion violation inside MPS: Loading d:/gnu/git/emacs/feature/lisp/faces.el (source)... poolamc.c:1291: Emacs fatal error: assertion failed: p == clientLimit Backtrace: 012aa172 012aa205 01122089 011b25a7 0127eae0 01331a29 Makefile:1011: recipe for target `bootstrap-emacs.pdmp' failed and I have no idea where to go from here. (I'll later try to install a debug version of libmps and step with GDB through the code which hits the assertion violation, but I doubt that I will be any wiser after that, as the significance of what the function amcSegScanNailedRange, which hits the assertion, does evades me.) One thing that might be related is that I configured MPS with MPS_PF_ALIGN = 4, because a build with align of 8 would sometimes fail some of the tests. Did someone try a 32-bit build on GNU/Linux? Maybe the above isn't Windows-specific, but has something to do with 32-bit builds? Two other relevant issues, which _are_ specific to Windows: . Emacs on MS-Windows has its own implementation of malloc (see w32heap.c). I don't think this should be a problem, as MPS advertises itself as being capable of coexisting with malloc and other allocators, but I thought I'd mention it anyway. . Emacs on MS-Windows uses an emulation of mmap, and the related code in buffer.c, for allocation of buffer text. Most other builds of Emacs don't use mmap, so maybe there's some code not executed on any other platform where this branch was built and tested.