On 10/7/2018 8:12 AM, Guo Ren wrote:
https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/commit/?id=6e15fafa2006663... +# ifdef __NR_recvmmsg ^^^^^^^^^^^^^
- return (ssize_t)INLINE_SYSCALL(recvmmsg, 5, sockfd, msg, vlen, flags, tmo);
+# else ......
- return (ssize_t)__socketcall(SYS_RECVMMSG, args);
+# endif +}
You kernel define __NR_recvmmsg in unistd.h ?
Grepping through my toolchain the only occurrence of "__NR_recvmmsg" is the following.
/* #define __NR_recvmmsg (__NR_Linux + 298) */
Which appears to be commented out, in include/asm/unistd.h
include/sys/socket.h does contain some code referring to recvmmsg. I've linked both files here, the only place where such references are found.
https://files.lancethepants.com/files/unistd.h https://files.lancethepants.com/files/socket.h
This is the actual toolchain + libraries I use to natively compile apps on mipsel router with old kernel if you like to look at it. https://files.lancethepants.com/Tomatoware/v1.6/
This is a autoconf example bit that is detecting recvmmsg present.
for ac_func in asprintf daemon fchmod flock fork gettimeofday mlockall putenv recvmmsg strsignal nanosleep unsetenv vsyslog devname fdevname do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test "x$"$as_ac_var"" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
Lance