aboutsummaryrefslogtreecommitdiff
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:55:44 +0000
commitfcfb70bfb2a9aae78e86a2505669068e7e511f79 (patch)
treeef6cc057eefff034910dde0656c6b04ca3420716
parentc5e1f007ac33fc09943ba99b742f599a0cfca0c5 (diff)
downloadipxe-fcfb70bfb2a9aae78e86a2505669068e7e511f79.zip
ipxe-fcfb70bfb2a9aae78e86a2505669068e7e511f79.tar.gz
ipxe-fcfb70bfb2a9aae78e86a2505669068e7e511f79.tar.bz2
[arm] Inhibit linker warnings about an implied executable stack
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 7e7b0fe..1e9e820 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 910be4b..746fa8f 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 cc16e26..c1b51e7 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 afc0128..53e884e 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)