Default of fcf-protection should only be enabled where it can work
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
gcc-10 (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
Undecided
|
Unassigned | ||
gcc-11 (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
gcc-12 (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Jammy |
Fix Released
|
Undecided
|
Unassigned | ||
qemu (Ubuntu) |
Fix Released
|
High
|
Unassigned |
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-
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:/
Related branches
- Christian Ehrhardt (community): Approve
- Canonical Server: Pending requested
-
Diff: 6906 lines (+6195/-31)19 files modifieddebian/changelog (+4528/-4)
debian/control (+87/-19)
debian/control-in (+56/-6)
debian/optionrom.mak (+1/-1)
debian/patches/series (+8/-0)
debian/patches/ubuntu/avoid-fcf-clashing-with-i486.patch (+23/-0)
debian/patches/ubuntu/define-ubuntu-machine-types.patch (+823/-0)
debian/patches/ubuntu/enable-svm-by-default.patch (+34/-0)
debian/patches/ubuntu/lp-1929926-target-s390x-Fix-translation-exception-on-illegal-in.patch (+101/-0)
debian/patches/ubuntu/lp-1932175-s390x-cpumodel-add-3931-and-3932.patch (+119/-0)
debian/patches/ubuntu/pre-bionic-256k-ipxe-efi-roms.patch (+62/-0)
debian/qemu-block-extra.postinst (+59/-0)
debian/qemu-kvm-init (+89/-0)
debian/qemu-system-common.install (+1/-0)
debian/qemu-system-common.qemu-kvm.default (+8/-0)
debian/qemu-system-common.qemu-kvm.service (+16/-0)
debian/qemu-system-x86.NEWS (+80/-0)
debian/qemu-system-x86.README.Debian (+47/-0)
debian/rules (+53/-1)
- Canonical Server: Pending requested
- Canonical Server Core Reviewers: Pending requested
-
Diff: 760 lines (+581/-5) (has conflicts)14 files modifieddebian/changelog (+109/-0)
debian/control (+11/-0)
debian/control-in (+13/-0)
debian/optionrom.mak (+1/-1)
debian/patches/pvrdma-ensure-correct-input-on-ring-init-CVE-2021-3607.patch (+40/-0)
debian/patches/pvrdma-fix-possible-mremap-overflow-in-pvrdma-device-CVE-2021-3582.patch (+43/-0)
debian/patches/pvrdma-fix-the-ring-init-error-flow-CVE-2021-3608.patch (+40/-0)
debian/patches/series (+14/-0)
debian/patches/target-ppc-fix-load-endianness-for-lxvwsx-lxvdsx.patch (+45/-0)
debian/patches/ubuntu/avoid-fcf-clashing-with-i486.patch (+23/-0)
debian/patches/ubuntu/lp-1932175-s390x-cpumodel-add-3931-and-3932.patch (+119/-0)
debian/patches/usb-limit-combined-packets-to-1-MiB-CVE-2021-3527.patch (+37/-0)
debian/patches/usb-redir-avoid-dynamic-stack-allocation-CVE-2021-3527.patch (+54/-0)
debian/rules (+32/-4)
CVE References
Changed in gcc-10 (Ubuntu): | |
status: | New → Fix Committed |
Changed in gcc-11 (Ubuntu): | |
status: | New → Fix Committed |
Changed in gcc-12 (Ubuntu): | |
status: | New → Fix Committed |
Changed in gcc-11 (Ubuntu): | |
status: | New → Fix Released |
Changed in gcc-12 (Ubuntu): | |
status: | New → Fix Released |
Changed in gcc-12 (Ubuntu Jammy): | |
status: | New → Fix Released |
tags: |
added: verification-needed verification-needed-focal verification-needed-jammy removed: verification-failed verification-failed-focal verification-failed-jammy |
Broken in PPA or sbuild builds with 11.2.0-1ubuntu3
Last working case with 11.1.0-3ubuntu1
I'm not entirely sure of all the moving pieces here, but if true it might be a late change causing some more FTFBFSes that might be worth to fix in a single place at the toolchain before impish is complete.