freebsd-skq/sys/i386/linux
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
..
imgact_linux.c imgact_linux.c: use standard indentation 2018-03-12 23:28:25 +00:00
linux_copyout.c Fix futexes on i386 after the 4/4G split. 2018-04-24 12:50:21 +00:00
linux_dummy.c Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
linux_genassym.c
linux_locore.s Rename assym.s to assym.inc 2018-03-20 17:58:51 +00:00
linux_machdep.c Sort headers in MD Linuxulator files 2018-03-23 17:16:36 +00:00
linux_proto.h Regenerated Linuxulator syscall tables for r314782 2017-03-06 18:20:37 +00:00
linux_ptrace.c Correct proper nouns in the Linuxulator 2018-02-22 02:24:17 +00:00
linux_syscall.h Regenerated Linuxulator syscall tables for r314782 2017-03-06 18:20:37 +00:00
linux_syscalls.c Regenerated Linuxulator syscall tables for r314782 2017-03-06 18:20:37 +00:00
linux_sysent.c Regenerated Linuxulator syscall tables for r314782 2017-03-06 18:20:37 +00:00
linux_systrace_args.c Regenerated Linuxulator syscall tables for r314782 2017-03-06 18:20:37 +00:00
linux_sysvec.c Avoid two suword() calls per auxarg entry. 2018-05-24 16:25:18 +00:00
linux_vdso.lds.s
linux.h Rationalize license text on Linuxolator files 2018-03-20 02:50:11 +00:00
Makefile Don't use an .OBJDIR for 'make sysent'. 2018-01-29 19:14:15 +00:00
syscalls.conf
syscalls.master Correct pseudo misspelling in sys/ comments 2018-02-23 18:15:50 +00:00