freebsd-dev/libexec
Dimitry Andric e172464728 On amd64 and i386, tell the compiler to refrain from generating SSE,
3DNow, MMX and floating point instructions in rtld-elf.

Otherwise, _rtld_bind() (and whatever it calls) could possibly clobber
function arguments that are passed in SSE/3DNow/MMX/FP registers,
usually floating point values.  This can happen, for example, when clang
generates SSE code for memset() or memcpy() calls.

One symptom of this is sshd dying early on amd64 with "PRNG not seeded",
which is ultimately caused by libcrypto.so.6 calling RAND_add() with a
double parameter.  That parameter is passed via %xmm0, which gets wiped
out by an SSE memset() in _rtld_bind().

Reviewed by:	kib, kan
2011-01-04 20:51:28 +00:00
..
atrun Make WARNS=6 the default for libexec/. 2010-01-02 09:50:19 +00:00
bootpd Catch up with kernel using time_uptime to drive ARP timeouts. 2010-12-06 09:39:36 +00:00
comsat Remove stale references to utmp(5) and its corresponding filenames. 2010-01-21 17:25:12 +00:00
fingerd Forgot to initialize the debug variable. 2010-04-01 13:16:32 +00:00
ftpd Make format string a string literal. (Discovered by clang.) 2011-01-04 00:39:56 +00:00
getty Add __unused. Ansi prototypes. 2010-12-20 08:29:54 +00:00
lukemftpd Not needed any more, vendor sources have PAM support. 2006-08-31 17:12:33 +00:00
mail.local Make WARNS=6 the default for libexec/. 2010-01-02 09:50:19 +00:00
mknetid Fix double ;; 2010-12-06 10:24:06 +00:00
pppoed Make WARNS=6 the default for libexec/. 2010-01-02 09:50:19 +00:00
rbootd Add __unused 2010-12-20 08:37:26 +00:00
revnetgroup Make WARNS=6 the default for libexec/. 2010-01-02 09:50:19 +00:00
rlogind Add __unused 2010-12-20 08:44:08 +00:00
rpc.rquotad The NFS quota-reporting RPC uses 32-bit sized fields. We approximate 2010-04-25 00:05:51 +00:00
rpc.rstatd Fixed static linkage. 2010-02-26 09:41:16 +00:00
rpc.rusersd Port all apps in libexec/ from libulog to utmpx. 2010-01-13 18:28:58 +00:00
rpc.rwalld add __unused 2010-12-19 13:05:17 +00:00
rpc.sprayd Make WARNS=6 the default for libexec/. 2010-01-02 09:50:19 +00:00
rshd Make WARNS=6 the default for libexec/. 2010-01-02 09:50:19 +00:00
rtld-aout ANSIfy ldconfig and the aout bits it still uses from rtld-aout. 2009-12-29 21:07:17 +00:00
rtld-elf On amd64 and i386, tell the compiler to refrain from generating SSE, 2011-01-04 20:51:28 +00:00
save-entropy 1. Attempt to take one bullet out of the foot-shooting gun by silently 2006-08-28 06:41:50 +00:00
smrsh Make WARNS=6 the default for libexec/. 2010-01-02 09:50:19 +00:00
talkd Remove unneeded use of struct timezone. 2010-08-08 02:45:48 +00:00
tcpd Make WARNS=6 the default for libexec/. 2010-01-02 09:50:19 +00:00
telnetd Convert telnetd(8) to use posix_openpt(2). 2008-11-13 19:05:27 +00:00
tftp-proxy Make WARNS=6 the default for libexec/. 2010-01-02 09:50:19 +00:00
tftpd Fix typos. 2010-11-09 10:59:09 +00:00
ulog-helper Fixed static linkage. 2010-02-26 09:41:16 +00:00
ypxfr Fix incorrect usage of 'assure' and 'insure'. 2010-08-28 16:32:01 +00:00
Makefile Add a new library: libulog. 2009-12-03 15:48:24 +00:00
Makefile.inc Make WARNS=6 the default for libexec/. 2010-01-02 09:50:19 +00:00