freebsd-dev/sys/amd64/linux32
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
..
linux32_dummy.c Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
linux32_genassym.c Implement vdso - virtual dynamic shared object. Through vdso Linux 2015-05-24 15:28:17 +00:00
linux32_locore.s Linuxolator whitespace cleanup 2018-02-05 17:29:12 +00:00
linux32_machdep.c Fix LINT (and static COMPAT_LINUX32) after r332122. 2018-04-08 17:10:32 +00:00
linux32_proto.h Regenerated Linuxulator syscall tables for r314782 2017-03-06 18:20:37 +00:00
linux32_support.s Rename assym.s to assym.inc 2018-03-20 17:58:51 +00:00
linux32_syscall.h Regenerated Linuxulator syscall tables for r314782 2017-03-06 18:20:37 +00:00
linux32_syscalls.c Regenerated Linuxulator syscall tables for r314782 2017-03-06 18:20:37 +00:00
linux32_sysent.c Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
linux32_systrace_args.c Regenerated Linuxulator syscall tables for r314782 2017-03-06 18:20:37 +00:00
linux32_sysvec.c Avoid two suword() calls per auxarg entry. 2018-05-24 16:25:18 +00:00
linux32_vdso.lds.s Put linux_platform into the vdso to avoid copying it onto the stack at 2015-05-24 15:30:52 +00:00
linux.h Rename linuxulator functions with linux_ prefix 2018-03-19 21:26:32 +00:00
Makefile Don't use an .OBJDIR for 'make sysent'. 2018-01-29 19:14:15 +00:00
syscalls.conf Rename remaining linux32 symbols such as linux_sysent[] and 2015-10-22 21:28:20 +00:00
syscalls.master Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00