]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
clang: allow ifunc resolvers to accept arguments
authorEd Maste <emaste@FreeBSD.org>
Sat, 29 Sep 2018 20:01:23 +0000 (20:01 +0000)
committerEd Maste <emaste@FreeBSD.org>
Sat, 29 Sep 2018 20:01:23 +0000 (20:01 +0000)
commitea28e71e864156e6e3f1ddf5e1edf2c283535a23
treed8234ee78267e2188c7e81d6fc16aec555009b1f
parent5f11ee2075a7868e187ac353f80ccda5a4d637f0
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