On 08/10/17 16:54, Laszlo Ersek wrote:
> On 08/10/17 14:15, Laszlo Ersek wrote:
>> So I think it comes down to another toolchain difference between RHEL-7
>> and Fedora-26. Likely gcc -- the commit you identified is also related
>> to a C compiler. In particular:
>> - on RHEL-7, the system compiler (gcc-4.8.5) is mapped to the "GCC48"
>>   toolchain settings of edk2, which lack support for LTO (link time
>>   optimization),
>> - in the Fedora package's SPEC file, the "GCC49" toolchain settings are
>>   selected for the build in a fixed manner, which also lack support for
>>   LTO,
>> - in kraxel's SPEC file, Fedora-26's gcc-7 compiler is mapped to the
>>   "GCC5" toolchain settings, which *enable* LTO (for DEBUG).
>> The test you suggested to David elsewhere in this thread confirms that
>> the Fedora -- well, "virt-preview" -- package, built with GCC49
>> settings, works, and that Gerd's package, built with GCC5 settings,
>> breaks.
>> I'll spin up a Fedora-26 guest and build OVMF there.
> I confirm that building with gcc-7.1.1 on Fedora-26, using the GCC5
> toolchain settings and the DEBUG target (= optimizations enabled), the
> problem reproduces for me.
> Keeping everything the same except switching DEBUG to NOOPT (=
> optimizations disabled) the OVMF binary returns to working state.
> So, OVMF is being mis-built / mis-optimized by gcc-7.1, with the DEBUG
> GCC5 settings. I'll try to tweak both the code and the gcc flags.

Posted a patch (and CC'd you on it):


Testing would be appreciated. Instructions are in the linked message.

If you reply to edk2-devel, please subscribe first (and wait for the
subscription to complete), otherwise the list will drop your email. It's
bad and I've tried to change it, but so far I've failed.


vfio-users mailing list

Reply via email to