[edk2-devel] [PATCH] BaseTools/tools_def: Disable overzealous unused variable warning on Clang

Ard Biesheuvel posted 1 patch 12 months ago
Failed in applying to current master (apply log)
BaseTools/Conf/tools_def.template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[edk2-devel] [PATCH] BaseTools/tools_def: Disable overzealous unused variable warning on Clang
Posted by Ard Biesheuvel 12 months ago
The warnings Clang emits when enabling -Wunneeded-internal-declaration
(which is part of -Wall) are generating false positives for variables
whose size gets taken but are not referenced beyond that.

This may happen legitimately in debug code, so let's disable this
warning for Clang, rather than tiptoe around it in the code base.

This fixes the RELEASE build for OVMF, which triggers this issue in the
newly added VirtioSerialDxe driver.

Cc: Rebecca Cran <rebecca@bsdio.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
Reproducer: https://godbolt.org/z/zx6qqjKrK

 BaseTools/Conf/tools_def.template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index b3c822f0bc20046d..65dde57631fb6c95 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -1858,7 +1858,7 @@ DEFINE CLANGDWARF_X64_DLINK2_FLAGS        = -Wl,--defsym=PECOFF_HEADER_SIZE=0x22
 DEFINE CLANGDWARF_IA32_TARGET             = -target i686-pc-linux-gnu

 DEFINE CLANGDWARF_X64_TARGET              = -target x86_64-pc-linux-gnu

 

-DEFINE CLANGDWARF_WARNING_OVERRIDES    = -Wno-parentheses-equality -Wno-tautological-compare -Wno-tautological-constant-out-of-range-compare -Wno-empty-body -Wno-unused-const-variable -Wno-varargs -Wno-unknown-warning-option -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-unaligned-access

+DEFINE CLANGDWARF_WARNING_OVERRIDES    = -Wno-parentheses-equality -Wno-tautological-compare -Wno-tautological-constant-out-of-range-compare -Wno-empty-body -Wno-unused-const-variable -Wno-varargs -Wno-unknown-warning-option -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-unaligned-access -Wno-unneeded-internal-declaration

 DEFINE CLANGDWARF_ALL_CC_FLAGS         = DEF(GCC48_ALL_CC_FLAGS) DEF(CLANGDWARF_WARNING_OVERRIDES) -fno-stack-protector -mms-bitfields -Wno-address -Wno-shift-negative-value -Wno-unknown-pragmas -Wno-incompatible-library-redeclaration -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -msoft-float -mno-implicit-float  -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -funsigned-char -fno-ms-extensions -Wno-null-dereference

 

 ###########################

-- 
2.39.2



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#104566): https://edk2.groups.io/g/devel/message/104566
Mute This Topic: https://groups.io/mt/98807494/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH] BaseTools/tools_def: Disable overzealous unused variable warning on Clang
Posted by Gerd Hoffmann 12 months ago
On Wed, May 10, 2023 at 04:50:08PM +0200, Ard Biesheuvel wrote:
> The warnings Clang emits when enabling -Wunneeded-internal-declaration
> (which is part of -Wall) are generating false positives for variables
> whose size gets taken but are not referenced beyond that.
> 
> This may happen legitimately in debug code, so let's disable this
> warning for Clang, rather than tiptoe around it in the code base.
> 
> This fixes the RELEASE build for OVMF, which triggers this issue in the
> newly added VirtioSerialDxe driver.
> 
> Cc: Rebecca Cran <rebecca@bsdio.com>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>

Acked-by: Gerd Hoffmann <kraxel@redhat.com>



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#104666): https://edk2.groups.io/g/devel/message/104666
Mute This Topic: https://groups.io/mt/98807494/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH] BaseTools/tools_def: Disable overzealous unused variable warning on Clang
Posted by Ard Biesheuvel 12 months ago
Liming:

I'd like to merge this one for the stable tag - any objections?


On Thu, 11 May 2023 at 06:55, Gerd Hoffmann <kraxel@redhat.com> wrote:
>
> On Wed, May 10, 2023 at 04:50:08PM +0200, Ard Biesheuvel wrote:
> > The warnings Clang emits when enabling -Wunneeded-internal-declaration
> > (which is part of -Wall) are generating false positives for variables
> > whose size gets taken but are not referenced beyond that.
> >
> > This may happen legitimately in debug code, so let's disable this
> > warning for Clang, rather than tiptoe around it in the code base.
> >
> > This fixes the RELEASE build for OVMF, which triggers this issue in the
> > newly added VirtioSerialDxe driver.
> >
> > Cc: Rebecca Cran <rebecca@bsdio.com>
> > Cc: Gerd Hoffmann <kraxel@redhat.com>
> > Cc: Liming Gao <gaoliming@byosoft.com.cn>
> > Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
>
> Acked-by: Gerd Hoffmann <kraxel@redhat.com>
>
>
>
> 
>
>


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#104767): https://edk2.groups.io/g/devel/message/104767
Mute This Topic: https://groups.io/mt/98807494/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
回复: [edk2-devel] [PATCH] BaseTools/tools_def: Disable overzealous unused variable warning on Clang
Posted by gaoliming via groups.io 11 months, 3 weeks ago
Ard:
  I am OK. 

Thanks
Liming
> -----邮件原件-----
> 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Ard
> Biesheuvel
> 发送时间: 2023年5月12日 14:40
> 收件人: devel@edk2.groups.io; kraxel@redhat.com
> 抄送: Rebecca Cran <rebecca@bsdio.com>; Liming Gao
> <gaoliming@byosoft.com.cn>
> 主题: Re: [edk2-devel] [PATCH] BaseTools/tools_def: Disable overzealous
> unused variable warning on Clang
> 
> Liming:
> 
> I'd like to merge this one for the stable tag - any objections?
> 
> 
> On Thu, 11 May 2023 at 06:55, Gerd Hoffmann <kraxel@redhat.com> wrote:
> >
> > On Wed, May 10, 2023 at 04:50:08PM +0200, Ard Biesheuvel wrote:
> > > The warnings Clang emits when enabling
> -Wunneeded-internal-declaration
> > > (which is part of -Wall) are generating false positives for variables
> > > whose size gets taken but are not referenced beyond that.
> > >
> > > This may happen legitimately in debug code, so let's disable this
> > > warning for Clang, rather than tiptoe around it in the code base.
> > >
> > > This fixes the RELEASE build for OVMF, which triggers this issue in the
> > > newly added VirtioSerialDxe driver.
> > >
> > > Cc: Rebecca Cran <rebecca@bsdio.com>
> > > Cc: Gerd Hoffmann <kraxel@redhat.com>
> > > Cc: Liming Gao <gaoliming@byosoft.com.cn>
> > > Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
> >
> > Acked-by: Gerd Hoffmann <kraxel@redhat.com>
> >
> >
> >
> >
> >
> >
> 
> 
> 
> 





-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#104826): https://edk2.groups.io/g/devel/message/104826
Mute This Topic: https://groups.io/mt/98893903/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH] BaseTools/tools_def: Disable overzealous unused variable warning on Clang
Posted by Rebecca Cran 12 months ago
Reviewed-by: Rebecca Cran <rebecca@bsdio.com>


This should go in for the edk2-stable202305 release.


-- 
Rebecca Cran


On 5/10/23 08:50, Ard Biesheuvel wrote:
> The warnings Clang emits when enabling -Wunneeded-internal-declaration
> (which is part of -Wall) are generating false positives for variables
> whose size gets taken but are not referenced beyond that.
>
> This may happen legitimately in debug code, so let's disable this
> warning for Clang, rather than tiptoe around it in the code base.
>
> This fixes the RELEASE build for OVMF, which triggers this issue in the
> newly added VirtioSerialDxe driver.
>
> Cc: Rebecca Cran <rebecca@bsdio.com>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
> ---
> Reproducer: https://godbolt.org/z/zx6qqjKrK
>
>   BaseTools/Conf/tools_def.template | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
> index b3c822f0bc20046d..65dde57631fb6c95 100755
> --- a/BaseTools/Conf/tools_def.template
> +++ b/BaseTools/Conf/tools_def.template
> @@ -1858,7 +1858,7 @@ DEFINE CLANGDWARF_X64_DLINK2_FLAGS        = -Wl,--defsym=PECOFF_HEADER_SIZE=0x22
>   DEFINE CLANGDWARF_IA32_TARGET             = -target i686-pc-linux-gnu
>
>   DEFINE CLANGDWARF_X64_TARGET              = -target x86_64-pc-linux-gnu
>
>   
>
> -DEFINE CLANGDWARF_WARNING_OVERRIDES    = -Wno-parentheses-equality -Wno-tautological-compare -Wno-tautological-constant-out-of-range-compare -Wno-empty-body -Wno-unused-const-variable -Wno-varargs -Wno-unknown-warning-option -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-unaligned-access
>
> +DEFINE CLANGDWARF_WARNING_OVERRIDES    = -Wno-parentheses-equality -Wno-tautological-compare -Wno-tautological-constant-out-of-range-compare -Wno-empty-body -Wno-unused-const-variable -Wno-varargs -Wno-unknown-warning-option -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-unaligned-access -Wno-unneeded-internal-declaration
>
>   DEFINE CLANGDWARF_ALL_CC_FLAGS         = DEF(GCC48_ALL_CC_FLAGS) DEF(CLANGDWARF_WARNING_OVERRIDES) -fno-stack-protector -mms-bitfields -Wno-address -Wno-shift-negative-value -Wno-unknown-pragmas -Wno-incompatible-library-redeclaration -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -msoft-float -mno-implicit-float  -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -funsigned-char -fno-ms-extensions -Wno-null-dereference
>
>   
>
>   ###########################
>


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#104567): https://edk2.groups.io/g/devel/message/104567
Mute This Topic: https://groups.io/mt/98807494/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-