From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 92866 invoked by alias); 2 Nov 2016 12:49:36 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 92837 invoked by uid 89); 2 Nov 2016 12:49:35 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy=undefine X-HELO: mail-vk0-f50.google.com X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:references:cc:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=49VnSmjWjWeS6X+f15x6NNEyrcFZlPPZswNJnxTQTIc=; b=fBUbJ1yp2nBhvOg3GWPE+wUqmrM+Gzg3PFi0Q/+8O4lZRMFwD5lPdg/V39tVJFWwcF wVOvtObfWqkIay3amvNLEimEsMZ1svIp3Di3Q8HvLuMj/mJ3I6/mwws4MKdO+pyCGMIq qXvHmgs0oVPeNg+ZYVi6hwdOokHZQdZZtSKEcQm5gaHNSdXPfI73DNF9wKhDhMO0qVbF zlNnLjGakV5TSAM5jCnZQuG0lwypeT7YxObW43tGk77SI2UUjxRsGIsaxkThvwhTVCSL /XfUsB4LIi81kyr+VnR12p6oVxMRsEh9cBqZwY+Vp+Q2OgnELLF52bov3hsqkbQBsh/h zg5g== X-Gm-Message-State: ABUngvcvgrHmqAfdDnJKtunnnmgqUHqmlMg0xfooa5uXGcTF+OuLln16Xfx7YkPtR6M/mytQ X-Received: by 10.31.137.66 with SMTP id l63mr2089208vkd.135.1478090963294; Wed, 02 Nov 2016 05:49:23 -0700 (PDT) Subject: Re: [RFC][PATCH 1/2] sparc32: Mark sendmsg and recvmsg system calls as unsupported To: Andreas Larsson , GNU C Library References: <1478012867-6031-1-git-send-email-andreas@gaisler.com> <1478012867-6031-2-git-send-email-andreas@gaisler.com> <84cd18d8-2658-3e3c-a150-42584bfc6cdb@linaro.org> <5819CF95.7070306@gaisler.com> Cc: Carlos O'Donell , David Miller , Torvald Riegel , software@gaisler.com From: Adhemerval Zanella Message-ID: <824769ca-9024-23d9-046a-59a70feb177c@linaro.org> Date: Wed, 02 Nov 2016 12:49:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0 MIME-Version: 1.0 In-Reply-To: <5819CF95.7070306@gaisler.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit X-SW-Source: 2016-11/txt/msg00055.txt.bz2 On 02/11/2016 09:35, Andreas Larsson wrote: > 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 >>> >>> /* 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 Right, so it is advertise to userland through __SYS/__NR macros even though it is not really supported? Even though, I think a better solution would be: /* All direct socketcalls are available only with kernel 4.4. */ #if __LINUX_KERNEL_VERSION < 0x040400 # undef __ASSUME_SENDMSG_SYSCALL # undef __ASSUME_RECVMSG_SYSCALL #endif