[Bug 1489560] Re: qemu-efi: hangs in kvm mode when built w/ gcc-5
dann frazier
dann.frazier at canonical.com
Wed Sep 2 16:19:00 UTC 2015
On Tue, Sep 1, 2015 at 1:56 AM, Thomas Preud'homme
<thomas.preudhomme at arm.com> wrote:
> grep -E '[cC]{2}[ "].*' ../edk2.log | grep -Ev " (-E|(-x assembler
> (-with-cpp)?)) " | grep -v -- "-fdump-tree-bswap" shows that all
> invocation of cc or gcc for compiling had a -fdump-tree-bswap in it.
> This confuses me because the only "found at" I could find in the bswap
> dumps are for:
>
> ./Build/Shell/RELEASE_ARMGCC/AARCH64/MdePkg/Library/BaseLib/BaseLib/OUTPUT/SwapBytes16.c.090t.bswap:16 bit bswap implementation found at: _7 = _4 | _6;
> ./Build/ArmVirtualizationQemu-AARCH64/RELEASE_ARMGCC/AARCH64/MdePkg/Library/BaseLib/BaseLib/OUTPUT/SwapBytes16.c.090t.bswap:16 bit bswap implementation found at: _7 = _4 | _6;
> ./Build/Fat/RELEASE_ARMGCC/AARCH64/MdePkg/Library/BaseLib/BaseLib/OUTPUT/SwapBytes16.c.090t.bswap:16 bit bswap implementation found at: _7 = _4 | _6;
>
> All these conversion are fine and should have triggered with GCC 4.9 as
> well.
>
> Can you add -fdump-tree-bswap to CFLAGS in:
> BaseTools/Conf/tools_def.template
> BaseTools/Source/C/VfrCompile/Pccts/antlr/makefile
> BaseTools/Source/C/VfrCompile/Pccts/antlr/makefile.cygwin
> BaseTools/Source/C/VfrCompile/Pccts/dlg/makefile
> BaseTools/Source/C/VfrCompile/Pccts/dlg/makefile.cygwin
> BaseTools/Source/C/Makefiles/header.makefile
>
> and tell me the result of:
> find -name \*.bswap -exec grep -H "found at" {} \;
> ?
dannf at mustang:~/edk2-0~20150106.5c2d456b$ gcc --version
gcc (Ubuntu 5.2.1-15ubuntu2) 4.10.0 20140523 (experimental)
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
dannf at mustang:~/edk2-0~20150106.5c2d456b$ find -name \*.bswap -exec
grep -H "found at" {} \;
./Build/ArmVirtualizationQemu-AARCH64/RELEASE_GCC49/AARCH64/MdePkg/Library/BaseLib/BaseLib/OUTPUT/SwapBytes16.c.091t.bswap:16
bit bswap implementation found at: _7 = _4 | _6;
./Build/Shell/RELEASE_GCC49/AARCH64/MdePkg/Library/BaseLib/BaseLib/OUTPUT/SwapBytes16.c.091t.bswap:16
bit bswap implementation found at: _7 = _4 | _6;
./Build/Fat/RELEASE_GCC49/AARCH64/MdePkg/Library/BaseLib/BaseLib/OUTPUT/SwapBytes16.c.091t.bswap:16
bit bswap implementation found at: _7 = _4 | _6;
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to gcc-5 in Ubuntu.
https://bugs.launchpad.net/bugs/1489560
Title:
qemu-efi: hangs in kvm mode when built w/ gcc-5
Status in edk2 package in Ubuntu:
New
Status in gcc-5 package in Ubuntu:
New
Bug description:
When I rebuild edk2_0~20150106.5c2d456b-1build1 in wily or sid, KVM-
accelerated arm64 VMs hang before displaying any console output. I
bisected this down to a change in gcc (see below).
Note that this does not impact fully emulated instances. That is, if I
drop '-enable-kvm' and change '-cpu host' to '-cpu cortex-a57', it
boots fine.
Here's the gcc changeset that introduced the issue:
From 470d5bb5a2aba04db8d9d9dce0c5a3d5efe85882 Mon Sep 17 00:00:00 2001
From: thopre01 <thopre01 at 138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Fri, 23 May 2014 03:33:28 +0000
Subject: [PATCH] 2014-05-23 Thomas Preud'homme <thomas.preudhomme at arm.com>
PR tree-optimization/54733
gcc/
* tree-ssa-math-opts.c (nop_stats): New "bswap_stats" structure.
(CMPNOP): Define.
(find_bswap_or_nop_load): New.
(find_bswap_1): Renamed to ...
(find_bswap_or_nop_1): This. Also add support for memory source.
(find_bswap): Renamed to ...
(find_bswap_or_nop): This. Also add support for memory source and
detection of bitwise operations equivalent to load in host endianness.
(execute_optimize_bswap): Likewise. Also move its leading comment back
in place and split statement transformation into ...
(bswap_replace): This.
gcc/testsuite
* gcc.dg/optimize-bswapdi-3.c: New test to check extension of bswap
optimization to support memory sources and bitwise operations
equivalent to load in host endianness.
* gcc.dg/optimize-bswaphi-1.c: Likewise.
* gcc.dg/optimize-bswapsi-2.c: Likewise.
* gcc.c-torture/execute/bswap-2.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210843 138bc75d-0d04-0410-961f-82ee72b054a4
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/edk2/+bug/1489560/+subscriptions
More information about the foundations-bugs
mailing list