X-Loop: help-debbugs@HIDDEN
Subject: bug#29940: guile-2.2.3 does not work pax mprotect
Resent-From: Thomas Klausner <tk@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guile@HIDDEN
Resent-Date: Tue, 02 Jan 2018 09:11:02 +0000
Resent-Message-ID: <handler.29940.B.151488425022993 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 29940
X-GNU-PR-Package: guile
X-GNU-PR-Keywords:
To: 29940 <at> debbugs.gnu.org
Cc: Greg Troxel <gdt@HIDDEN>
X-Debbugs-Original-To: bug-guile@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.151488425022993
(code B ref -1); Tue, 02 Jan 2018 09:11:02 +0000
Received: (at submit) by debbugs.gnu.org; 2 Jan 2018 09:10:50 +0000
Received: from localhost ([127.0.0.1]:60433 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1eWIaw-0005ym-5S
for submit <at> debbugs.gnu.org; Tue, 02 Jan 2018 04:10:50 -0500
Received: from eggs.gnu.org ([208.118.235.92]:37611)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <wiz@HIDDEN>) id 1eWIau-0005yU-Av
for submit <at> debbugs.gnu.org; Tue, 02 Jan 2018 04:10:48 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
(envelope-from <wiz@HIDDEN>) id 1eWIao-0003F1-ED
for submit <at> debbugs.gnu.org; Tue, 02 Jan 2018 04:10:43 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level:
X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_20 autolearn=disabled
version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:39945)
by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32)
(Exim 4.71) (envelope-from <wiz@HIDDEN>)
id 1eWIao-0003Ek-A5
for submit <at> debbugs.gnu.org; Tue, 02 Jan 2018 04:10:42 -0500
Received: from eggs.gnu.org ([2001:4830:134:3::10]:56765)
by lists.gnu.org with esmtp (Exim 4.71)
(envelope-from <wiz@HIDDEN>) id 1eWIak-0006KP-07
for bug-guile@HIDDEN; Tue, 02 Jan 2018 04:10:42 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
(envelope-from <wiz@HIDDEN>) id 1eWIad-00039P-SU
for bug-guile@HIDDEN; Tue, 02 Jan 2018 04:10:37 -0500
Received: from danbala.ifoer.tuwien.ac.at ([128.130.168.114]:64030)
by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)
(Exim 4.71) (envelope-from <wiz@HIDDEN>)
id 1eWIad-00037W-Le
for bug-guile@HIDDEN; Tue, 02 Jan 2018 04:10:31 -0500
Received: by danbala.ifoer.tuwien.ac.at (Postfix, from userid 116)
id 88317A5B0; Tue, 2 Jan 2018 10:10:28 +0100 (CET)
Date: Tue, 2 Jan 2018 10:10:28 +0100
From: Thomas Klausner <tk@HIDDEN>
Message-ID: <20180102091028.wbspwmhiepdrxwsr@danbala>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
X-detected-operating-system: by eggs.gnu.org: Genre and OS details not
recognized.
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -4.8 (----)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -4.8 (----)
Hi!
guile-2.2.3 does not compile on NetBSD 8 and NetBSD-current.
During build, it writes stuff like this for basically every file:
gmake[2]: Entering directory '/scratch/lang/guile22/work/guile-2.2.3/bootstrap'
BOOTSTRAP GUILEC ice-9/eval.go
;;; WARNING: loading compiled file /scratch/lang/guile22/work/guile-2.2.3/prebuilt/64-bit-little-endian/ice-9/eval.go failed:
;;; Throw to key system-error with args ("load-thunk-from-memory" "~A" ("Permission denied") (13))
wrote `ice-9/eval.go'
When I turn off PaX mprotect, the build succeeds.
PaX mprotect is a security feature that forbids memory pages that are
writable and executable, and some memory protection changes that would
allow this. Other programs/libraries (e.g. libffi) needed to be fixed
for this.
Can you please fix this in guile-2.2.x?
(guile-2.0.14 builds fine on such a system.)
Thanks,
Thomas
Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) Content-Type: text/plain; charset=utf-8 X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: Thomas Klausner <tk@HIDDEN> Subject: bug#29940: Acknowledgement (guile-2.2.3 does not work pax mprotect) Message-ID: <handler.29940.B.151488425022993.ack <at> debbugs.gnu.org> References: <20180102091028.wbspwmhiepdrxwsr@danbala> X-Gnu-PR-Message: ack 29940 X-Gnu-PR-Package: guile Reply-To: 29940 <at> debbugs.gnu.org Date: Tue, 02 Jan 2018 09:11:02 +0000 Thank you for filing a new bug report with debbugs.gnu.org. This is an automatically generated reply to let you know your message has been received. Your message is being forwarded to the package maintainers and other interested parties for their attention; they will reply in due course. Your message has been sent to the package maintainer(s): bug-guile@HIDDEN If you wish to submit further information on this problem, please send it to 29940 <at> debbugs.gnu.org. Please do not send mail to help-debbugs@HIDDEN unless you wish to report a problem with the Bug-tracking system. --=20 29940: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D29940 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
X-Loop: help-debbugs@HIDDEN
Subject: bug#29940: Acknowledgement (guile-2.2.3 does not work pax mprotect)
Resent-From: Thomas Klausner <tk@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guile@HIDDEN
Resent-Date: Mon, 08 Jan 2018 10:43:02 +0000
Resent-Message-ID: <handler.29940.B29940.15154081461751 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 29940
X-GNU-PR-Package: guile
X-GNU-PR-Keywords:
To: 29940 <at> debbugs.gnu.org
Received: via spool by 29940-submit <at> debbugs.gnu.org id=B29940.15154081461751
(code B ref 29940); Mon, 08 Jan 2018 10:43:02 +0000
Received: (at 29940) by debbugs.gnu.org; 8 Jan 2018 10:42:26 +0000
Received: from localhost ([127.0.0.1]:40233 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1eYUss-0000SB-9K
for submit <at> debbugs.gnu.org; Mon, 08 Jan 2018 05:42:26 -0500
Received: from danbala.ifoer.tuwien.ac.at ([128.130.168.114]:52191)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <wiz@HIDDEN>) id 1eYUsq-0000S1-89
for 29940 <at> debbugs.gnu.org; Mon, 08 Jan 2018 05:42:25 -0500
Received: by danbala.ifoer.tuwien.ac.at (Postfix, from userid 116)
id 02B5BA5AC; Mon, 8 Jan 2018 11:42:23 +0100 (CET)
Date: Mon, 8 Jan 2018 11:42:22 +0100
From: Thomas Klausner <tk@HIDDEN>
Message-ID: <20180108104222.a5g7fnjbvqspesmm@danbala>
References: <20180102091028.wbspwmhiepdrxwsr@danbala>
<sfid-+20180102-101108-+008.55-1@HIDDEN>
<handler.29940.B.151488425022993.ack <at> debbugs.gnu.org>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="csephjqpp7japrig"
Content-Disposition: inline
In-Reply-To: <handler.29940.B.151488425022993.ack <at> debbugs.gnu.org>
X-Spam-Score: 0.2 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 0.2 (/)
--csephjqpp7japrig
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
The attached patch is a workaround: we can mark the guile binary to
not use the PAX mprotect feature using paxctl +m. On Linux, paxctl has
different flags, so I wrapped it in an "if", and it uses knowledge of
libtool internals, so it is not a good idea to integrate this patch
as-is.
Better would be of course to make guile work with PAX mprotect.
Thomas
--csephjqpp7japrig
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="patch-libguile_Makefile.in"
$NetBSD: patch-libguile_Makefile.in,v 1.1 2018/01/08 10:39:45 wiz Exp $
Fix build on NetBSD>=8.
--- libguile/Makefile.in.orig 2017-11-06 09:12:56.000000000 +0000
+++ libguile/Makefile.in
@@ -2444,6 +2444,8 @@ clean-noinstPROGRAMS:
guile$(EXEEXT): $(guile_OBJECTS) $(guile_DEPENDENCIES) $(EXTRA_guile_DEPENDENCIES)
@rm -f guile$(EXEEXT)
$(AM_V_CCLD)$(guile_LINK) $(guile_OBJECTS) $(guile_LDADD) $(LIBS)
+ if [ `uname -s` = "NetBSD" ]; then paxctl +m .libs/guile$(EXEEXT); fi
+
install-binSCRIPTS: $(bin_SCRIPTS)
@$(NORMAL_INSTALL)
@list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \
--csephjqpp7japrig--
X-Loop: help-debbugs@HIDDEN
Subject: bug#29940: Acknowledgement (guile-2.2.3 does not work pax mprotect)
Resent-From: Thomas Klausner <tk@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guile@HIDDEN
Resent-Date: Mon, 08 Jan 2018 22:53:01 +0000
Resent-Message-ID: <handler.29940.B29940.15154519507443 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 29940
X-GNU-PR-Package: guile
X-GNU-PR-Keywords:
To: 29940 <at> debbugs.gnu.org
Received: via spool by 29940-submit <at> debbugs.gnu.org id=B29940.15154519507443
(code B ref 29940); Mon, 08 Jan 2018 22:53:01 +0000
Received: (at 29940) by debbugs.gnu.org; 8 Jan 2018 22:52:30 +0000
Received: from localhost ([127.0.0.1]:41832 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1eYgHO-0001vz-3z
for submit <at> debbugs.gnu.org; Mon, 08 Jan 2018 17:52:30 -0500
Received: from danbala.ifoer.tuwien.ac.at ([128.130.168.114]:51931)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <wiz@HIDDEN>) id 1eYgHM-0001vq-CC
for 29940 <at> debbugs.gnu.org; Mon, 08 Jan 2018 17:52:28 -0500
Received: by danbala.ifoer.tuwien.ac.at (Postfix, from userid 116)
id 27B2CA58A; Mon, 8 Jan 2018 23:52:27 +0100 (CET)
Date: Mon, 8 Jan 2018 23:52:27 +0100
From: Thomas Klausner <tk@HIDDEN>
Message-ID: <20180108225227.3rhewyjmictlldnm@danbala>
References: <20180102091028.wbspwmhiepdrxwsr@danbala>
<sfid-+20180102-101108-+008.55-1@HIDDEN>
<handler.29940.B.151488425022993.ack <at> debbugs.gnu.org>
<20180108104222.a5g7fnjbvqspesmm@danbala>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="axuchxmhdxj2z7d6"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20180108104222.a5g7fnjbvqspesmm@danbala>
X-Spam-Score: 0.2 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 0.2 (/)
--axuchxmhdxj2z7d6
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
Jörg Sonnenberger just committed the attached patch to pkgsrc, which
fixes the problem for me as well, with the commit message:
"Use correct mmap permissions for later PROT_WRITE mprotect."
Thomas
--axuchxmhdxj2z7d6
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="patch-libguile_loader.c"
$NetBSD: patch-libguile_loader.c,v 1.1 2018/01/08 22:37:08 joerg Exp $
--- libguile/loader.c.orig 2018-01-08 16:21:04.790894906 +0000
+++ libguile/loader.c
@@ -484,7 +484,7 @@ map_file_contents (int fd, size_t len, i
char *data;
#ifdef HAVE_SYS_MMAN_H
- data = mmap (NULL, len, PROT_READ, MAP_PRIVATE, fd, 0);
+ data = mmap (NULL, len, PROT_READ | PROT_WRITE, MAP_PRIVATE, fd, 0);
if (data == MAP_FAILED)
SCM_SYSERROR;
*is_read_only = 1;
--axuchxmhdxj2z7d6--
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.