freebsd-dev/sys/i386
Brooks Davis 5f77b8a88b Avoid two suword() calls per auxarg entry.
Instead, construct an auxargs array and copy it out all at once.

Use an array of Elf_Auxinfo rather than pairs of Elf_Addr * to represent
the array. This is the correct type where pairs of words just happend
to work. To reduce the size of the diff, AUXARGS_ENTRY is altered to act
on this array rather than introducing a new macro.

Return errors on copyout() and suword() failures and handle them in the
caller.

Incidentally fixes AT_RANDOM and AT_EXECFN in 32-bit linux on amd64
which incorrectly used AUXARG_ENTRY instead of AUXARGS_ENTRY_32
(now removed due to the use of proper types).

Reviewed by:	kib
Comments from:	emaste, jhb
Obtained from:	CheriBSD
Sponsored by:	DARPA, AFRL
Differential Revision:	https://reviews.freebsd.org/D15485
2018-05-24 16:25:18 +00:00
..
acpica Rename assym.s to assym.inc 2018-03-20 17:58:51 +00:00
bios Use NULL for SYSINIT's last arg, which is a pointer type 2018-05-18 17:58:09 +00:00
cloudabi32 Use TO_PTR() to convert integers to pointers. 2017-11-26 14:45:56 +00:00
conf Enable kernel dump features in GENERIC for most platforms. 2018-05-19 19:53:23 +00:00
i386 x86: stop unconditionally clearing PSL_T on the trace trap. 2018-05-23 21:39:29 +00:00
ibcs2 Fix kernel memory disclosure in ibcs2_getdents 2018-03-21 23:26:42 +00:00
include Support IBRS for i386. 2018-05-23 16:31:46 +00:00
linux Avoid two suword() calls per auxarg entry. 2018-05-24 16:25:18 +00:00
pci Correct pseudo misspelling in sys/ comments 2018-02-23 18:15:50 +00:00
Makefile