[RFC][PATCH 1/2] sparc32: Mark sendmsg and recvmsg system calls as unsupported

Andreas Larsson andreas@gaisler.com
Wed Nov 2 11:38:00 GMT 2016


On 2016-11-01 18:28, Adhemerval Zanella wrote:
>
>
> On 01/11/2016 13:07, Andreas Larsson wrote:
>> This fixes a bug introduced by abf29edd4a3918 that missed fixing up
>> sparc32 in the change.
>>
>> 	* sysdeps/unix/sysv/linux/sparc/kernel-features.h: Undefine
>> 	__ASSUME_SENDMSG_SYSCALL and __ASSUME_RECVMSG_SYSCALL for 32-bit
>> 	sparcv8
>> ---
>>   sysdeps/unix/sysv/linux/sparc/kernel-features.h |    4 +++-
>>   1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/sysdeps/unix/sysv/linux/sparc/kernel-features.h b/sysdeps/unix/sysv/linux/sparc/kernel-features.h
>> index 69c9c7c..db3f5cd 100644
>> --- a/sysdeps/unix/sysv/linux/sparc/kernel-features.h
>> +++ b/sysdeps/unix/sysv/linux/sparc/kernel-features.h
>> @@ -32,8 +32,10 @@
>>   #include_next <kernel-features.h>
>>
>>   /* 32-bit SPARC kernels do not support
>> -   futex_atomic_cmpxchg_inatomic.  */
>> +   futex_atomic_cmpxchg_inatomic or sendmsg/recvmsg.  */
>>   #if !defined __arch64__ && !defined __sparc_v9__
>>   # undef __ASSUME_REQUEUE_PI
>>   # undef __ASSUME_SET_ROBUST_LIST
>> +# undef __ASSUME_SENDMSG_SYSCALL
>> +# undef __ASSUME_RECVMSG_SYSCALL
>>   #endif
>>
>
> At least the kernel headers for Linux 3.2 on sparc defined both __NR_recvmsg
> and __NR_sendmsg.  Also, checking 'arch/sparc/kernel/sys32.S' on 3.2 does
> seems that sparc32 have both recvmsg and sendmsg wire-up.  Am I missing
> something here?

[resent to correct topic - I should apparently stay away from my mail 
client today]

Linux kernel commit 8b30ca73b7cc7f2177cfc4e8274d2ebdba328cd5 added
sys_sendmsg and sys_recvmsg to the sys_call_table in
arch/sparc/kernel/systbls_32.S. So sparc32 kernels prior to Linux 4.4 do
not support them as straight up system calls.

Best regards,
Andreas Larsson



More information about the Libc-alpha mailing list