On 1/3/24 10:44 AM, Gerd Hoffmann wrote: > On Wed, Jan 03, 2024 at 12:44:39PM +0000, Daniel P. Berrangé wrote: >> On Tue, Nov 28, 2023 at 09:36:47AM -0500, Cole Robinson wrote: >>> binutils 2.39 shows some warnings when building pvh.img >>> >>> /usr/bin/ld: warning: pvh.o: missing .note.GNU-stack section implies >>> executable stack >>> /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a >>> future version of the linker >>> /usr/bin/ld: warning: pvh.img has a LOAD segment with RWX permissions >>> >>> The latter of which is fatal on Fedora rawhide for some reason. >>> >>> Add linker options to suppress the errors >> >> This makes it silent, but I guess someone needs to confirm that this >> option ROM code genuinely does NOT need to have executable stack, >> otherwise the future change that is being warned about could impact >> it ? > > Skimming the code it does not look like it depends on a execute-able > stack. Beside that the option rom will be loaded as raw binary by > seabios and run without paging. There is nothing which could actually > setup and enforce an NX stack ... > > Acked-by: Gerd Hoffmann <kra...@redhat.com> >
I just realized this breaks the build on centos 9 with binutils 2.35.2-42.el9 make[1]: Leaving directory '/builddir/build/BUILD/qemu-8.2.0/qemu_kvm_build/pc-bios/optionrom' make[1]: Entering directory '/builddir/build/BUILD/qemu-8.2.0/qemu_kvm_build/pc-bios/optionrom' gcc -O2 -g -march=i486 -Wall -m32 -m16 -ffreestanding -I/builddir/build/BUILD/qemu-8.2.0/include -fcf-protection=none -fno-pie -no-pie -fno-stack-protector -Wno-array-bounds -nostdlib -Wl,--build-id=none,-T,/builddir/build/BUILD/qemu-8.2.0/pc-bios/optionrom/flat.lds -Wl,--no-warn-rwx-segments -Wl,--no-warn-execstack -s -o multiboot.img multiboot.o /usr/bin/ld: unrecognized option '--no-warn-rwx-segments' /usr/bin/ld: use the --help option for usage information This article has tips about how to fix these issues in the linker scripts, so maybe that's the better approach: https://www.redhat.com/en/blog/linkers-warnings-about-executable-stacks-and-segments Thanks, Cole