From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: scratch/comp-static-data 5aa3db2f11: comp: Add support for compiling elisp constants into static data. Date: Sun, 20 Nov 2022 13:47:55 -0500 Message-ID: References: <166844679660.19180.3470364122428955894@vcs2.savannah.gnu.org> <20221114172637.78215C0E4C7@vcs2.savannah.gnu.org> <871qq5hxf9.fsf@yahoo.com> <9c27dd84e3298e2ed979415016f2db75d1cef882.camel@gmail.com> <83zgcobr9x.fsf@gnu.org> <83zgcm5b60.fsf@gnu.org> <18b7286a9bd88d8c30822d195d9893f1267fd665.camel@gmail.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="4819"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: Eli Zaretskii , rms@gnu.org, akrl@sdf.org, luangruo@yahoo.com, emacs-devel@gnu.org To: vibhavp@gmail.com Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Nov 20 19:48:33 2022 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 1owpMn-00010V-5s for ged-emacs-devel@m.gmane-mx.org; Sun, 20 Nov 2022 19:48:33 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1owpMS-0004fz-HS; Sun, 20 Nov 2022 13:48:12 -0500 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 1owpMQ-0004fY-7r for emacs-devel@gnu.org; Sun, 20 Nov 2022 13:48:10 -0500 Original-Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1owpMO-0001KB-B8; Sun, 20 Nov 2022 13:48:09 -0500 Original-Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 458F64409D3; Sun, 20 Nov 2022 13:48:05 -0500 (EST) Original-Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 7ED10440A22; Sun, 20 Nov 2022 13:47:56 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1668970076; bh=ls8FjJLu/UlvbUPRAm30rbmDNY4AlsRzhhTQr4qzy3U=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=Rbnp+3tKWnLv383rjnDh2Cx4HxP2TixNkTZcm0fle7lSw9/0AY/5KJmjeZory7NQv M01gpmX/Oiik2cf1kwUxDmILK91rPoqnhsWX1FrW9OGEfjcxowkv0D0eO+rrRPXTNz vcgA4ElML1DvRm1j/+kZ3fs0B7N+vLK+P3IqQOgfiTh9EYwLvlumEhH+Glyzsiz69/ yHWixYeeMcCquxTeig2yuSCIkKCZ3h2a4PgSwFGSnQ1tRRRl7nRTmGeFBdZG7EDqlL +ymIf4Lx9wKPQ9Vg0bnA15dRiomRcK0gXZ3rqIGEffVRbN26VK3f10zPI3w52mM/5b 7DJaCS5a3P3wA== Original-Received: from pastel (unknown [104.247.241.157]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 39A4D120F8C; Sun, 20 Nov 2022 13:47:56 -0500 (EST) In-Reply-To: <18b7286a9bd88d8c30822d195d9893f1267fd665.camel@gmail.com> (vibhavp@gmail.com's message of "Sun, 20 Nov 2022 22:07:12 +0530") Received-SPF: pass client-ip=132.204.25.50; envelope-from=monnier@iro.umontreal.ca; helo=mailscanner.iro.umontreal.ca X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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:300263 Archived-At: > The follow elisp snipper is an example of code that when compiled under > this branch, crashes Emacs: > ;; -*- lexical-binding: t; -*- > (defun fault-function () > (let ((a [1 2 3])) > (aset a 0 5) > a)) I'm not deluded enough to think it's currently impossible to crash Emacs with a well-crafted piece of ELisp code, but we do aim for that, so this would be a significant step backwards :-( Can we change your patch so that it makes the section writable rather than ".rodata"? Otherwise, we'd have to adjust the PURE_P tests so as to turn those crashes into mere errors (I guess we could also try and use some kind of SEGV signal handler for that purpose, but IIUC it can be tricky to do it reliably/portably). Stefan