Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1307439

Summary: edk2: FTBFS in rawhide
Product: [Fedora] Fedora Reporter: Fedora Release Engineering <releng>
Component: edk2Assignee: Paolo Bonzini <pbonzini>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: crobinso, lersek, pbonzini, virt-maint
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-02-15 18:08:40 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1305208    
Attachments:
Description Flags
build.log
none
root.log
none
state.log
none
BaseTools: LzmaCompress: eliminate _maxMode and bogus indentation none

Description Fedora Release Engineering 2016-02-13 21:15:01 UTC
Your package edk2 failed to build from source in current rawhide.

http://koji.fedoraproject.org/koji/taskinfo?taskID=12813578

For details on mass rebuild see https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

Comment 1 Fedora Release Engineering 2016-02-13 21:15:06 UTC
Created attachment 1124387 [details]
build.log

Comment 2 Fedora Release Engineering 2016-02-13 21:15:09 UTC
Created attachment 1124388 [details]
root.log

Comment 3 Fedora Release Engineering 2016-02-13 21:15:11 UTC
Created attachment 1124389 [details]
state.log

Comment 4 Cole Robinson 2016-02-14 02:36:33 UTC
The error is:

Sdk/C/LzmaEnc.c: In function 'GetOptimum':
Sdk/C/LzmaEnc.c:1376:9: error: statement is indented as if it were guarded by... [-Werror=misleading-indentation]
         {
         ^
Sdk/C/LzmaEnc.c:1372:7: note: ...this 'if' clause, but it is not
       if (repIndex == 0)
       ^~
cc1: all warnings being treated as errors



Laszlo, do you know if that particular warning is fixed upstream?
If so, suggestion for a particular git commit to rebase Fedora too? Probably doesn't matter much since we are just shipping the tools, but figured I'd ask

Comment 5 Laszlo Ersek 2016-02-14 07:29:53 UTC
Hi Cole,

I think this is a new warning class that is only detected / emitted by gcc-6. Is that right?

The current upstream edk2 source has the same wart, but it's never been reported, because the latest gcc version upstream edk2 supports is gcc-4.9. (OVMF happens to build with gcc-5.* too, using the gcc-4.9 settings.)

So, I can try to write a patch for this (both upstream & Fedora), which might make this exact warning go away, but there's no telling in advance what else will break -- other new warnings could be triggered, and even runtime issues could surface.

Earlier we saw a case when building BaseTools on ArchLinux, with a pre-6.0, but still "modern", gcc toolchain triggered preexistent undefined behavior in one of the edk2 utilities. The bug was really in the edk2 code, but it lay dormant until it was compiled with the then-newest gcc.

So porting edk2, both BaseTools and the real code, forward to a new compiler release (no matter if it's about Visual Studio, clang / xcode, or gcc), is always a dedicated upstream effort. But, as I said, we can start with a simple patch here; I'll attach it soon.

Comment 6 Laszlo Ersek 2016-02-14 07:35:13 UTC
Created attachment 1126964 [details]
BaseTools: LzmaCompress: eliminate _maxMode and bogus indentation

Can you please test if this builds, Cole? If so, I will submit it to the upstream list. Thanks.

Comment 7 Cole Robinson 2016-02-15 18:08:40 UTC
(In reply to Laszlo Ersek from comment #6)
> Created attachment 1126964 [details]
> BaseTools: LzmaCompress: eliminate _maxMode and bogus indentation
> 
> Can you please test if this builds, Cole? If so, I will submit it to the
> upstream list. Thanks.

Yup it works! Thanks a lot Laszlo!

I've built it in rawhide now, so closing