File arm-Inhibit-linker-warnings-about-an-imp.patch of Package qemu.37352
From: Michael Brown <mcb30@ipxe.org>
Date: Mon, 23 Jan 2023 12:30:41 +0000
Subject: [arm] Inhibit linker warnings about an implied executable stack
(bsc#1219733, bsc#1219722)
Some versions of the 32-bit ARM linker seem to treat the absence of a
.note.GNU-stack section as implying an executable stack, and will
print a warning that this is deprecated behaviour.
Silence the warning by adding a .note.GNU-stack section to each
assembly file and retaining the sections in the Linux linker script.
Signed-off-by: Michael Brown <mcb30@ipxe.org>
(cherry picked from commit fcfb70bfb2a9aae78e86a2505669068e7e511f79)
References: bsc#1219733
References: bsc#1219722
Signed-off-by: Dario Faggioli <dfaggioli@suse.com>
---
src/arch/arm32/core/setjmp.S | 1 +
src/arch/arm32/libgcc/lldivmod.S | 1 +
src/arch/arm32/libgcc/llshift.S | 1 +
src/arch/i386/scripts/linux.lds | 5 +----
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/roms/ipxe/src/arch/arm32/core/setjmp.S b/roms/ipxe/src/arch/arm32/core/setjmp.S
index 7e7b0fe583190919d4d20b249a58..1e9e82029f8ed563943ff95dc103 100644
--- a/roms/ipxe/src/arch/arm32/core/setjmp.S
+++ b/roms/ipxe/src/arch/arm32/core/setjmp.S
@@ -1,5 +1,6 @@
FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL )
+ .section ".note.GNU-stack", "", %progbits
.text
.arm
diff --git a/roms/ipxe/src/arch/arm32/libgcc/lldivmod.S b/roms/ipxe/src/arch/arm32/libgcc/lldivmod.S
index 910be4b781314edda02a3c913c6c..746fa8fde18f0818bde7072af97c 100644
--- a/roms/ipxe/src/arch/arm32/libgcc/lldivmod.S
+++ b/roms/ipxe/src/arch/arm32/libgcc/lldivmod.S
@@ -1,5 +1,6 @@
FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL )
+ .section ".note.GNU-stack", "", %progbits
.text
.thumb
diff --git a/roms/ipxe/src/arch/arm32/libgcc/llshift.S b/roms/ipxe/src/arch/arm32/libgcc/llshift.S
index cc16e261537453a2b2aac563d624..c1b51e77827248ca33f707ecf0a2 100644
--- a/roms/ipxe/src/arch/arm32/libgcc/llshift.S
+++ b/roms/ipxe/src/arch/arm32/libgcc/llshift.S
@@ -1,5 +1,6 @@
FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL )
+ .section ".note.GNU-stack", "", %progbits
.text
.arm
diff --git a/roms/ipxe/src/arch/i386/scripts/linux.lds b/roms/ipxe/src/arch/i386/scripts/linux.lds
index 9f2eeaf3c55e26b4145c96afaef7..893708aae70db46b155bba4bb2df 100644
--- a/roms/ipxe/src/arch/i386/scripts/linux.lds
+++ b/roms/ipxe/src/arch/i386/scripts/linux.lds
@@ -86,16 +86,13 @@ SECTIONS {
_assert = ASSERT ( ( _weak == _eweak ), ".weak is non-zero length" );
/*
- * Dispose of the comment and note sections to make the link map
- * easier to read
+ * Dispose of unwanted sections to make the link map easier to read
*
*/
/DISCARD/ : {
*(.comment)
*(.comment.*)
- *(.note)
- *(.note.*)
*(.rel)
*(.rel.*)
*(.discard)