pkgsrc-Changes-HG archive

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

[pkgsrc/trunk]: pkgsrc/editors/emacs20 Use paxctl +a like in emacs21 to make ...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/a08a44414c2e
branches:  trunk
changeset: 355225:a08a44414c2e
user:      dholland <dholland%pkgsrc.org@localhost>
date:      Sat Nov 26 06:38:06 2016 +0000

description:
Use paxctl +a like in emacs21 to make the build work on -current. It seems
that if you dump with a non-ASLR temacs you get a working emacs binary, and
if you don't you don't, although I don't really see why -- perhaps it's
something broken in crtstuff. Closes PR 51654.

Note that pre-ASLR emacs20 binaries not dumped by an ASLR temacs also
blow up in the same way, which doesn't make much sense either, but
undoubtedly it's all connected.

It's not particularly good that we apparently don't have backwards
compatibility for old Emacs binaries because of this, but for the time
being I'm more worried about it working at all.

PKGREVISION++ again, to 22.

diffstat:

 editors/emacs20/Makefile         |   4 ++--
 editors/emacs20/distinfo         |   4 ++--
 editors/emacs20/patches/patch-af |  26 +++++++++++++++++++++-----
 3 files changed, 25 insertions(+), 9 deletions(-)

diffs (85 lines):

diff -r ff1ad97f0ae8 -r a08a44414c2e editors/emacs20/Makefile
--- a/editors/emacs20/Makefile  Sat Nov 26 04:22:40 2016 +0000
+++ b/editors/emacs20/Makefile  Sat Nov 26 06:38:06 2016 +0000
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.55 2016/11/26 03:50:16 dholland Exp $
+# $NetBSD: Makefile,v 1.56 2016/11/26 06:38:06 dholland Exp $
 
 DISTNAME=      emacs-20.7
 PKGNAME=       ${DISTNAME:S/emacs/emacs20/}
-PKGREVISION=   21
+PKGREVISION=   22
 CATEGORIES=    editors
 MASTER_SITES=  http://ftp.gnu.org/pub/old-gnu/emacs/   \
                ftp://ftp.gnu.org/pub/old-gnu/emacs
diff -r ff1ad97f0ae8 -r a08a44414c2e editors/emacs20/distinfo
--- a/editors/emacs20/distinfo  Sat Nov 26 04:22:40 2016 +0000
+++ b/editors/emacs20/distinfo  Sat Nov 26 06:38:06 2016 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.33 2016/11/26 03:50:16 dholland Exp $
+$NetBSD: distinfo,v 1.34 2016/11/26 06:38:06 dholland Exp $
 
 SHA1 (emacs-20.7-mule-4.1b-elc.tar.gz) = 3894fb2b81bb326545f6ccc3bf0a8405c23004ff
 RMD160 (emacs-20.7-mule-4.1b-elc.tar.gz) = c675b31dafaa4321a453af9d87eddf051ee71b1f
@@ -25,7 +25,7 @@
 SHA1 (patch-ac) = abf5971279a8d875504be4c17b8d36cb8cc24885
 SHA1 (patch-ad) = dd21028a6360ccfb442ecced4c67717f60ea78a6
 SHA1 (patch-ae) = 465c7aff1fbb23d08ff8100993041291a9502f34
-SHA1 (patch-af) = e7e65a2df5d55bf5bfa9dd8155b906882f620cca
+SHA1 (patch-af) = 4f252a923a8164ee7523a338f1d1b5d87006ea72
 SHA1 (patch-ag) = 14469c8907ea09395031594e7e0d0fe967b915d9
 SHA1 (patch-ah) = 669ce7d4d2d9d15f423b94a996c0aa92b8a0d455
 SHA1 (patch-ai) = e75ca87ba6bad1eab37cfbc99753d368fb95565d
diff -r ff1ad97f0ae8 -r a08a44414c2e editors/emacs20/patches/patch-af
--- a/editors/emacs20/patches/patch-af  Sat Nov 26 04:22:40 2016 +0000
+++ b/editors/emacs20/patches/patch-af  Sat Nov 26 06:38:06 2016 +0000
@@ -1,8 +1,8 @@
-$NetBSD: patch-af,v 1.2 2003/04/11 04:00:18 uebayasi Exp $
+$NetBSD: patch-af,v 1.3 2016/11/26 06:38:06 dholland Exp $
 
---- src/Makefile.in.orig       Thu Mar 27 12:43:25 2003
+--- src/Makefile.in.orig       2016-11-26 06:25:26.875919180 +0000
 +++ src/Makefile.in
-@@ -329,7 +329,7 @@
+@@ -329,7 +329,7 @@ LIBXMENU=
  #ifdef USE_X_TOOLKIT
  #define @X_TOOLKIT_TYPE@
  #if defined (LUCID) || defined (ATHENA)
@@ -11,7 +11,7 @@
  #endif
  #ifdef MOTIF
  #if defined (HAVE_MOTIF_2_1) && defined (HAVE_LIBXP)
-@@ -402,7 +402,7 @@
+@@ -402,7 +402,7 @@ LIBX= $(LIBXMENU) LD_SWITCH_X_SITE -lX10
     ask GCC explicitly where to find libgcc.a.  */
  
  #ifndef LINKER
@@ -20,7 +20,7 @@
  #endif
  
  #ifndef LIB_GCC
-@@ -804,14 +804,7 @@
+@@ -804,14 +804,7 @@ LIBES = $(LOADLIBES) $(LDLIBS) $(LIBX) L
  #define OBJECTS_MACHINE
  #endif
  
@@ -36,3 +36,19 @@
  
  emacs: temacs ${etc}DOC ${lisp}
  #ifdef CANNOT_DUMP
+@@ -823,6 +816,7 @@ emacs: temacs ${etc}DOC ${lisp}
+ #else /* ! defined (HAVE_SHM) */
+       ./temacs -batch -l loadup dump
+ #endif /* ! defined (HAVE_SHM) */
++      /usr/sbin/paxctl +a emacs || true
+ #endif /* ! defined (CANNOT_DUMP) */
+       -./emacs -q -batch -f list-load-path-shadows
+ 
+@@ -851,6 +845,7 @@ temacs: MAKE_PARALLEL $(LOCALCPP) $(STAR
+       $(LD) YMF_PASS_LDFLAGS (${STARTFLAGS} ${ALL_LDFLAGS}) \
+     -o temacs ${STARTFILES} ${obj} ${otherobj}  \
+     OBJECTS_SYSTEM OBJECTS_MACHINE ${LIBES}
++      /usr/sbin/paxctl +a temacs || true
+ 
+ /* We don't use ALL_LDFLAGS because LD_SWITCH_SYSTEM and LD_SWITCH_MACHINE
+    often contain options that have to do with using Emacs's crt0,



Home | Main Index | Thread Index | Old Index