Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 11 Jun 2021 22:28:46 +0000
From:      bugzilla-noreply@freebsd.org
To:        gecko@FreeBSD.org
Subject:   [Bug 239873] www/firefox and mail/thunderbird don't like the new ASLR "stackgap" feature
Message-ID:  <bug-239873-21738-iRBK5zs1eB@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-239873-21738@https.bugs.freebsd.org/bugzilla/>
References:  <bug-239873-21738@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D239873

--- Comment #14 from sigsys@gmail.com ---
Well, here's the patch updated to use the new feature names with the "no"
prefix. Not using the new elfctl -i flag (which would have been perfect for
this) because older 12.X might have an elfctl that doesn't support it yet.

And I tested it again to confirm that firefox/thunderbird still don't work =
with
the stackgap (same error as before) and that when built and installed with =
this
change they do work.

This seems very unlikely to cause any problems to me.  This is the first us=
e of
elfctl in the ports but not the first use of ELF tampering (brandelf is used
for example).


diff --git a/Mk/bsd.commands.mk b/Mk/bsd.commands.mk
index 620c62eb1533..221a04e4b8f2 100644
--- a/Mk/bsd.commands.mk
+++ b/Mk/bsd.commands.mk
@@ -34,6 +34,7 @@ DIALOG4PORTS?=3D                ${LOCALBASE}/bin/dialog4p=
orts
 DIFF?=3D                 /usr/bin/diff
 DIRNAME?=3D              /usr/bin/dirname
 EGREP?=3D                        /usr/bin/egrep
+ELFCTL?=3D               /usr/bin/elfctl
 EXPR?=3D                 /bin/expr
 FALSE?=3D                        false   # Shell builtin
 FILE?=3D                 /usr/bin/file
diff --git a/Mk/bsd.gecko.mk b/Mk/bsd.gecko.mk
index 3a48e802ea40..81ed6b7fc6dd 100644
--- a/Mk/bsd.gecko.mk
+++ b/Mk/bsd.gecko.mk
@@ -111,6 +111,7 @@ PLISTF?=3D    ${WRKDIR}/plist_files

 MOZCONFIG?=3D            ${WRKSRC}/.mozconfig
 MOZILLA_PLIST_DIRS?=3D   bin lib share/pixmaps share/applications
+MOZILLA_ELFCTLFIX_BINS?=3D       lib/${MOZILLA}/${MOZILLA}
lib/${MOZILLA}/${MOZILLA_BIN}

 # Adjust -C target-cpu if -march/-mcpu is set by bsd.cpu.mk
 .if ${ARCH} =3D=3D amd64 || ${ARCH} =3D=3D i386
@@ -385,7 +386,14 @@ pre-configure-script:
        @${SETENV} CC=3D"${CC}" OPSYS=3D"${OPSYS}" OSVERSION=3D"${OSVERSION=
}"
WRKDIR=3D"${WRKDIR}" \
                ${SH} ${SCRIPTSDIR}/rust-compat11-canary.sh

-post-install-script: gecko-create-plist
+post-install-script: gecko-elfctlfix gecko-create-plist
+
+gecko-elfctlfix:
+# Avoids "too much recursion" errors when the ASLR "stackgap" is globally
enabled.
+.for bin in ${MOZILLA_ELFCTLFIX_BINS}
+       @if test -x ${ELFCTL} && ${ELFCTL} -l | ${GREP} -q noaslrstkgap; th=
en \
+               ${ELFCTL} -e +noaslrstkgap ${STAGEDIR}${PREFIX}/${bin}; fi
+.endfor

 gecko-create-plist:
 # Create the plist

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-239873-21738-iRBK5zs1eB>