[edk2] [PATCH 0/3] BaseTools: let the C-language build utils compile with gcc-8

Laszlo Ersek posted 3 patches 6 years, 1 month ago
Failed in applying to current master (apply log)
BaseTools/Source/C/Makefiles/header.makefile | 4 ++--
BaseTools/Source/C/GenVtf/GenVtf.c           | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
[edk2] [PATCH 0/3] BaseTools: let the C-language build utils compile with gcc-8
Posted by Laszlo Ersek 6 years, 1 month ago
Repo:   https://github.com/lersek/edk2.git
Branch: basetools_gcc8

Once these patches are applied to the build flags and the source code of
the build utilities themselves, OVMF builds fine with gcc-8, using the
GCC5 toolchain settings without any changes.

Regression-tested with gcc-4.8 / x86_64.

Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Cole Robinson <crobinso@redhat.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>

Thanks
Laszlo

Laszlo Ersek (3):
  BaseTools/header.makefile: add "-Wno-stringop-truncation"
  BaseTools/header.makefile: add "-Wno-restrict"
  BaseTools/GenVtf: silence false "stringop-overflow" warning with
    memcpy()

 BaseTools/Source/C/Makefiles/header.makefile | 4 ++--
 BaseTools/Source/C/GenVtf/GenVtf.c           | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

-- 
2.14.1.3.gb7cf6e02401b

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH 0/3] BaseTools: let the C-language build utils compile with gcc-8
Posted by Gao, Liming 6 years, 1 month ago
Reviewed-by: Liming Gao <liming.gao@intel.com>

>-----Original Message-----
>From: Laszlo Ersek [mailto:lersek@redhat.com]
>Sent: Saturday, March 03, 2018 2:09 AM
>To: edk2-devel-01 <edk2-devel@lists.01.org>
>Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>; Cole Robinson
><crobinso@redhat.com>; Gao, Liming <liming.gao@intel.com>; Paolo Bonzini
><pbonzini@redhat.com>; Zhu, Yonghong <yonghong.zhu@intel.com>
>Subject: [PATCH 0/3] BaseTools: let the C-language build utils compile with
>gcc-8
>
>Repo:   https://github.com/lersek/edk2.git
>Branch: basetools_gcc8
>
>Once these patches are applied to the build flags and the source code of
>the build utilities themselves, OVMF builds fine with gcc-8, using the
>GCC5 toolchain settings without any changes.
>
>Regression-tested with gcc-4.8 / x86_64.
>
>Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
>Cc: Cole Robinson <crobinso@redhat.com>
>Cc: Liming Gao <liming.gao@intel.com>
>Cc: Paolo Bonzini <pbonzini@redhat.com>
>Cc: Yonghong Zhu <yonghong.zhu@intel.com>
>
>Thanks
>Laszlo
>
>Laszlo Ersek (3):
>  BaseTools/header.makefile: add "-Wno-stringop-truncation"
>  BaseTools/header.makefile: add "-Wno-restrict"
>  BaseTools/GenVtf: silence false "stringop-overflow" warning with
>    memcpy()
>
> BaseTools/Source/C/Makefiles/header.makefile | 4 ++--
> BaseTools/Source/C/GenVtf/GenVtf.c           | 4 ++--
> 2 files changed, 4 insertions(+), 4 deletions(-)
>
>--
>2.14.1.3.gb7cf6e02401b

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH 0/3] BaseTools: let the C-language build utils compile with gcc-8
Posted by Laszlo Ersek 6 years, 1 month ago
On 03/05/18 15:13, Gao, Liming wrote:
> Reviewed-by: Liming Gao <liming.gao@intel.com>

Thank you, Liming; I pushed the series as commit range
20203d3f98d6..9de306701312.

Laszlo

>> -----Original Message-----
>> From: Laszlo Ersek [mailto:lersek@redhat.com]
>> Sent: Saturday, March 03, 2018 2:09 AM
>> To: edk2-devel-01 <edk2-devel@lists.01.org>
>> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>; Cole Robinson
>> <crobinso@redhat.com>; Gao, Liming <liming.gao@intel.com>; Paolo Bonzini
>> <pbonzini@redhat.com>; Zhu, Yonghong <yonghong.zhu@intel.com>
>> Subject: [PATCH 0/3] BaseTools: let the C-language build utils compile with
>> gcc-8
>>
>> Repo:   https://github.com/lersek/edk2.git
>> Branch: basetools_gcc8
>>
>> Once these patches are applied to the build flags and the source code of
>> the build utilities themselves, OVMF builds fine with gcc-8, using the
>> GCC5 toolchain settings without any changes.
>>
>> Regression-tested with gcc-4.8 / x86_64.
>>
>> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
>> Cc: Cole Robinson <crobinso@redhat.com>
>> Cc: Liming Gao <liming.gao@intel.com>
>> Cc: Paolo Bonzini <pbonzini@redhat.com>
>> Cc: Yonghong Zhu <yonghong.zhu@intel.com>
>>
>> Thanks
>> Laszlo
>>
>> Laszlo Ersek (3):
>>  BaseTools/header.makefile: add "-Wno-stringop-truncation"
>>  BaseTools/header.makefile: add "-Wno-restrict"
>>  BaseTools/GenVtf: silence false "stringop-overflow" warning with
>>    memcpy()
>>
>> BaseTools/Source/C/Makefiles/header.makefile | 4 ++--
>> BaseTools/Source/C/GenVtf/GenVtf.c           | 4 ++--
>> 2 files changed, 4 insertions(+), 4 deletions(-)
>>
>> --
>> 2.14.1.3.gb7cf6e02401b
> 
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
> 

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH 0/3] BaseTools: let the C-language build utils compile with gcc-8
Posted by Gao, Liming 6 years, 1 month ago
Laszlo:
  We just find this change causes XCODE5 build failure, because XCODE compiler doesn't know these two options. So, could you provide the patch to remove the change in BUILD_CFLAGS for MAC?

ifeq ($(DARWIN),Darwin)
# assume clang or clang compatible flags on OS X
BUILD_CFLAGS =
else

Thanks
Liming
> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Gao, Liming
> Sent: Monday, March 5, 2018 10:14 PM
> To: Laszlo Ersek <lersek@redhat.com>; edk2-devel-01 <edk2-devel@lists.01.org>
> Cc: Paolo Bonzini <pbonzini@redhat.com>; Cole Robinson <crobinso@redhat.com>; Ard Biesheuvel <ard.biesheuvel@linaro.org>
> Subject: Re: [edk2] [PATCH 0/3] BaseTools: let the C-language build utils compile with gcc-8
> 
> Reviewed-by: Liming Gao <liming.gao@intel.com>
> 
> >-----Original Message-----
> >From: Laszlo Ersek [mailto:lersek@redhat.com]
> >Sent: Saturday, March 03, 2018 2:09 AM
> >To: edk2-devel-01 <edk2-devel@lists.01.org>
> >Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>; Cole Robinson
> ><crobinso@redhat.com>; Gao, Liming <liming.gao@intel.com>; Paolo Bonzini
> ><pbonzini@redhat.com>; Zhu, Yonghong <yonghong.zhu@intel.com>
> >Subject: [PATCH 0/3] BaseTools: let the C-language build utils compile with
> >gcc-8
> >
> >Repo:   https://github.com/lersek/edk2.git
> >Branch: basetools_gcc8
> >
> >Once these patches are applied to the build flags and the source code of
> >the build utilities themselves, OVMF builds fine with gcc-8, using the
> >GCC5 toolchain settings without any changes.
> >
> >Regression-tested with gcc-4.8 / x86_64.
> >
> >Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> >Cc: Cole Robinson <crobinso@redhat.com>
> >Cc: Liming Gao <liming.gao@intel.com>
> >Cc: Paolo Bonzini <pbonzini@redhat.com>
> >Cc: Yonghong Zhu <yonghong.zhu@intel.com>
> >
> >Thanks
> >Laszlo
> >
> >Laszlo Ersek (3):
> >  BaseTools/header.makefile: add "-Wno-stringop-truncation"
> >  BaseTools/header.makefile: add "-Wno-restrict"
> >  BaseTools/GenVtf: silence false "stringop-overflow" warning with
> >    memcpy()
> >
> > BaseTools/Source/C/Makefiles/header.makefile | 4 ++--
> > BaseTools/Source/C/GenVtf/GenVtf.c           | 4 ++--
> > 2 files changed, 4 insertions(+), 4 deletions(-)
> >
> >--
> >2.14.1.3.gb7cf6e02401b
> 
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH 0/3] BaseTools: let the C-language build utils compile with gcc-8
Posted by Laszlo Ersek 6 years, 1 month ago
On 03/07/18 07:43, Gao, Liming wrote:
> Laszlo:
>   We just find this change causes XCODE5 build failure, because XCODE compiler doesn't know these two options. So, could you provide the patch to remove the change in BUILD_CFLAGS for MAC?

Yep, I was a bit concerned about that.

Ultimately I assumed that
- clang would either recognize these warnings options (because it does
  recognize most -W options of gcc),
- or, similarly to gcc, clang would simply ignore -Wno-* flags that it
  does not recognize.

Neither appears to be the case, then. I'll send a patch soon.

Thanks, and sorry about the regression.
Laszlo

> ifeq ($(DARWIN),Darwin)
> # assume clang or clang compatible flags on OS X
> BUILD_CFLAGS =
> else
> 
> Thanks
> Liming
>> -----Original Message-----
>> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Gao, Liming
>> Sent: Monday, March 5, 2018 10:14 PM
>> To: Laszlo Ersek <lersek@redhat.com>; edk2-devel-01 <edk2-devel@lists.01.org>
>> Cc: Paolo Bonzini <pbonzini@redhat.com>; Cole Robinson <crobinso@redhat.com>; Ard Biesheuvel <ard.biesheuvel@linaro.org>
>> Subject: Re: [edk2] [PATCH 0/3] BaseTools: let the C-language build utils compile with gcc-8
>>
>> Reviewed-by: Liming Gao <liming.gao@intel.com>
>>
>>> -----Original Message-----
>>> From: Laszlo Ersek [mailto:lersek@redhat.com]
>>> Sent: Saturday, March 03, 2018 2:09 AM
>>> To: edk2-devel-01 <edk2-devel@lists.01.org>
>>> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>; Cole Robinson
>>> <crobinso@redhat.com>; Gao, Liming <liming.gao@intel.com>; Paolo Bonzini
>>> <pbonzini@redhat.com>; Zhu, Yonghong <yonghong.zhu@intel.com>
>>> Subject: [PATCH 0/3] BaseTools: let the C-language build utils compile with
>>> gcc-8
>>>
>>> Repo:   https://github.com/lersek/edk2.git
>>> Branch: basetools_gcc8
>>>
>>> Once these patches are applied to the build flags and the source code of
>>> the build utilities themselves, OVMF builds fine with gcc-8, using the
>>> GCC5 toolchain settings without any changes.
>>>
>>> Regression-tested with gcc-4.8 / x86_64.
>>>
>>> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
>>> Cc: Cole Robinson <crobinso@redhat.com>
>>> Cc: Liming Gao <liming.gao@intel.com>
>>> Cc: Paolo Bonzini <pbonzini@redhat.com>
>>> Cc: Yonghong Zhu <yonghong.zhu@intel.com>
>>>
>>> Thanks
>>> Laszlo
>>>
>>> Laszlo Ersek (3):
>>>  BaseTools/header.makefile: add "-Wno-stringop-truncation"
>>>  BaseTools/header.makefile: add "-Wno-restrict"
>>>  BaseTools/GenVtf: silence false "stringop-overflow" warning with
>>>    memcpy()
>>>
>>> BaseTools/Source/C/Makefiles/header.makefile | 4 ++--
>>> BaseTools/Source/C/GenVtf/GenVtf.c           | 4 ++--
>>> 2 files changed, 4 insertions(+), 4 deletions(-)
>>>
>>> --
>>> 2.14.1.3.gb7cf6e02401b
>>
>> _______________________________________________
>> edk2-devel mailing list
>> edk2-devel@lists.01.org
>> https://lists.01.org/mailman/listinfo/edk2-devel

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH 0/3] BaseTools: let the C-language build utils compile with gcc-8
Posted by Ard Biesheuvel 6 years, 1 month ago
On 7 March 2018 at 09:11, Laszlo Ersek <lersek@redhat.com> wrote:
> On 03/07/18 07:43, Gao, Liming wrote:
>> Laszlo:
>>   We just find this change causes XCODE5 build failure, because XCODE compiler doesn't know these two options. So, could you provide the patch to remove the change in BUILD_CFLAGS for MAC?
>
> Yep, I was a bit concerned about that.
>
> Ultimately I assumed that
> - clang would either recognize these warnings options (because it does
>   recognize most -W options of gcc),
> - or, similarly to gcc, clang would simply ignore -Wno-* flags that it
>   does not recognize.
>
> Neither appears to be the case, then. I'll send a patch soon.
>

What is the reason we don't pass -Wno-unknown-warning-option to XCODE ?
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH 0/3] BaseTools: let the C-language build utils compile with gcc-8
Posted by Laszlo Ersek 6 years, 1 month ago
On 03/07/18 10:12, Ard Biesheuvel wrote:
> On 7 March 2018 at 09:11, Laszlo Ersek <lersek@redhat.com> wrote:
>> On 03/07/18 07:43, Gao, Liming wrote:
>>> Laszlo:
>>>   We just find this change causes XCODE5 build failure, because XCODE compiler doesn't know these two options. So, could you provide the patch to remove the change in BUILD_CFLAGS for MAC?
>>
>> Yep, I was a bit concerned about that.
>>
>> Ultimately I assumed that
>> - clang would either recognize these warnings options (because it does
>>   recognize most -W options of gcc),
>> - or, similarly to gcc, clang would simply ignore -Wno-* flags that it
>>   does not recognize.
>>
>> Neither appears to be the case, then. I'll send a patch soon.
>>
> 
> What is the reason we don't pass -Wno-unknown-warning-option to XCODE ?

My personal reason is that I simply didn't think of
"-Wno-unknown-warning-option", for either XCODE or GCC. I just added the
two new -Wno-xxx options to the GCC command line, tested them with
gcc-4.8 (which knows neither of those options), and gcc-4.8 didn't
complain, without needing any further massaging from my side. I assumed
"ignore unknown -Wno-xxx options" was the default (vaguely recalling
something like this from an earlier patch of yours -- apparently
incorrectly?), and that the same would apply to XCODE too.

Thanks
Laszlo
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel