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>