From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.devel Subject: Re: Building Emacs on WSL Date: Tue, 20 Dec 2016 11:35:31 -0800 Organization: UCLA Computer Science Department Message-ID: References: <4829e397-ac70-ab22-9c01-848ae876db46@alice.it> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------BDDCE3AFEE82186551AC58BB" X-Trace: blaine.gmane.org 1482262548 17807 195.159.176.226 (20 Dec 2016 19:35:48 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Tue, 20 Dec 2016 19:35:48 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 Cc: Emacs developers To: Fabrice Popineau , Angelo Graziosi Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Dec 20 20:35:44 2016 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cJQCL-0003iL-BI for ged-emacs-devel@m.gmane.org; Tue, 20 Dec 2016 20:35:41 +0100 Original-Received: from localhost ([::1]:53164 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cJQCP-0005u4-VZ for ged-emacs-devel@m.gmane.org; Tue, 20 Dec 2016 14:35:45 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:35248) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cJQCJ-0005tn-Cn for emacs-devel@gnu.org; Tue, 20 Dec 2016 14:35:40 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cJQCG-0006Qh-69 for emacs-devel@gnu.org; Tue, 20 Dec 2016 14:35:39 -0500 Original-Received: from zimbra.cs.ucla.edu ([131.179.128.68]:56676) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cJQCF-0006Oo-SW for emacs-devel@gnu.org; Tue, 20 Dec 2016 14:35:36 -0500 Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 1E32A1617E7; Tue, 20 Dec 2016 11:35:33 -0800 (PST) Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id RXoDfjP26j2t; Tue, 20 Dec 2016 11:35:32 -0800 (PST) Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 4CFEE1617ED; Tue, 20 Dec 2016 11:35:32 -0800 (PST) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id kiTxwIHvEYVP; Tue, 20 Dec 2016 11:35:32 -0800 (PST) Original-Received: from Penguin.CS.UCLA.EDU (Penguin.CS.UCLA.EDU [131.179.64.200]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 339BA1617E9; Tue, 20 Dec 2016 11:35:32 -0800 (PST) In-Reply-To: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-Received-From: 131.179.128.68 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:210672 Archived-At: This is a multi-part message in MIME format. --------------BDDCE3AFEE82186551AC58BB Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable On 12/20/2016 04:40 AM, Fabrice Popineau wrote: > > (gdb) run --batch --load loadup bootstrap > Starting program: /mnt/d/Source/emacs/build-emacs-ubuntu/src/temacs=20 > --batch --load loadup bootstrap > warning: Error disabling address space randomization: Succ=C3=A8s This is a warning from GDB, not from Emacs. GDB normally attempts to=20 disable ASLR, to make debugging easier. Looking at the sequence of=20 system calls in GDB 7.12, GDB calls 'personality' in some funky and=20 undocumented ways, e.g., GDB assumes that errno is not changed when=20 'personality' succeeds. Please compile and run the attached program under WSL, using the same=20 flags you use to compile Emacs, and let me know what it does. On Fedora=20 24 x86-64, this program outputs: personality (0xffffffff) returns 0x0, errno=3D0 (Success) ADDR_NO_RANDOMIZE was clear personality (pers | ADDR_NO_RANDOMIZE) returns 0x0, errno=3D0 (Success) ADDR_NO_RANDOMIZE set successfully When run under GDB, the same program outputs: personality (0xffffffff) returns 0x40000, errno=3D0 (Success) ADDR_NO_RANDOMIZE was set because GDB already disabled ASLR. You can look at GDB's file=20 gdb/nat/linux-personality.c to see how GDB differs from Emacs in this=20 area; perhaps there's something there that Emacs can use to figure out=20 that it is running with a buggy kernel. > > there is a simple fix: That fix cannot be installed as-is since ASLR needs to be disabled on=20 ordinary GNU/Linux platforms. It appears that WSL pretends to support=20 the Linux 'personality' system call and its ADDR_NO_RANDOMIZE flag, and=20 that this support does not actually work and makes Emacs crash. --------------BDDCE3AFEE82186551AC58BB Content-Type: text/plain; charset=UTF-8; name="personality.c" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="personality.c" I2luY2x1ZGUgPHN5cy9wZXJzb25hbGl0eS5oPgojaW5jbHVkZSA8ZXJybm8uaD4KI2luY2x1 ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KCnN0YXRpYyBpbnQKcHJpbnRfcGVy c29uYWxpdHkgKHVuc2lnbmVkIGxvbmcgcGVyc29uYSwgY2hhciBjb25zdCAqbXNnKQp7CiAg aW50IHBlcnMsIGVycjsKICBlcnJubyA9IDA7CiAgcGVycyA9IHBlcnNvbmFsaXR5IChwZXJz b25hKTsKICBlcnIgPSBlcnJubzsKICBwcmludGYgKCJwZXJzb25hbGl0eSAoJXMpIHJldHVy bnMgMHgleCwgZXJybm89JWQgKCVzKVxuIiwKCSAgbXNnLCBwZXJzLCBlcnIsIHN0cmVycm9y IChlcnIpKTsKICBlcnJubyA9IGVycjsKICByZXR1cm4gcGVyczsKfQoKaW50Cm1haW4gKHZv aWQpCnsKICBpbnQgcGVyczsKICBwZXJzID0gcHJpbnRfcGVyc29uYWxpdHkgKDB4ZmZmZmZm ZmYsICIweGZmZmZmZmZmIik7CiAgaWYgKHBlcnMgJiBBRERSX05PX1JBTkRPTUlaRSkKICAg IHByaW50ZiAoIkFERFJfTk9fUkFORE9NSVpFIHdhcyBzZXRcbiIpOwogIGVsc2UKICAgIHsK ICAgICAgcHJpbnRmICgiQUREUl9OT19SQU5ET01JWkUgd2FzIGNsZWFyXG4iKTsKICAgICAg cGVycyA9IHByaW50X3BlcnNvbmFsaXR5IChwZXJzIHwgQUREUl9OT19SQU5ET01JWkUsCgkJ CQkicGVycyB8IEFERFJfTk9fUkFORE9NSVpFIik7CiAgICAgIGlmICgwIDw9IHBlcnNvbmFs aXR5KQoJcHJpbnRmICgiQUREUl9OT19SQU5ET01JWkUgc2V0IHN1Y2Nlc3NmdWxseSIpOwog ICAgICBlbHNlCglwcmludGYgKCJBRERSX05PX1JBTkRPTUlaRSBjb3VsZCBub3QgYmUgc2V0 Iik7CiAgICB9CiAgcmV0dXJuIDA7Cn0K --------------BDDCE3AFEE82186551AC58BB--