freebsd-dev/libexec
Konstantin Belousov 4352999e0e Pass CPUID[1] %edx (cpu_feature), %ecx (cpu_feature2) and
CPUID[7].%ebx (cpu_stdext_feature), %ecx (cpu_stdext_feature2) to the
ifunc resolvers on x86.

It is much more clean to use CPUID instruction in usermode to retrieve
this information than to pass AT_HWCAP aux vector from kernel, on
x86.  Still, the change does allow for use of AT_HWCAP on arches where it is
needed, by passing aux array to ifunc_init() initializer which should
prepare arguments for ifunc resolvers.

Current signature for resolvers on x86 is
	func_t iresolve(uint32_t cpu_feature, uint32_t cpu_feature2,
	    uint32_t cpu_stdext_feature, uint32_t cpu_stdext_feature2);
where arguments have identical meaning as the kernel variables of the
same name.  The ABIs allow to use resolvers with the void or shortened
list of arguments.

Reviewed by:	jhb
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D8448
2016-11-15 09:43:26 +00:00
..
atf Use SRCTOP instead of the longhand version for defining the path to contrib/atf 2016-09-20 16:24:22 +00:00
atrun Add missing files to 'at' and 'rcmds' packages. 2016-02-05 03:20:27 +00:00
blacklistd-helper DIRDEPS_BUILD: Connect new directories and update dependencies. 2016-06-03 19:25:30 +00:00
bootpd Restore some comments in previous commit. 2016-04-12 18:24:02 +00:00
comsat Add META_MODE support. 2015-06-13 19:20:56 +00:00
dma Import Dragonfly Mail Agent snapshort from 20160806 aka v0.11+ 2016-08-20 16:36:05 +00:00
fingerd DIRDEPS_BUILD: Update dependencies 2016-06-14 16:55:05 +00:00
ftpd Fix build when WITHOUT_BLACKLIST=yes is specified 2016-11-12 03:07:41 +00:00
getty Missing tab. 2016-02-27 02:11:00 +00:00
hyperv META MODE: Update dependencies with 'the-lot' and add missing directories. 2015-12-01 05:23:19 +00:00
mail.local MFH 2016-03-02 16:14:46 +00:00
makewhatis.local Fix installation of makewhatis.local(1) since r283777. 2016-02-18 00:26:21 +00:00
mknetid Add META_MODE support. 2015-06-13 19:20:56 +00:00
pppoed Add META_MODE support. 2015-06-13 19:20:56 +00:00
rbootd rbootd: use NULL instead of zero for pointers. 2016-04-18 15:05:48 +00:00
revnetgroup Add META_MODE support. 2015-06-13 19:20:56 +00:00
rlogind DIRDEPS_BUILD: Update dependencies 2016-06-14 16:55:05 +00:00
rpc.rquotad Add META_MODE support. 2015-06-13 19:20:56 +00:00
rpc.rstatd Update dependencies after r291406 added libelf to libkvm. 2015-12-01 05:18:48 +00:00
rpc.rusersd Add META_MODE support. 2015-06-13 19:20:56 +00:00
rpc.rwalld Add META_MODE support. 2015-06-13 19:20:56 +00:00
rpc.sprayd Add META_MODE support. 2015-06-13 19:20:56 +00:00
rshd DIRDEPS_BUILD: Update dependencies 2016-06-14 16:55:05 +00:00
rtld-aout More -Wmissing-variable-declarations fixes. 2012-10-19 14:49:42 +00:00
rtld-elf Pass CPUID[1] %edx (cpu_feature), %ecx (cpu_feature2) and 2016-11-15 09:43:26 +00:00
save-entropy Add META_MODE support. 2015-06-13 19:20:56 +00:00
smrsh MFH 2016-03-02 16:14:46 +00:00
talkd Don't assign 'ptr' without using it. 2015-08-30 08:38:59 +00:00
tcpd Use LIBEXECDIR for /usr/libexec. 2015-11-26 01:14:40 +00:00
telnetd Add META_MODE support. 2015-06-13 19:20:56 +00:00
tests Merge ^/user/ngie/release-pkg-fix-tests to unbreak how test files are installed 2016-05-04 23:20:53 +00:00
tftp-proxy Add META_MODE support. 2015-06-13 19:20:56 +00:00
tftpd Add META_MODE support. 2015-06-13 19:20:56 +00:00
ulog-helper Add META_MODE support. 2015-06-13 19:20:56 +00:00
ypxfr Reference the libc symbols ypresp_{allfn,data} instead of local symbols. 2016-10-16 19:12:22 +00:00
Makefile Separate BLACKLIST vs BLACKLIST_SUPPORT properly 2016-06-07 16:31:03 +00:00
Makefile.amd64 HYPERV isn't available on all architectures, but just on by default 2014-10-16 00:33:06 +00:00
Makefile.i386 HYPERV isn't available on all architectures, but just on by default 2014-10-16 00:33:06 +00:00
Makefile.inc Make WARNS=6 the default for libexec/. 2010-01-02 09:50:19 +00:00
Makefile.pc98 Add an "empty" Makefile.pc98 because it doesn't need/want HYPERV. It 2014-10-16 14:08:59 +00:00