[Bug 1940029] Re: Default of fcf-protection should only be enabled where it can work
Launchpad Bug Tracker
1940029 at bugs.launchpad.net
Thu Mar 31 23:59:50 UTC 2022
This bug was fixed in the package gcc-11 - 11.2.0-19ubuntu1
---------------
gcc-11 (11.2.0-19ubuntu1) jammy; urgency=medium
* Merge with Debian; remaining changes:
- Build from upstream sources.
gcc-11 (11.2.0-19) unstable; urgency=medium
* Update to git 20220324 from the gcc-11 branch.
- Fix PR tree-optimization/101636, PR tree-optimization/104782,
PR tree-optimization/104931, PR target/105000 (x86),
PR target/104890 (x86), PR target/104998 (x86), PR target/104923 (PPC),
PR target/87496 (PPC), PR target/104208 (PPC), PR target/104963 (x86),
PR middle-end/100775, PR middle-end/104786, PR tree-optimization/104511,
PR target/104453 (x86), PR middle-end/104402, PR debug/104337,
PR tree-optimization/103641, PR target/99708 (PPC),
PR rtl-optimization/104777, PR target/104219 (RISCV),
PR target/99708 (PPC), PR target/104253 (PPC),
PR tree-optimization/102819, PR tree-optimization/103169, PR ada/104861,
PR c++/103186, PR c++/103057, PR c++/59950, PR c++/101095, PR c++/58646,
PR c++/103337, PR c++/102740, PR c++/103299, PR c++/102538,
PR c++/101767, PR c++/104667, PR d/105004, PR fortran/99585,
PR fortran/104430, PR fortran/96983, PR fortran/104811, PR d/104659.
* Don't enable -fcf-protection with -m16. LP: #1940029.
-- Matthias Klose <doko at ubuntu.com> Thu, 24 Mar 2022 15:22:07 +0100
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to gcc-10 in Ubuntu.
https://bugs.launchpad.net/bugs/1940029
Title:
Default of fcf-protection should only be enabled where it can work
Status in gcc-10 package in Ubuntu:
Fix Released
Status in gcc-11 package in Ubuntu:
Fix Released
Status in gcc-12 package in Ubuntu:
Fix Committed
Status in qemu package in Ubuntu:
Fix Released
Bug description:
Hi,
I've happened to find this breaking a qemu build that was breaking like:
c -MMD -MP -MT linuxboot_dma.o -MF ./linuxboot_dma.d -O2 -g -march=i486 -Wall -Wstrict-prototypes -Wredundant-decls -Wundef -Wwrite-strings -Wmissing-prototypes -Wformat -Werror=format-security -Wdate-time -Wold-style-declaration -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined -Wimplicit-fallthrough=2 -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-psabi -fno-pie -ffreestanding -I/<<PKGBUILDDIR>>/pc-bios/optionrom//../../include -fno-stack-protector -m16 -Wa,-32 -c /<<PKGBUILDDIR>>/pc-bios/optionrom/linuxboot_dma.c -o linuxboot_dma.o
cc1: error: ‘-fcf-protection’ is not compatible with this target
As usual this looks complex but it can be reduced to your favorite C
hello world.
It should work if you build it with:
$ cc -Wall -Werror test.c -o test.o
But the following will fail:
$ cc -Wall -Werror -march=i486 -m16 test.c -o test.o
cc1: error: ‘-fcf-protection’ is not compatible with this target
This is some of the always crazy boot blobs that virtualization needs here and there - and I hope I can resolve it for qemu in the build. But in general while I think the fcf default (https://wiki.ubuntu.com/ToolChain/CompilerFlags#A-fcf-protection) is ok, it should not be default on arch combinations where it can never work.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gcc-10/+bug/1940029/+subscriptions
More information about the foundations-bugs
mailing list