qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Cole Robinson <crobinso@redhat.com>
To: "Gerd Hoffmann" <kraxel@redhat.com>,
	"Daniel P. Berrangé" <berrange@redhat.com>
Cc: qemu-devel@nongnu.org, Stefano Garzarella <sgarzare@redhat.com>
Subject: Re: [PATCH] pc-bios/optionrom: Fix pvh.img ld build failure on fedora rawhide
Date: Sun, 21 Jan 2024 17:18:31 -0500	[thread overview]
Message-ID: <b974967f-8bca-41b9-3ec5-05cf2f776765@redhat.com> (raw)
In-Reply-To: <pxcc3rmq7g7zriwgyv2uiovwicnzfvtvdsngmt47r746sukwxb@shbiglopqrrw>

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 <kraxel@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



      reply	other threads:[~2024-01-21 22:20 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-28 14:36 [PATCH] pc-bios/optionrom: Fix pvh.img ld build failure on fedora rawhide Cole Robinson
2024-01-03 12:44 ` Daniel P. Berrangé
2024-01-03 15:44   ` Gerd Hoffmann
2024-01-21 22:18     ` Cole Robinson [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=b974967f-8bca-41b9-3ec5-05cf2f776765@redhat.com \
    --to=crobinso@redhat.com \
    --cc=berrange@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=sgarzare@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).