a36ed4ef19
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 |
||
---|---|---|
.. | ||
imgact_linux.c | ||
linux_copyout.c | ||
linux_dummy.c | ||
linux_genassym.c | ||
linux_locore.s | ||
linux_machdep.c | ||
linux_proto.h | ||
linux_ptrace.c | ||
linux_syscall.h | ||
linux_syscalls.c | ||
linux_sysent.c | ||
linux_systrace_args.c | ||
linux_sysvec.c | ||
linux_vdso.lds.s | ||
linux.h | ||
Makefile | ||
syscalls.conf | ||
syscalls.master |