Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp808363pxb; Thu, 28 Jan 2021 00:06:21 -0800 (PST) X-Google-Smtp-Source: ABdhPJxduR8ZdUd3jx3bYT+CyO1ffxgE+eQy8/Y3JUzsax6qJjlVfMPp39GOkqw80+S3RFm3CzSE X-Received: by 2002:a17:906:660b:: with SMTP id b11mr10812395ejp.458.1611821181495; Thu, 28 Jan 2021 00:06:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1611821181; cv=none; d=google.com; s=arc-20160816; b=iyONDQDvpNhvkwhK7DpEhURsR27/zpDydLzfIcc7lp8RcXrbbzCguZpoTKAz9VRRaj 52SOtp6yiRMjfFRwQARmPposUjzfJotyFG/RCiX8yvjFTDf15UhtXGqpOKSMi8oYb/Qg 1nRcBJuTxBqctRF6XPnvaCCMfpk5G/PF8Xao/7V3Fns32efajqeDe21h5DxvnVVTzpP8 G7EMYM3OFpEayLgveHpFmkRSX3oHVkorErm6Fe2wSkfKc6MCgM4XmWCNPyduGobPD4si mvZgDU2imiOPJCSIxF0jA/lyW8pPH0v03PO2SmU1nZkW5UpMjyTs6IR7dn9Z7AGIT06i Vrmw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:organization :references:cc:to:from:subject:dkim-signature; bh=gnZ/GDloV555+OnWhNxGUyFa3V1UNr+TUyX9DCKmvmo=; b=MUpqF3EeLxsn5Li/xz6njA3d+58sMEde0RatMS2sy4omii/Qt75Hv24m34alsarxES WIBHp3PoxNoiy7umtjXIsKoer0eRnBo/hoQZ6MqSWe6KvVuaVC8pLyiMLYaeWw/+tSls 0vSjXLj+EHC1GmK/vEb09xs1R4X00RLi3Yf2Skdu01MtcSxd/IyVhWpKdRdoGuZ/UOs+ 2sxduKJiABkj5WPUfh/8iRtSwO8+gYbtFPquuiGG2zFVwrb+Qk5Yh0cfGnN5BuIltt4u mPr56sSHIFrkJx83Hkue9CEhJ05JOkESkYN/dsBufafDd4cV/IMAW0F1QFH8TOHvaxQI Q+ew== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=BvV+OmW8; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id d5si2417666edq.173.2021.01.28.00.05.56; Thu, 28 Jan 2021 00:06:21 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=BvV+OmW8; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232210AbhA1IFJ (ORCPT + 99 others); Thu, 28 Jan 2021 03:05:09 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44486 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232223AbhA1IB1 (ORCPT ); Thu, 28 Jan 2021 03:01:27 -0500 Received: from mail-lf1-x130.google.com (mail-lf1-x130.google.com [IPv6:2a00:1450:4864:20::130]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5CF0CC061574; Thu, 28 Jan 2021 00:00:43 -0800 (PST) Received: by mail-lf1-x130.google.com with SMTP id e2so2760963lfj.13; Thu, 28 Jan 2021 00:00:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:from:to:cc:references:organization:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=gnZ/GDloV555+OnWhNxGUyFa3V1UNr+TUyX9DCKmvmo=; b=BvV+OmW8dWjmNJDvcrvjzcva8OWBy7a8Wldf3TYz+i6X3QYbdYVdx8XtO5leAkHTrU w3YMC/VHtwxm1x/Ic4nsp2y26eWjsO1yakRgVNAsk/+vPQ3tFI4ORflBdiqudTUbNQ15 4udiNHAeivKX5c5MMjdj7/0f+Ywbb21vVg6oz3mMUyOwECoUO5sTQ+F7gyKkdUAVhOze vsQP8Kn/mYUO89v8SJNtfvxDDv5uZaZ+sphCBYtGqh9qpfbAr39PdAciszAdWiMDq33U CM0tCQ9qP6AgV+zPptT62EH2DQH0UbsDLxpsVPp63My+wTEFFdBYjDtMPkofAyv61LZq z8DA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:from:to:cc:references:organization :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=gnZ/GDloV555+OnWhNxGUyFa3V1UNr+TUyX9DCKmvmo=; b=K4RmJ5kFOcEdWQgZ3ZDvDa4E0LzNWkgiuJ3/ko5vTbsdDWwIjmLKQwdVv00MNNidzr oC5o9ck9SgesCG4hHdZCni+UaRGtTd+rNX7xMM+4V+aXNLPBBU9eY9XmjWreVNGuP2g+ lQNZFkU9bPsQKZi6VH2hdHiFSwUu3IUTWu7hSTpMWTlr0IXCCC6W38f4joH5HWOvmbpM iIyKwJnIml0Yu13zhFw9tGHjr454WSiNYcEJL1uiledEonwXy1QYq3h9pCqZBIBT8Bcf VFym+6EF0YBsOWJondnrTLXoLc4MXbPVY0jPmx1dbnNDNI9cLDcFSkIffFfnGwr5s/AF jYlg== X-Gm-Message-State: AOAM530wMLlXv9x1XIytZshcggobDbXI966tkRV5USly/On/xpsnEssv IXwOkkLM58pMy0+S3NLrEv0VmCxqeopthA== X-Received: by 2002:ac2:4907:: with SMTP id n7mr4218547lfi.213.1611820841569; Thu, 28 Jan 2021 00:00:41 -0800 (PST) Received: from [192.168.1.100] ([178.176.79.159]) by smtp.gmail.com with ESMTPSA id b18sm1359053lfj.140.2021.01.28.00.00.40 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 28 Jan 2021 00:00:41 -0800 (PST) Subject: Re: [PATCH 02/27] x86/syscalls: fix -Wmissing-prototypes warnings from COND_SYSCALL() From: Sergei Shtylyov To: Masahiro Yamada , linux-arch@vger.kernel.org, x86@kernel.org Cc: linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org, linux-alpha@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-ia64@vger.kernel.org, linux-m68k@lists.linux-m68k.org, linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org, linux-sh@vger.kernel.org, linux-um@lists.infradead.org, linux-xtensa@linux-xtensa.org, linuxppc-dev@lists.ozlabs.org, sparclinux@vger.kernel.org References: <20210128005110.2613902-1-masahiroy@kernel.org> <20210128005110.2613902-3-masahiroy@kernel.org> Organization: Brain-dead Software Message-ID: <605cea27-bd69-5b21-f285-2d3d0f6abd23@gmail.com> Date: Thu, 28 Jan 2021 11:00:29 +0300 User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.6.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 28.01.2021 10:59, Sergei Shtylyov wrote: [...] >> Building kernel/sys_ni.c with W=1 omits tons of -Wmissing-prototypes > >    Emits? > >> warnings. >> >> $ make W=1 kernel/sys_ni.o >>    [ snip ] >>    CC      kernel/sys_ni.o >> In file included from kernel/sys_ni.c:10: >> ./arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous >> prototype for '__x64_sys_io_setup' [-Wmissing-prototypes] >>     83 |  __weak long __##abi##_##name(const struct pt_regs *__unused) \ >>        |              ^~ >> ./arch/x86/include/asm/syscall_wrapper.h:100:2: note: in expansion of macro >> '__COND_SYSCALL' >>    100 |  __COND_SYSCALL(x64, sys_##name) >>        |  ^~~~~~~~~~~~~~ >> ./arch/x86/include/asm/syscall_wrapper.h:256:2: note: in expansion of macro >> '__X64_COND_SYSCALL' >>    256 |  __X64_COND_SYSCALL(name)     \ >>        |  ^~~~~~~~~~~~~~~~~~ >> kernel/sys_ni.c:39:1: note: in expansion of macro 'COND_SYSCALL' >>     39 | COND_SYSCALL(io_setup); >>        | ^~~~~~~~~~~~ >> ./arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous >> prototype for '__ia32_sys_io_setup' [-Wmissing-prototypes] >>     83 |  __weak long __##abi##_##name(const struct pt_regs *__unused) \ >>        |              ^~ >> ./arch/x86/include/asm/syscall_wrapper.h:120:2: note: in expansion of macro >> '__COND_SYSCALL' >>    120 |  __COND_SYSCALL(ia32, sys_##name) >>        |  ^~~~~~~~~~~~~~ >> ./arch/x86/include/asm/syscall_wrapper.h:257:2: note: in expansion of macro >> '__IA32_COND_SYSCALL' >>    257 |  __IA32_COND_SYSCALL(name) >>        |  ^~~~~~~~~~~~~~~~~~~ >> kernel/sys_ni.c:39:1: note: in expansion of macro 'COND_SYSCALL' >>     39 | COND_SYSCALL(io_setup); >>        | ^~~~~~~~~~~~ >>    ... >> >> __SYS_STUB0() and __SYS_STUBx() defined a few lines above have forward >> declarations. Let's do likewise for __COND_SYSCALL() to fix the >> warnings. >> >> Signed-off-by: Masahiro Yamada >> --- >> >>   arch/x86/include/asm/syscall_wrapper.h | 1 + >>   1 file changed, 1 insertion(+) >> >> diff --git a/arch/x86/include/asm/syscall_wrapper.h >> b/arch/x86/include/asm/syscall_wrapper.h >> index a84333adeef2..80c08c7d5e72 100644 >> --- a/arch/x86/include/asm/syscall_wrapper.h >> +++ b/arch/x86/include/asm/syscall_wrapper.h >> @@ -80,6 +80,7 @@ extern long __ia32_sys_ni_syscall(const struct pt_regs >> *regs); >>       } >>   #define __COND_SYSCALL(abi, name)                    \ >> +    __weak long __##abi##_##name(const struct pt_regs *__unused);    \ >>       __weak long __##abi##_##name(const struct pt_regs *__unused)    \ > >    Aren't these two lines identical? Ah, got it! :-) [...] MBR, Sergei