It doesn't appear this patch is neccessary to build on fedora rawhide anymore, qemu 9.0.0-rc2 is building fine there
Thanks, Cole On 2/1/24 2:36 PM, 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. > > This adds linker options to suppress the errors, if ld supports > the new options. > > Signed-off-by: Cole Robinson <crobi...@redhat.com> > --- > v2: > - Check if ld supports the options, they are fairly new. > Uses the same `ld -v $CHECKOPT` pattern as kernel.git uses > Stuffs the overrides in `config-ld.mak` similar to `config-cc.mak` > pattern > > pc-bios/optionrom/Makefile | 12 +++++++++++- > 1 file changed, 11 insertions(+), 1 deletion(-) > > diff --git a/pc-bios/optionrom/Makefile b/pc-bios/optionrom/Makefile > index 30d07026c7..87cfc484c7 100644 > --- a/pc-bios/optionrom/Makefile > +++ b/pc-bios/optionrom/Makefile > @@ -38,6 +38,16 @@ config-cc.mak: Makefile > > override LDFLAGS = -nostdlib -Wl,--build-id=none,-T,$(SRC_DIR)/flat.lds > > +ld-test = $(LD) -v $1 >/dev/null 2>/dev/null > +ld-option = if $(call ld-test, $1); then \ > + echo "$(TARGET_PREFIX)$1 detected" && echo "override LDFLAGS += -Wl,$1" > >&3; else \ > + echo "$(TARGET_PREFIX)$1 not detected" $(if $2,&& echo "override LDFLAGS > += $2" >&3); fi > + > +config-ld.mak: Makefile > + $(quiet-@)($(call ld-option,--no-warn-rwx-segments); \ > + $(call ld-option,--no-warn-execstack)) 3> config-ld.mak > +-include config-ld.mak > + > pvh.img: pvh.o pvh_main.o > > %.o: %.S > @@ -61,7 +71,7 @@ clean: > rm -f *.o *.d *.raw *.img *.bin *~ > > distclean: > - rm -f config-cc.mak > + rm -f config-cc.mak config-ld.mak > > # suppress auto-removal of intermediate files > .SECONDARY: - Cole