aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Brown <mcb30@ipxe.org>2023-01-23 12:30:41 +0000
committerMichael Brown <mcb30@ipxe.org>2023-01-23 12:30:41 +0000
commit6369ed3dfb9ff805c3c81c3386ef303e9b025a0f (patch)
treeef6cc057eefff034910dde0656c6b04ca3420716
parentc5e1f007ac33fc09943ba99b742f599a0cfca0c5 (diff)
downloadipxe-armlinux.tar.gz
[arm] Inhibit compiler warnings about an implied executable stackarmlinux
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>
-rw-r--r--src/arch/arm32/core/setjmp.S1
-rw-r--r--src/arch/arm32/libgcc/lldivmod.S1
-rw-r--r--src/arch/arm32/libgcc/llshift.S1
-rw-r--r--src/scripts/linux.lds5
4 files changed, 4 insertions, 4 deletions
diff --git a/src/arch/arm32/core/setjmp.S b/src/arch/arm32/core/setjmp.S
index 7e7b0fe58..1e9e82029 100644
--- a/src/arch/arm32/core/setjmp.S
+++ b/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/src/arch/arm32/libgcc/lldivmod.S b/src/arch/arm32/libgcc/lldivmod.S
index 910be4b78..746fa8fde 100644
--- a/src/arch/arm32/libgcc/lldivmod.S
+++ b/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/src/arch/arm32/libgcc/llshift.S b/src/arch/arm32/libgcc/llshift.S
index cc16e2615..c1b51e778 100644
--- a/src/arch/arm32/libgcc/llshift.S
+++ b/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/src/scripts/linux.lds b/src/scripts/linux.lds
index afc0128f8..53e884ec5 100644
--- a/src/scripts/linux.lds
+++ b/src/scripts/linux.lds
@@ -81,16 +81,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)