From owner-svn-ports-all@freebsd.org  Mon Oct 19 20:32:18 2020
Return-Path: <owner-svn-ports-all@freebsd.org>
Delivered-To: svn-ports-all@mailman.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
 by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9CBCF433CC9;
 Mon, 19 Oct 2020 20:32:18 +0000 (UTC)
 (envelope-from kevans@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 "Let's Encrypt Authority X3" (verified OK))
 by mx1.freebsd.org (Postfix) with ESMTPS id 4CFT2V3KvYz47Xv;
 Mon, 19 Oct 2020 20:32:18 +0000 (UTC)
 (envelope-from kevans@FreeBSD.org)
Received: from repo.freebsd.org (repo.freebsd.org
 [IPv6:2610:1c1:1:6068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 55D4297DC;
 Mon, 19 Oct 2020 20:32:18 +0000 (UTC)
 (envelope-from kevans@FreeBSD.org)
Received: from repo.freebsd.org ([127.0.1.37])
 by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 09JKWIiZ078793;
 Mon, 19 Oct 2020 20:32:18 GMT (envelope-from kevans@FreeBSD.org)
Received: (from kevans@localhost)
 by repo.freebsd.org (8.15.2/8.15.2/Submit) id 09JKWIdD078791;
 Mon, 19 Oct 2020 20:32:18 GMT (envelope-from kevans@FreeBSD.org)
Message-Id: <202010192032.09JKWIdD078791@repo.freebsd.org>
X-Authentication-Warning: repo.freebsd.org: kevans set sender to
 kevans@FreeBSD.org using -f
From: Kyle Evans <kevans@FreeBSD.org>
Date: Mon, 19 Oct 2020 20:32:18 +0000 (UTC)
To: ports-committers@freebsd.org, svn-ports-all@freebsd.org,
 svn-ports-head@freebsd.org
Subject: svn commit: r552764 - in head/devel/llvm10: . files
X-SVN-Group: ports-head
X-SVN-Commit-Author: kevans
X-SVN-Commit-Paths: in head/devel/llvm10: . files
X-SVN-Commit-Revision: 552764
X-SVN-Commit-Repository: ports
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-ports-all@freebsd.org
X-Mailman-Version: 2.1.33
Precedence: list
List-Id: SVN commit messages for the ports tree <svn-ports-all.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-ports-all>,
 <mailto:svn-ports-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-ports-all/>
List-Post: <mailto:svn-ports-all@freebsd.org>
List-Help: <mailto:svn-ports-all-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-ports-all>,
 <mailto:svn-ports-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Oct 2020 20:32:18 -0000

Author: kevans
Date: Mon Oct 19 20:32:17 2020
New Revision: 552764
URL: https://svnweb.freebsd.org/changeset/ports/552764

Log:
  devel/llvm10: fix hand-rolled AT_EXECPATH search for older FreeBSD
  
  This was committed in base r360875 and upstream 21e5e1724, which was after
  LLVM10 branched and has not been backported.
  
  This failure would only have been noticed if AT_EXECPATH was missing, and
  qemu-user-static does not currently provide AT_EXECPATH. As such, any
  execution of llvm10 binaries under qemu-user-static immediately segfaulted.
  
  Reported by:	Daniel Tihanyi <daniel.tihanyi@tetragir.com>, jbeich
  Approved by:	brooks (maintainer)
  MFH:		2020Q4

Added:
  head/devel/llvm10/files/patch-lib_Support_Unix_Path.inc   (contents, props changed)
Modified:
  head/devel/llvm10/Makefile

Modified: head/devel/llvm10/Makefile
==============================================================================
--- head/devel/llvm10/Makefile	Mon Oct 19 19:42:40 2020	(r552763)
+++ head/devel/llvm10/Makefile	Mon Oct 19 20:32:17 2020	(r552764)
@@ -2,7 +2,7 @@
 
 PORTNAME=	llvm
 DISTVERSION=	10.0.1
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	devel lang
 MASTER_SITES=	https://github.com/llvm/llvm-project/releases/download/llvmorg-${DISTVERSION:S/rc/-rc/}/ \
 		https://${PRE_}releases.llvm.org/${LLVM_RELEASE}/${RCDIR}

Added: head/devel/llvm10/files/patch-lib_Support_Unix_Path.inc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/llvm10/files/patch-lib_Support_Unix_Path.inc	Mon Oct 19 20:32:17 2020	(r552764)
@@ -0,0 +1,19 @@
+--- lib/Support/Unix/Path.inc.orig	2020-10-19 17:56:15 UTC
++++ lib/Support/Unix/Path.inc
+@@ -208,14 +208,9 @@ std::string getMainExecutable(const char *argv0, void 
+   while (*p++ != 0)
+     ;
+   // Iterate through auxiliary vectors for AT_EXECPATH.
+-  for (;;) {
+-    switch (*(uintptr_t *)p++) {
+-    case AT_EXECPATH:
++  for (; (uintptr_t *)p != AT_NULL; p++) {
++    if (*(uintptr_t *)p++ == AT_EXECPATH);
+       return *p;
+-    case AT_NULL:
+-      break;
+-    }
+-    p++;
+   }
+ #endif
+   // Fall back to argv[0] if auxiliary vectors are not available.