[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] pc-bios/optionrom: Fix pvh.img ld build failure on fedora ra
|
From: |
Cole Robinson |
|
Subject: |
Re: [PATCH] pc-bios/optionrom: Fix pvh.img ld build failure on fedora rawhide |
|
Date: |
Sun, 21 Jan 2024 17:18:31 -0500 |
|
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.1 |
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