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)
openSUSE Build Service is sponsored by