]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
clang: allow ifunc resolvers to accept arguments
authoremaste <emaste@FreeBSD.org>
Sat, 29 Sep 2018 20:01:23 +0000 (20:01 +0000)
committeremaste <emaste@FreeBSD.org>
Sat, 29 Sep 2018 20:01:23 +0000 (20:01 +0000)
commit35c87bee26933d143572e2ec03c8467c1ee46ea9
treed8234ee78267e2188c7e81d6fc16aec555009b1f
parentf115acfdc5ca3970052f11b449fac9ee7d96ebf1
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
contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp
lib/clang/freebsd_cc_version.h