Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 29 Sep 2018 20:01:24 +0000 (UTC)
From:      Ed Maste <emaste@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r339019 - in head: contrib/llvm/tools/clang/lib/CodeGen lib/clang
Message-ID:  <201809292001.w8TK1OrE098680@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: emaste
Date: Sat Sep 29 20:01:23 2018
New Revision: 339019
URL: https://svnweb.freebsd.org/changeset/base/339019

Log:
  clang: allow ifunc resolvers to accept arguments
  
  Previously Clang required ifunc resolution functions to take no
  arguments, presumably because GCC documented ifunc resolvers as taking
  no arguments.  However, GCC accepts resolvers accepting arguments, and
  our rtld passes CPU ID information (cpuid, hwcap, etc.) to ifunc
  resolvers.  Just remove the check from the in-tree compiler for our in-
  tree compiler; a different (per-OS) approach may be required upstream.
  
  Reported by:	mjg
  Approved by:	re (rgrimes)
  MFC after:	1 week
  Relnotes:	Yes
  Sponsored by:	The FreeBSD Foundation

Modified:
  head/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp
  head/lib/clang/freebsd_cc_version.h

Modified: head/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp
==============================================================================
--- head/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp	Sat Sep 29 18:36:19 2018	(r339018)
+++ head/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp	Sat Sep 29 20:01:23 2018	(r339019)
@@ -321,8 +321,6 @@ void CodeGenModule::checkAliases() {
       assert(FTy);
       if (!FTy->getReturnType()->isPointerTy())
         Diags.Report(Location, diag::err_ifunc_resolver_return);
-      if (FTy->getNumParams())
-        Diags.Report(Location, diag::err_ifunc_resolver_params);
     }
 
     llvm::Constant *Aliasee = Alias->getIndirectSymbol();

Modified: head/lib/clang/freebsd_cc_version.h
==============================================================================
--- head/lib/clang/freebsd_cc_version.h	Sat Sep 29 18:36:19 2018	(r339018)
+++ head/lib/clang/freebsd_cc_version.h	Sat Sep 29 20:01:23 2018	(r339019)
@@ -1,3 +1,3 @@
 /* $FreeBSD$ */
 
-#define	FREEBSD_CC_VERSION		1200015
+#define	FREEBSD_CC_VERSION		1200016



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201809292001.w8TK1OrE098680>