From nobody Fri Jun 11 22:28:46 2021 X-Original-To: gecko@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id D3C9E5D6728 for ; Fri, 11 Jun 2021 22:28:46 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4G1wVQ5F1Hz4mWj for ; Fri, 11 Jun 2021 22:28:46 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2610:1c1:1:606c::50:1d]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8EEA52AC6F for ; Fri, 11 Jun 2021 22:28:46 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org ([127.0.1.5]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id 15BMSk0H092246 for ; Fri, 11 Jun 2021 22:28:46 GMT (envelope-from bugzilla-noreply@freebsd.org) Received: (from www@localhost) by kenobi.freebsd.org (8.15.2/8.15.2/Submit) id 15BMSkE1092244 for gecko@FreeBSD.org; Fri, 11 Jun 2021 22:28:46 GMT (envelope-from bugzilla-noreply@freebsd.org) X-Authentication-Warning: kenobi.freebsd.org: www set sender to bugzilla-noreply@freebsd.org using -f 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 Date: Fri, 11 Jun 2021 22:28:46 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Ports & Packages X-Bugzilla-Component: Individual Port(s) X-Bugzilla-Version: Latest X-Bugzilla-Keywords: needs-qa X-Bugzilla-Severity: Affects Some People X-Bugzilla-Who: sigsys@gmail.com X-Bugzilla-Status: In Progress X-Bugzilla-Resolution: X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: gecko@FreeBSD.org X-Bugzilla-Flags: maintainer-feedback? X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated List-Id: Gecko Rendering Engine issues List-Archive: https://lists.freebsd.org/archives/freebsd-gecko List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-gecko@freebsd.org MIME-Version: 1.0 X-ThisMailContainsUnwantedMimeParts: N 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.=